<SEC-DOCUMENT>0001171843-19-001752.txt : 20190315
<SEC-HEADER>0001171843-19-001752.hdr.sgml : 20190315
<ACCEPTANCE-DATETIME>20190315092141
ACCESSION NUMBER:		0001171843-19-001752
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		116
CONFORMED PERIOD OF REPORT:	20181231
FILED AS OF DATE:		20190315
DATE AS OF CHANGE:		20190315

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			UFP TECHNOLOGIES INC
		CENTRAL INDEX KEY:			0000914156
		STANDARD INDUSTRIAL CLASSIFICATION:	PLASTICS FOAM PRODUCTS [3086]
		IRS NUMBER:				042314970
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-12648
		FILM NUMBER:		19683190

	BUSINESS ADDRESS:	
		STREET 1:		100 HALE STREET
		CITY:			NEWBURYPORT
		STATE:			MA
		ZIP:			01950
		BUSINESS PHONE:		978-352-2200

	MAIL ADDRESS:	
		STREET 1:		100 HALE STREET
		CITY:			NEWBURYPORT
		STATE:			MA
		ZIP:			01950
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>f10k_031519p.htm
<DESCRIPTION>FORM 10-K
<TEXT>
<HTML><HEAD>
     <TITLE></TITLE>
</HEAD><BODY STYLE="font: 10pt Times New Roman, Times, Serif">





<p style="margin: 0"></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">UNITED STATES</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">SECURITIES AND EXCHANGE COMMISSION</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">WASHINGTON, D.C. 20549</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b><u>FORM 10-K</u></b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr>
    <td style="vertical-align: top; width: 5%; text-align: center">&#9746;</td>
    <td style="vertical-align: top; width: 95%; text-align: center"><font style="font-size: 10pt">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE</font></td></tr>
<tr>
    <td style="vertical-align: top; text-align: center">&nbsp;</td>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt">SECURITIES EXCHANGE ACT OF 1934</font></td></tr>
<tr>
    <td style="vertical-align: top; text-align: center">&nbsp;</td>
    <td style="vertical-align: top; text-align: center">&nbsp;</td></tr>
<tr>
    <td style="vertical-align: top; text-align: center">&nbsp;</td>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt"><b><u>For the fiscal year ended December 31, 2018</u></b></font></td></tr>
<tr>
    <td style="vertical-align: top; text-align: center">&nbsp;</td>
    <td style="vertical-align: top; text-align: center">&nbsp;</td></tr>
<tr>
    <td style="vertical-align: top; text-align: center">&nbsp;</td>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt">OR</font></td></tr>
<tr>
    <td style="vertical-align: top; text-align: center">&nbsp;</td>
    <td style="vertical-align: top; text-align: center">&nbsp;</td></tr>
<tr>
    <td style="vertical-align: top; text-align: center">&#9744;</td>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE</font></td></tr>
<tr>
    <td style="vertical-align: top; text-align: center">&nbsp;</td>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt">SECURITIES EXCHANGE ACT OF 1934</font></td></tr>
</table>
<p style="font-size: 10pt; text-align: center; text-indent: -0.7in; margin: 0pt 0 0pt 0.7in">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">For the transition period from ____________ to ____________</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">Commission file number: <b>001-12648</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b><u>UFP Technologies, Inc.</u></b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">(Exact name of registrant as specified in its charter)</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr>
    <td style="vertical-align: top; width: 50%; text-align: center"><font style="font-size: 10pt"><b><u>Delaware</u></b></font></td>
    <td style="vertical-align: top; width: 50%; text-align: center"><font style="font-size: 10pt"><b><u>04-2314970</u></b></font></td></tr>
<tr>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt">(State or other jurisdiction of</font></td>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt">(I.R.S. Employer</font></td></tr>
<tr>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt">incorporation or organization)</font></td>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt">Identification No.)</font></td></tr>
<tr>
    <td style="vertical-align: top; text-align: center">&nbsp;</td>
    <td style="vertical-align: top; text-align: center">&nbsp;</td></tr>
<tr>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt"><b><u>100 Hale Street, Newburyport, MA &#8211; USA</u></b></font></td>
    <td style="vertical-align: top">
        <p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>&nbsp;</b></p>
        <p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b><u>01950-3504</u></b></p></td></tr>
<tr>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt">(Address of principal executive offices)</font></td>
    <td style="vertical-align: top; text-align: center"><font style="font-size: 10pt">(Zip Code)</font></td></tr>
</table>
<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b><u>(978) 352-2200</u></b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">(Registrant&#8217;s telephone number, including area code)</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; text-indent: 0.75in">Securities registered pursuant to Section 12(b) of the Act:</p>

<p style="font-size: 10pt; margin: 0pt 0; text-indent: 0.75in">&nbsp;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr style="vertical-align: top">
    <td style="width: 50%; text-align: center"><font style="font-size: 10pt"><u>Title of each class</u></font></td>
    <td style="width: 50%; text-align: center"><font style="font-size: 10pt"><u>Name of each exchange on which registered</u></font></td></tr>
<tr style="vertical-align: top">
    <td style="text-align: center"><font style="font-size: 10pt">Common Stock, $0.01 par value per share</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">The NASDAQ Stock Market L.L.C.</font></td></tr>
<tr style="vertical-align: top">
    <td style="text-align: center"><font style="font-size: 10pt">Preferred Share Purchase Rights</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">The NASDAQ Stock Market L.L.C.</font></td></tr>
</table>
<p style="font-size: 10pt; margin: 0pt 0; text-indent: 0.75in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; text-indent: 0.75in">Securities registered pursuant to Section 12(g) of the Act: <u>None</u></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined
in Rule 405 of the Securities Act.</p>

<p style="font-size: 10pt; margin: 0pt 0; text-align: right">Yes &#9744; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No &#9746; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Indicate by check mark if the registrant is not required to file reports pursuant to
Section 13 or Section 15(d) of the Exchange Act.</p>

<p style="font-size: 10pt; margin: 0pt 0; text-align: right">Yes &#9744; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No &#9746; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Indicate by check mark whether the registrant (1) has filed all reports required to be
filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period
that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.</p>

<p style="font-size: 10pt; margin: 0pt 0; text-align: right">Yes
&#9746; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No &#9744; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Indicate by check mark whether the registrant has submitted electronically every Interactive
Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period
that the registrant was required to submit and post such files).</p>

<p style="font-size: 10pt; margin: 0pt 0; text-align: right">Yes &#9746; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No &#9744; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 1; Options: NewSection -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0">Indicate by check mark if disclosure of delinquent filers pursuant to Item 405 of Regulation
S-K is not contained herein, and will not be contained, to the best of registrant&#8217;s knowledge, in definitive proxy or information
statements incorporated by reference in Part III of this Form 10-K or any amendment to this Form 10-K.&#9746;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated
filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large
accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth
company&#8221; in Rule 12b-2 of the Exchange Act.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="width: 50%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">Large accelerated filer &#9744;</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 49%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">Accelerated filer &#9746;</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="text-align: left"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">Non-accelerated filer &#9744;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">Smaller reporting company &#9746;</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="text-align: left"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt; text-indent: 3.5in"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">Emerging growth company &#9744;</font></td></tr>
</table>


<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">If an emerging growth company, indicate by check mark if the registrant has elected not
to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to
Section 13(a) of the Exchange Act.  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9744;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Indicate by check mark whether the registrant is a shell company (as defined in Rule
12b-2 of the Act).</p>

<p style="font-size: 10pt; margin: 0pt 0; text-align: right">Yes &#9744; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No &#9746; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The aggregate market value of the voting and non-voting common equity held by non-affiliates
of the registrant as of the last business day of the registrant&#8217;s most recently completed second fiscal quarter was approximately
$133,051,330, based on the closing sales price of $30.85 per share of such stock on the NASDAQ Capital Market on June 29, 2018.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">As of March 5, 2019, there were 7,409,047 shares of common stock, $0.01 par value per
share, of the registrant outstanding.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>DOCUMENTS INCORPORATED BY REFERENCE</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr style="vertical-align: bottom">
    <td style="width: 50%; text-align: center"><font style="font-size: 10pt"><u>Document</u></font></td>
    <td style="width: 50%; text-align: center"><font style="font-size: 10pt"><u>Parts of this Form 10-K Into Which Incorporated</u></font></td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">Portions of the registrant&#8217;s Proxy Statement for the 2018 Annual Meeting of Shareholders.</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">Part III</font></td></tr>
</table>
<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><font style="text-transform: uppercase"><b><u></u></b></font></p>

<!-- Field: Page; Sequence: 2; Options: NewSection -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><font style="text-transform: uppercase"><b><u>PART I</u></b></font></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">SPECIAL NOTE REGARDING FORWARD-LOOKING STATEMENTS</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Some of the statements contained in this Report are forward-looking statements within
the meaning of Section&nbsp;27A of the Securities Act of 1933, as amended (Securities Act), and Section&nbsp;21E of the Securities
Exchange Act of 1934, as amended (Exchange Act). These statements are subject to known and unknown risks, uncertainties, and other
factors, which may cause our or our industry&#8217;s actual results, performance, or achievements to be materially different from
any future results, performance or achievements expressed or implied by the forward-looking statements. Forward-looking statements
include, but are not limited to, statements about the Company&#8217;s prospects, anticipated trends in the different markets in
which the Company competes, including the medical, automotive, aerospace and defense, consumer, electronics and industrial markets,
statements regarding anticipated new customer and vendor contracts, statements regarding the end of the Company&#8217;s automotive
door panel program with Mercedes Benz, the closure of the Company&#8217;s Georgia plant and the resulting impact to revenues, anticipated
advantages and the timing associated with requalification of parts, anticipated advantages of maintaining fewer, larger plants,
anticipated advantages the Company expects to realize from its investments and capital expenditures, including the development
of and investments in its molded fiber product lines, expectations regarding the manufacturing capacity and efficiencies of the
Company&#8217;s new production equipment, statements about new product offerings and program launches and the expected timing thereof,
statements about the Company&#8217;s acquisition opportunities and strategies, statements about the Company&#8217;s acquisition
of Dielectrics and the integration of the Dielectrics business, the Company&#8217;s participation and growth in multiple markets,
its business opportunities, the Company&#8217;s growth potential and strategies for growth, anticipated revenues and the timing
of such revenues, and any indication that the Company may be able to sustain or increase its sales or earnings or sales and earnings
growth rates. Investors are cautioned that such forward-looking statements involve risks and uncertainties, including without limitation
risks and uncertainties associated with the Company&#8217;s acquisition and integration of Dielectrics, risks associated with plant
closures and consolidations, including the closure of our Georgia plant, and expected efficiencies from consolidating manufacturing,
risks and uncertainties associated with the requalification of parts, the risk that the Company may not be able to finalize anticipated
new customer and vendor contracts, risks associated with new product and program launches, including lengthy manufacturing qualification
processes, the ability launch on a timely basis, significant start-up and other expenses prior to launch, such as tooling and related
manufacturing processes, and manufacturing inefficiencies that may affect the ability to generate profits, risks associated with
the implementation of new production equipment and requalification or recertification of transferred equipment in a timely, cost-efficient
manner, risks that any benefits from such new equipment may be delayed or not fully realized, or that the Company may be unable
to fully utilize its expected production capacity, risks and uncertainties associated with the identification of suitable acquisition
candidates and the successful, efficient execution of acquisition transactions and integration of any such acquisition candidates,
and risks related to our indebtedness and compliance with covenants contained in our financing arrangements. Accordingly, actual
results may differ materially.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">In some cases, you can identify forward-looking statements by terms such as &#8220;may,&#8221;
&#8220;will,&#8221; &#8220;should,&#8221; &#8220;could,&#8221; &#8220;would,&#8221; &#8220;expects,&#8221; &#8220;plans,&#8221;
&#8220;anticipates,&#8221; &#8220;believes,&#8221; &#8220;estimates,&#8221; &#8220;projects,&#8221; &#8220;predicts,&#8221; &#8220;potential,&#8221;
and similar expressions intended to identify forward-looking statements. Our actual results could be different from the results
described in or anticipated by our forward-looking statements due to the inherent uncertainty of estimates, forecasts, and projections,
and may be materially better or worse than anticipated. Given these uncertainties, you should not place undue reliance on these
forward-looking statements. Forward-looking statements represent our estimates and assumptions only as of the date of this Report.
We expressly disclaim any duty to provide updates to forward-looking statements, and the estimates and assumptions associated with
them, after the date of this Report, in order to reflect changes in circumstances or expectations, or the occurrence of unanticipated
events, except to the extent required by applicable securities laws. All of the forward-looking statements are qualified in their
entirety by reference to the factors discussed above and under &#8220;Risk Factors&#8221; set forth in Part I Item 1A of this Report,
as well as the risks and uncertainties discussed elsewhere in this Report. We qualify all of our forward-looking statements by
these cautionary statements. We caution you that these risks are not exhaustive. We operate in a continually changing business
environment and new risks emerge from time to time.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 3; Options: NewSection; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0">Unless the context requires otherwise, the terms &#8220;we&#8221;, &#8220;us&#8221;,
&#8220;our&#8221;, or &#8220;the Company&#8221; refer to UFP Technologies, Inc. and its consolidated subsidiaries.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>ITEM 1. BUSINESS</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">The Company is an innovative designer and custom manufacturer of components,
subassemblies, products and packaging utilizing highly specialized foams, films, and plastics primarily for the medical market.
The Company manufactures its products by converting raw materials using laminating, molding, radio frequency and impulse welding
and fabricating manufacturing techniques. The Company is an important link in the medical device supply chain and a valued outsource
partner to many of the top medical device manufacturers in the world. The Company&#8217;s single-use and single-patient devices
and components are used in a wide range of medical devices, disposable wound care products, infection prevention, minimally invasive
surgery, wearables, orthopedic soft goods, and orthopedic implant packaging.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company is diversified by also providing highly engineered products and components
to customers in the automotive, aerospace and defense, consumer, electronics and industrial markets. Typical applications of its
products include military uniform and gear components, automotive interior trim, athletic padding, environmentally friendly protective
packaging, air filtration, abrasive nail files, and protective cases and inserts.</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company was incorporated in the State of Delaware in 1993.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The consolidated financial statements of the Company include the accounts and results
of operations of UFP Technologies, Inc. and its wholly-owned subsidiaries, Dielectrics, Inc. (&#8220;Dielectrics&#8221;), Moulded
Fibre Technology, Inc., Simco Industries, Inc., Stephenson &amp; Lawyer, Inc. and its wholly-owned subsidiary, Patterson Properties
Corporation. All significant inter-company balances and transactions have been eliminated in consolidation. The vast majority of
the Company&#8217;s assets are located within the United States. FlexShield&#174;, FirmaLite&#174;, Winepacks&#174;, BioShell&#174;,
T-Tubes&#174;, Tri-Covers&#174;, Erasables&#174;, Design Nail&#174;, Pro-Sticks&#174;, and Mambo&#174; are our U.S. registered trademarks.
Each trademark, trade name, or service mark of any other company appearing in this Report belongs to its respective holder.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Available Information </b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company&#8217;s Internet website address is http://www.ufpt.com. Through its website,
the Company makes available, free of charge, its annual report on Form 10-K, quarterly reports on Form 10-Q, current reports on
Form 8-K and any amendments to those reports, as soon as reasonably practicable after the Company electronically files such material
with, or furnishes it to, the Securities and Exchange Commission (&#8220;SEC&#8221;). These SEC reports can be accessed through
the investor relations section of the Company&#8217;s website. The information found on the Company&#8217;s website is not part
of this or any other report filed with or furnished to the SEC. You may read and copy any materials filed with the SEC at the SEC&#8217;s
Public Reference Room at 100 F Street, NE, Washington, DC 20549. You may obtain information on the operation of the Public Reference
Room by calling the SEC at 1-800-SEC-0330. The SEC also maintains an Internet website that contains reports, proxy and information
statements, and other information regarding the Company and other issuers that file electronically with the SEC. The SEC&#8217;s
Internet website address is http://www.sec.gov.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Market Overview</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">The applications for the Company&#8217;s products are numerous and diverse. The Company
sells its products into distinct markets with its primary focus on the Medical market.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-family: Symbol">&#183;</font></td><td><b>Medical </b>&#8211; The global medical market is large, growing, and varied but the Company targets specific segments where
its access to highly specialized materials combined with its design and manufacturing expertise helps customers differentiate products,
minimize the patient&#8217;s risk of infection, improve patient outcomes, and increase their client&#8217;s speed to market. The
product segments include: infection prevention, medical devices, orthopedics, wound care, surgical instruments, diagnostics, and
biopharma.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-family: Symbol">&#183;</font></td><td><b>Automotive - </b> Automotive companies are challenged with creating quieter, safer and more efficient vehicles. The Company
partners with OEMs, Tier 1 suppliers, and its own material manufacturers to develop customized solutions to solve automakers&#8217;
biggest challenges.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 4; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-family: Symbol">&#183;</font></td><td><b>Aerospace</b> &#8211; The Company primarily targets commercial aircraft manufacturers to address the need for improved safety,
better fuel economy, lower emissions, and overall passenger comfort.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-family: Symbol">&#183;</font></td><td><b>Defense</b> &#8211; As a long-time supplier to military defense contractors and law enforcement, the Company provides highly
innovative solutions to ensure soldier safety, improve comfort, and protect mission critical equipment.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-family: Symbol">&#183;</font></td><td><b>Consumer &amp; Electronics</b> &#8211; The Company manufactures protective packaging for large and fragile consumer products.
The rise of direct-to-consumer shipping as well as a need for environmentally friendly packaging has increased demand for the company&#8217;s
molded fiber products. For the sports and leisure segment, the Company is an innovator in comfort cushioning for helmets and other
protective gear.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-family: Symbol">&#183;</font></td><td><b>Industrial</b> &#8211; The applications for the Company&#8217;s industrial products are highly diverse. Examples include
air and liquid filters, tool control cases, insulation, seals, and gaskets.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Products</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company&#8217;s products are targeted at macro market trends and create specific
opportunities in niche segments where the Company&#8217;s access to specialty materials, engineering know-how, and processing expertise
can be leveraged to create value for our customers. Examples of our products targeted to specific markets include:</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 10pt"><tr style="vertical-align: top"><td style="width: 20px"></td><td style="width: 20px"><font style="font-family: Symbol">&#183;</font></td><td><b>Medical
</b>&#8211; Single patient use surfaces, advanced wound care, infection prevention, disposables for surgical procedures, endoscopic
procedures, orthopedic implants, orthopedic appliances, biopharma drug manufacturing, etc. In general, our solutions are all aimed
at improving treatment outcomes while reducing risk and cost.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>
<table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top"><td style="width: 20px"></td><td style="width: 20px"><font style="font-family: Symbol">&#183;</font></td><td><b>Automotive
</b>&#8211; Molded components designed to make cars lighter (therefore more fuel efficient), quieter, and safer. Applications
include load floors, sun shades, SUV cargo cover handles, driveshaft damping, engine &amp; manifold covers, acoustic insulation,
quarter panels and wheel liners.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>
<table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 10pt"><tr style="vertical-align: top"><td style="width: 20px"></td><td style="width: 20px"><font style="font-family: Symbol">&#183;</font></td><td><b>Aerospace
</b>&#8211; Molded composites for commercial aviation to make planes lighter and safer. The Company is focused on specialty foam
(PVDF) tubing for a leader in the industry.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>
<table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 10pt"><tr style="vertical-align: top"><td style="width: 20px"></td><td style="width: 20px"><font style="font-family: Symbol">&#183;</font></td><td><b>Defense
- </b>Molded composites for military gear to improve the safety and comfort of soldiers. Applications include backpack components,
knee and elbow pads, eyewear, and helmets.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>
<table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 10pt"><tr style="vertical-align: top"><td style="width: 20px"></td><td style="width: 20px"><font style="font-family: Symbol">&#183;</font></td><td><b>Consumer
and Electronic Packaging </b>&#8211; 100% recycled protective packaging for&nbsp;B2C brands primarily focused on electronics,
candles, wine, and other high-volume consumer products using the &#8220;next day&#8221; carrier infrastructure.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>
<table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 10pt"><tr style="vertical-align: top"><td style="width: 20px"></td><td style="width: 20px"><font style="font-family: Symbol">&#183;</font></td><td><b>Specialty
Case Solutions </b>&#8211; Reusable cases and custom inserts to quickly and safely deploy high-end, customized product solutions.
Applications include military equipment and high-value commercial electronics.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Regulatory Climate and Environmental Considerations </b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company&#8217;s medical customers typically require FDA approval for their products
and therefore sometimes require their suppliers to manufacture in facilities that are FDA approved and comply with the ISO 13485
quality standard for medical devices. The Company has seven manufacturing locations that are ISO 13485 certified and four that
are FDA approved. The Company&#8217;s automotive customers sometimes require their suppliers to certify their manufacturing locations
to the IATF 16949 automotive quality standard. The Company&#8217;s Grand Rapids, MI facility meets this requirement. The Company&#8217;s
molded fiber packaging operation manufactures environmentally friendly and sustainable products made primarily from post-consumer
newsprint and water. As a further commitment to protecting the environment, the Clinton, IA and El Paso, TX operations are certified
to ISO 14001, an international environmental standard. The packaging industry has been subject to user, industry, and legislative
pressure to develop environmentally responsible packaging alternatives that reduce, reuse, and recycle packaging materials. Government
authorities have enacted legislation relating to source reduction, specific product bans, recycled content, recyclability requirements,
and &#8220;green marketing&#8221; restrictions. In order to provide packaging that complies with all regulations regardless of
a product&#8217;s destination, manufacturers seek packaging materials that meet both environmentally-related demands and performance
specifications. Some packaging manufacturers have responded by reducing product volume and ultimate waste product disposal through
reengineering traditional packaging solutions; adopting new manufacturing processes; participating in recovery and reuse systems
for resilient materials that are inherently reusable; creating programs to recycle packaging following its useful life; and developing
materials that use a high percentage of recycled content in their manufacture. Wherever feasible, the Company aims to employ one
or more of these techniques to create environmentally-responsible packaging solutions. In addition to offering molded fiber packaging
products made from recycled paper derived primarily from post-consumer newspaper waste, the Company actively promotes its philosophy
of reducing product volume and resulting post-user product waste. The Company designs products to provide optimum performance with
minimum material. In addition, the Company bales and disposes of certain of its urethane foam scrap for use in the carpeting industry.
The Company&#8217;s Newburyport, MA facility utilizes solar power to provide approximately 13% of its electricity, with plans to
increase capacity in the future. The Company is aware of public support for environmentally-responsible packaging and products.
Future government action may impose restrictions affecting the industry in which the Company operates. There can be no assurance
that any such action will not adversely impact the Company&#8217;s products and business.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<!-- Field: Page; Sequence: 5; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"><b></b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Marketing and Sales</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company markets to the target industries it serves by promoting specific solutions,
materials, and manufacturing capabilities and services. The Company is marketed through websites, trade shows and expositions,
social media, online advertising, and press releases. Its relationships with key material suppliers are also an important part
of its marketing and sales efforts. The Company markets and sells its products in the United States principally through a direct
sales force. The Company also uses independent manufacturer representatives to sell its products. The Company&#8217;s sales people,
in conjunction with Company engineers, collaborate with customers and in-house design and manufacturing experts to develop custom-engineered
solutions on a cost-effective basis. No one customer&#8217;s sales exceeded 10% of total sales for the year ended December 31,
2018. Seasonality is not a major factor in the Company&#8217;s sales. See the Company&#8217;s consolidated financial statements
contained in Part IV, Item 15, of this Report for net sales by market information.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Working Capital</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company funds its business operations through a combination of available cash and
cash equivalents, and cash generated from operations. In addition, the Company&#8217;s revolving credit facility is available for
additional working capital needs.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Manufacturing</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company&#8217;s manufacturing operations consist primarily of cutting, routing, molding,
vacuum-forming, laminating, radio frequency and impulse welding and assembling. For medical custom-molded foam products and thermoplastic
welded devices, the Company&#8217;s skilled engineering personnel analyze specific customer requirements to design and build prototype
products to determine product functionality. Upon customer approval, prototypes are converted to final designs for commercial production
runs. Molded cross-linked foam products are produced in a thermoforming process using heat, pressure, and precision metal tooling.
Plastics and other materials are sealed using radio frequency and impulse welding. Reticulated polyurethane foam is also used for
many high-performance medical products requiring precision fluid or air management. These products are typically fabricated using
high speed die-cutting or waterjet cutting. Laminated products for medical, military, and personal comfort and protection are produced
through a process whereby the foam medium is heated to the melting point. The heated foam is then typically bonded to a non-foam
material through the application of mechanical pressure.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company also engineers components for automotive use as interior trim and structural
applications. These components are produced using a compression molding process to create highly functional composites consisting
of various materials such as polypropylene/fiberglass panels, nonwovens, and fabrics. Highly specialized polypropylene based nonwoven
material is used for automotive interior noise reduction and is fabricated using a die cut process. Foam for packaging, filtration,
acoustical, and thermal insulation products that do not utilize cross-linked foam are fabricated by cutting shapes from blocks
of foam, using specialized cutting tools, routers, water jets, and hot wire equipment, and assembling these shapes into the final
product using a variety of foam welding or gluing techniques. Products can be used on a stand-alone basis or bonded to another
foam product or other material such as a corrugated medium.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 6; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0">Molded fiber products are manufactured by vacuum-forming a pulp of recycled or virgin
paper materials onto custom-engineered molds. With the application of vacuum and air, the molded parts are pressed and transferred
to an in-line dryer, from which they exit ready for packing or subsequent value-added operations. The Company does not manufacture
any of the raw materials used in its products. With the exception of certain grades of cross-linked foam and technical polyurethane
foams, these raw materials are available from multiple supply sources. Although the Company relies upon a limited number of suppliers
for cross-linked and technical polyurethane foams, the Company&#8217;s relationships with their suppliers are good, and the Company
expects that these suppliers will be able to meet its requirements for these foams. Any delay or interruption in the supply of
raw materials could have a material adverse effect on the Company&#8217;s business.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Research and Development</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">The Company&#8217;s engineering personnel continuously explore design and manufacturing
techniques, as well as new and innovative materials to meet the unique demands and specifications of its customers. Because the
Company&#8217;s products tend to have relatively short life cycles, research and development is an integral part of the Company&#8217;s
ongoing cost structure.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Competition</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The medical contract manufacturing industry is highly competitive as is the
foam and plastics converting industry as a whole. While there are several national companies that convert foam and plastics,
the Company&#8217;s primary competition is from smaller independent regional manufacturing companies. These companies
generally market their products in specific geographic areas from neighboring facilities. In addition, the Company&#8217;s
foam and fiber packaging products compete against products made from alternative materials, including expanded polystyrene
foams, die-cut corrugated, plastic peanuts, plastic bubbles, and foam-in-place urethane. The Company&#8217;s custom
engineered products face competition primarily from smaller companies that typically concentrate on production of products
for specific industries. The Company expects to compete effectively in the engineered products market due to its ability to
address  its customers&rsquo; primary vendor selection criteria, including price, product performance,
product reliability, and customer service, as well as its access to a wide variety of materials, its engineering expertise,
its ability to combine foams with other materials such as plastics and laminates, and its ability to manufacture products in
a clean room environment.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Patents and Other Proprietary Rights </b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company relies upon trade secrets, patents, and trademarks to protect its technology
and proprietary rights. The Company believes the improvement of existing products, reliance upon trade secrets and unpatented proprietary
know-how, and the development of new products are generally as important as patent protection in establishing and maintaining a
competitive advantage. Nevertheless, the Company has obtained patents and may continue to make efforts to obtain patents, when
available, although there can be no assurance that any patent obtained will provide substantial protection or be of commercial
benefit to the Company, or that its validity will be upheld if challenged. The Company has a total of 20 active patents relating
to technologies including foam, packaging, tool control technologies, radio frequency welding, automotive superforming processes
and to certain nail file technologies. The Company also has patent applications in process. There can be no assurance that any
patent or patent application will provide significant protection for the Company&#8217;s products and technology or will not be
challenged or circumvented by others. The expiration dates for the Company&#8217;s patents range from 2021 through 2034.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Backlog </b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company&#8217;s backlog, as of February 22, 2019 and February 23, 2018, totaled approximately
$53.8 million and $46.9 million, respectively. The backlog consists of purchase orders for which a delivery schedule within the
next twelve months has been specified by customers. Orders included in the backlog may generally be canceled or rescheduled by
customers without significant penalty. The backlog as of any particular date should not be relied upon as indicative of the Company&#8217;s
revenues for any period as it includes customer blanket purchase orders that are non-binding.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<!-- Field: Page; Sequence: 7; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"><b></b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Employees </b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">As of January 26, 2019, the Company had a total of 1,051 full-time employees (as compared
to 796 full-time employees as of January 27, 2018). The Company is not a party to any collective bargaining agreements. The Company
considers its employee relations to be good.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 1A.</b></td><td><b>RISK FACTORS </b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0; background-color: white">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; background-color: white">You should carefully consider the risks described below and
the other information in this Report before deciding to invest in shares of our common stock. These are the risks and uncertainties
we believe are most important for you to consider. Additional risks and uncertainties not presently known to us, which we currently
deem immaterial or which are similar to those faced by other companies in our industry or business in general, may also impair
our business operations. If any of the following risks or uncertainties occurs, our business, financial condition and operating
results would likely suffer. In that event, the market price of our common stock could decline, and you could lose all or part
of your investment.</p>

<p style="font-size: 10pt; margin: 0pt 0; background-color: white">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0"><b>We depend on a small number of customers for a large percentage
of our revenues. The loss of any such customer, a reduction in sales to any such customer, or the decline in the financial condition
of any such customer could have a material adverse effect on our business, financial condition, and results of operations.</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">A limited number of customers typically represent a significant percentage of our revenues
in any given year. Our top ten customers represented approximately 29.3%, 28.9% and 27.8% of our total revenues in 2018, 2017 and
2016, respectively. No one customer&#8217;s sales exceeded 10% of total sales for the year ended December&nbsp;31, 2018. The loss
of a significant portion of our expected future sales to any of our large customers would have a material adverse effect on our
business, financial condition, and results of operations. Likewise, a material adverse change in the financial condition of any
of these customers could have a material adverse effect on our ability to collect accounts receivable from any such customer.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Our business could be harmed if our products contain undetected errors or defects
or do not meet applicable specifications.</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">We are continuously developing new products and improving our existing products. Our
existing and newly introduced products can contain undetected errors or defects. In addition, these products may not meet their
performance specifications under all conditions or for all applications. If, despite internal testing, and testing by customers,
any of our products contain errors or defects or fail to meet applicable specifications, then we may be required to enhance or
improve those products or technologies. We may not be able to do so on a timely basis, if at all, and may only be able to do so
at considerable expense. If a particular error or defect is repeated throughout our mass production process, the cost of repairing
such defect may be highly disproportionate to the original cost of the product or component. In addition, any significant errors,
defects, or other performance failures could render our existing and/or future products unreliable or ineffective and could lead
to decreased confidence in our products, adverse customer reaction, negative publicity, mandatory or voluntary recalls, or legal
claims, the occurrence of any of which could have a material adverse effect upon our business, financial condition and results
of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Further, if our products are defectively designed, manufactured or labeled, contain defective
components or are misused, we may become subject to costly litigation by our customers. Product liability claims could divert management's
attention from our core business, be expensive to defend and result in sizable damage awards against us.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>New technologies could result in the development of new products by our competitors
and a decrease in demand for our products, which could materially adversely affect our business, financial condition and results
of operations. </b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">Our failure to develop new technologies, or anticipate or react to changes in existing
technologies, could result in a decrease in our sales and a loss of market share to our competitors. Our financial performance
depends on our ability to design, develop and manufacture new products and product enhancements on a timely and cost-effective
basis. We may not be able to successfully identify new product opportunities or develop and bring new products to market in a timely
and cost-effective manner.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 8; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0">Products or technologies developed by other companies may render our products or technologies
obsolete or noncompetitive. Our failure to identify or capitalize on any fundamental shifts in technologies, relative to our competitors,
could have a material adverse effect on our competitive position within our industry and harm our relationships with our customers.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>If we fail to comply with specific provisions in our customer contracts or with government
contracting or Food and Drug Administration (FDA) regulations, our business could be materially adversely affected. </b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">Our customer contracts, particularly with respect to contracts for which the government
is a direct or indirect customer, may include unique and specialized requirements. This may also include contracts with customers
that derive goods subject to FDA regulations. Failure to comply with the specific provisions in our customer contracts, or any
violation of government or FDA contracting regulations, could result in termination of the contracts, increased costs to us, suspension
of payments, imposition of fines, and suspension from future government contracting. Further, any negative publicity related to
our failure to comply with the provisions in our customer contracts could have a material adverse effect on our business, financial
condition, or results of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>We may pursue acquisitions or other strategic relationships that involve inherent
risks, any of which may cause us to not realize anticipated benefits.</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Our business strategy includes the potential acquisition of businesses and other business
combinations that we expect will complement and expand our business. In addition, we may also pursue other strategic relationships
or opportunities. We may not be able to successfully identify suitable acquisition or other strategic opportunities or complete
any particular acquisition, combination, or other transaction on acceptable terms. Our identification of suitable acquisition candidates
and strategic opportunities involves risks inherent in assessing the values, strengths, weaknesses, risks and profitability of
these opportunities including their effects on our business, diversion of our management&#8217;s attention and risks associated
with unanticipated problems or unforeseen liabilities. Our failure to identify suitable acquisition or other strategic opportunities
may restrict our ability to grow our business. If we are successful in pursuing future acquisitions or strategic opportunities,
we may be required to expend significant funds, incur additional debt, or issue additional securities, which may materially and
adversely affect our results of operations and be dilutive to our stockholders. If we spend significant funds or incur additional
debt, our ability to obtain financing for working capital or other purposes could decline and we may be more vulnerable to economic
downturns and competitive pressures. In addition, we cannot guarantee that we will be able to finance additional acquisitions or
that we will realize any anticipated benefits from acquisitions or other strategic opportunities that we complete. When we successfully
acquire another business, such as Dielectrics, the process of successfully integrating the acquired operations into our existing
operations may result in unforeseen operating difficulties and may require significant financial resources that would otherwise
be available for the ongoing development or expansion of our existing business. Decreases in customer loyalty or product orders,
failure to retain and develop the acquired workforce, failure to integrate financial reporting systems, failure to establish and
maintain appropriate controls or unknown or contingent liabilities could adversely affect our ability to realize the anticipated
benefits of an acquisition. The integration of an acquired business such as Dielectrics or any other acquired business, whether
or not successful, requires significant efforts which may result in additional expenses and divert the attention of our management
and technical personnel from other projects. These transactions are inherently risky, and there can be no assurance that any past
or future transaction will be successful.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Failure to retain key personnel could impair our ability to execute our business strategy.</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The continuing service of our executive officers and essential sales, engineering, technical
and management personnel, together with our ability to attract and retain such personnel, is an important factor in our continuing
ability to execute our strategy. There is substantial competition to attract such employees, and the loss of any such key employees
could have a material adverse effect on our business and operating results. The same could be true if we were to experience a high
turnover rate among sales, engineering and technical personnel and we were unable to replace them.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 9; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>We operate in highly competitive industries and we may be unable to compete successfully,
which could materially adversely affect our business, financial condition and results of operations.</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">We face intense competition in all markets and in each area of our business. Our primary
competition for our products is from smaller, independent, regional manufacturing companies. Our current competitors may increase
their participation in, or new competitors may enter into, the markets in which we compete. In addition, our suppliers may acquire
or develop the capability and desire to compete with us. If our suppliers choose to expand their own operations, through acquisitions
or otherwise, and begin manufacturing and selling products directly to our customers, it could reduce our pricing or sales volume
and overall profitability. If we are unable to compete successfully with new or existing competitors, it could have a material
adverse effect on our business, financial condition and results of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Further, technological innovation by any of our existing competitors, or new competitors
entering any of the markets in which we do business, could put us at a competitive disadvantage and could cause us to lose market
share. Increased competition for the sales of our products could result in price reductions, reduced margins and loss of market
share, which could materially adversely affect our prospects, business, financial condition and results of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Our markets are cyclical, which may result in fluctuations in our results of operations.
</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Demand for our products, especially in the automotive and aerospace and defense markets,
is cyclical. Downturns in economic conditions typically have an adverse effect on cyclical industries due to decreased demand for
products. We seek to reduce our exposure to industry downturns and cyclicality by marketing our products to diversified and varied
markets. However, we may experience substantial period-to-period fluctuations in our results of operations due to the cyclical
nature of demand for our products in the markets in which we compete.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>The cost of raw materials that we use to manufacture our products, particularly petroleum
and petroleum-based raw materials, are subject to escalation and could increase, which may materially adversely affect our business,
financial condition and results of operations. </b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">The cost of raw materials, including petroleum and petroleum-based raw materials such
as resins, used in the production of our products, represents a significant portion of our direct manufacturing costs. Any fluctuations
in the price of petroleum, or any other material used in the production of our products, may have a material adverse effect on
our business, financial condition, and results of operations. Such price increases could reduce demand for our products. If we
are not able to buy raw materials at fixed prices, or pass on price increases to our customers, we may lose orders or enter into
orders with less favorable terms, either of which could have a material adverse effect on our business, financial condition, and
results of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Security breaches, including cybersecurity incidents and other disruptions could compromise
our information, expose us to liability and harm our reputation and business.</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">In the ordinary course of our business we collect and store sensitive data, including
intellectual property, personal information, our proprietary business information and that of our customers, suppliers and business
partners, and personally identifiable information of our customers and employees in our data centers and on our networks. The secure
maintenance and transmission of this information is critical to our operations and business strategy. We rely on commercially available
systems, software, tools and monitoring to provide security for processing, transmission and storage of confidential information.
Computer hackers may attempt to penetrate our computer systems and, if successful, misappropriate personal or confidential business
information. In addition, an associate, contractor, or other third-party with whom we do business may attempt to circumvent our
security measures in order to obtain such information and may purposefully or inadvertently cause a breach involving such information.
Despite the security measures we have in place and any additional measures we may implement in the future to safeguard our systems
and to mitigate potential security risks, our facilities and systems, and those of our third-party service providers, could be
vulnerable to security breaches. Any such compromise of our data security and access, public disclosure, or loss of personal or
confidential business information could result in legal claims or proceedings, liability under laws that protect the privacy of
personal information, regulatory penalties, disruption of our operations, damage to our reputation, loss of our customers&#8217;
willingness to transact business with us, and subject us to additional costs and liabilities which could materially adversely affect
our business.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 10; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>We may be unable to protect our proprietary technology from infringement. </b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">We rely on a combination of patents, trademarks, and unpatented proprietary know-how
and trade secrets to establish and protect our intellectual property rights. We enter into confidentiality agreements with suppliers,
customers, employees, consultants and potential acquisition candidates as necessary to protect our know-how, trade secrets and
other proprietary information. However, these measures and our patents and trademarks may not afford complete protection of our
intellectual property, and it is possible that third parties may copy or otherwise obtain and use our proprietary information and
technology without authorization or otherwise infringe on our intellectual property rights. We cannot assure that our competitors
will not independently develop equivalent or superior know-how, trade secrets or production methods. Significant impairment of
our intellectual property rights could harm our business or our ability to compete. For example, if we are unable to maintain the
proprietary nature of our technologies, our profit margins could be reduced as competitors could more easily imitate our products,
possibly resulting in lower prices or lost sales for certain products. In such a case, our business, financial condition and results
of operations may be materially adversely affected.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Fluctuations in the supply of components and raw materials we use in manufacturing
our products could cause production delays or reductions in the number of products we manufacture, which could materially adversely
affect our business, financial condition and results of operations.</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Our business is subject to the risk of periodic shortages of raw materials. We purchase
raw materials pursuant to purchase orders placed from time to time in the ordinary course of business. Failure or delay by such
suppliers in supplying us necessary raw materials could adversely affect our ability to manufacture and deliver products on a timely
and competitive basis.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">While we believe that we may, in certain circumstances, secure alternative sources of
these materials, we may incur substantial delays and significant expense in doing so, the quality and reliability of alternative
sources may not be the same and our operating results may be materially adversely affected. Alternative suppliers might charge
significantly higher prices for materials than we currently pay. Under such circumstances, the disruption to our business could
have a material adverse impact on our customer relationships, business, financial condition, and results of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">In addition, we are dependent on a relatively small number of suppliers for cross-linked
foam and technical polyurethane foams. While we believe that we have developed strong relationships with these suppliers, any failure
or delay by such suppliers in supplying us these necessary products could adversely affect our ability to manufacture and deliver
products on a timely and competitive basis.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>We are subject to a variety of federal, state and local laws and regulations, including
health and safety laws and regulations, and the cost of complying, or our failure to comply, with such requirements could materially
adversely affect our business, financial condition and results of operations.</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">We are subject to a variety of federal, state and local laws and regulations, including
health and safety laws and regulations. We must also comply with a variety of laws relating to doing business outside of the United
States, including, among others, laws and regulations relating to Office of Foreign Asset Controls, United States, United Nations,
EU and other country specific sanctions, and the Iran Threat Reduction and Syria Human Rights Act of 2012. The risks of substantial
costs and liabilities related to compliance with these laws and regulations are an inherent part of our business. Despite our intention
to comply with these laws and regulations, we cannot guarantee that we will at all times comply with all such requirements. Compliance
with health and safety legislation and other regulatory requirements may prove to be more limiting and costly than we anticipate
and may also increase substantially in future years. If we violate, or fail to comply with these requirements, we could be fined
or otherwise sanctioned by regulators. In addition, these requirements are complex, change frequently and may become more stringent
over time, which could materially adversely affect our business, financial condition and results of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 11; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Our products could infringe the intellectual property rights of others, which may
lead to litigation that could itself be costly, result in the payment of substantial damages or royalties, and prevent us from
using technology that is essential to our products.</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">We cannot guarantee that our products, manufacturing processes or other methods do not
infringe the patents or other intellectual property rights of third parties. Infringement and other intellectual property claims
and proceedings brought against us, whether successful or not, could result in substantial costs and harm our reputation. Such
claims and proceedings can also distract and divert our management and key personnel from other tasks important to the success
of our business. In addition, intellectual property litigation or claims could force us to do one or more of the following:</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-family: Symbol">&#183;</font></td><td>cease selling or using any of our products that incorporate the asserted intellectual property, which would adversely affect
our revenues;</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>
<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-family: Symbol">&#183;</font></td><td>pay substantial damages for past use of the asserted intellectual property;</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>
<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-family: Symbol">&#183;</font></td><td>obtain a license from the holder of the asserted intellectual property, which license may not be available on reasonable terms,
if at all; and/or</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>
<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-family: Symbol">&#183;</font></td><td>redesign or rename, in the case of trademark claims, our products to avoid infringing the intellectual property rights of third
parties, which may be costly and time-consuming, even if possible.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">In the event of an adverse determination in an intellectual property suit or proceeding,
or our failure to license essential technology, our sales could be harmed and our costs could increase, which could materially
adversely affect our business, financial condition and results of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>We may lose business if our customers shift their manufacturing offshore.</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">Historically, geography has been a large factor in the packaging business. Manufacturing
and other companies shipping products typically buy packaging from companies that are relatively close to their manufacturing facilities
to increase shipping efficiency and decrease costs. As many U.S. companies move their manufacturing operations overseas, particularly
to Asia and Mexico, the associated packaging business often follows. We have lost customers in the past and may lose customers
again in the future as a result of customers moving their manufacturing facilities offshore, then hiring our competitors that operate
packaging-production facilities perceived to be more territorially advantageous. As a result, our sales may suffer, which could
have a material adverse effect upon our business, financial condition and results of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Reductions in the availability of energy supplies or an increase in energy costs may
increase our operating costs.</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">We use electricity and natural gas at our manufacturing facilities to operate our equipment.
Over the past several years, prices for electricity and natural gas have fluctuated significantly. An outbreak or escalation of
hostilities between the United States and any foreign power, or a natural disaster, could result in a real or perceived shortage
of petroleum and/or natural gas, which could result in an increase in the cost of electricity or energy generally as well as an
increase in the cost of our raw materials, of which many are petroleum-based. In addition, increased energy costs negatively impact
our freight costs due to higher fuel prices. Future limitations on the availability or consumption of petroleum products and/or
an increase in energy costs, particularly electricity for plant operations, could have a material adverse effect upon our business,
financial condition and results of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; background-color: white"><b>As a public company, we need to comply with the reporting
obligations of the Securities Exchange Act of 1934, the Sarbanes-Oxley Act of 2002, and the Dodd-Frank Act of 2010, among other
laws and regulations. If we fail to comply with the reporting obligations of these laws or if we fail to maintain adequate internal
controls over financial reporting, our business, financial condition, and results of operations and investors&#8217; confidence
in us, could be materially and adversely affected.</b></p>

<p style="font-size: 10pt; margin: 0pt 0; background-color: white">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">As a public company, we are required to comply with the periodic reporting obligations
of the Exchange Act, including preparing annual reports, quarterly reports and current reports. We are also subject to certain
of the provisions of the Sarbanes-Oxley and Dodd-Frank Acts which, among other things, require enhanced disclosure of business,
financial, compensation and governance information. Our failure to prepare and disclose this information in a timely manner could
subject us to penalties under federal securities laws, expose us to lawsuits, and restrict our ability to access financing. We
may identify areas requiring improvement with respect to our internal control over financial reporting, and we may be required
to design enhanced processes and controls to address issues identified. This could result in significant delays and cost to us
and require us to divert substantial resources, including management time, from other activities. If we fail to maintain the adequacy
of our internal controls, we may not be able to ensure that we can conclude on an ongoing basis that we have effective internal
control over financial reporting. Moreover, effective internal controls are necessary for us to produce reliable financial reports
and are important to help prevent fraud.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 12; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Restrictions in our credit facilities may limit our business and financial activities,
including our ability to obtain additional capital in the future. </b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">In February 2018, we entered into a Credit Agreement with Bank of America, N.A., which
provided for a $50&nbsp;million revolving credit facility and a $20 million term loan facility. This Credit Agreement contains
covenants imposing various restrictions on our business and financial activities. These restrictions may affect our ability to
operate our business and undertake certain financial activities and may limit our ability to take advantage of potential business
or financial opportunities as they arise. The restrictions these covenants place on us include limitations on our ability to incur
liens, incur indebtedness, make investments, dissolve or merge or consolidate with or into another entity, dispose of certain property,
and make restricted payments. The Credit Agreement also requires us to meet certain financial ratios, including a minimum fixed-charge
coverage ratio and a maximum total funded debt to EBITDA ratio. The breach of any of these covenants or restrictions could result
in a default under the Credit Agreement, which could have a material adverse impact to our business, financial condition and results
of operation.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">We are also exposed to the risk of increasing interest rates as our revolving credit
facility is at a variable interest rate. Any material changes in interest rates could result in higher interest expense and related
payments for us. We have entered into an interest rate swap agreement that modifies our variable interest rate exposure with regards
to the term loan by converting the term loan from a variable rate to a fixed rate in order to hedge against the possibility of
rising interest rates during the term of the loan.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Members of our board of directors and management who also are our stockholders exert
significant influence over us.</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0">Based on information made available to us, we believe that our executive officers, directors
and their affiliates collectively owned approximately 11.2% of our outstanding shares of common stock as of March 5, 2019. As a
result, those stockholders may, if acting together, control or exert substantial influence over actions requiring stockholders&#8217;
approval, including elections of our directors, amendments to our certificate of incorporation, mergers, sales of assets or other
business acquisitions or dispositions.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; background-color: white"><b>Provisions of our corporate charter documents, Delaware law,
and our stockholder rights plan may dissuade potential acquirers, prevent the replacement or removal of our current management
and may thereby affect the price of our common stock. </b></p>

<p style="font-size: 10pt; margin: 0pt 0; background-color: white">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; background-color: white">The board of directors has the authority to issue up to 1,000,000
shares of preferred stock and to determine the price, rights, preferences, privileges, and restrictions, including voting rights
of those shares without any further vote or action by the stockholders. The rights of the holders of common stock will be subject
to, and may be adversely affected by, the rights of the holders of any preferred stock that may be issued in the future. The issuance
of preferred stock, while providing flexibility in connection with possible financings, acquisitions and other corporate purposes,
could have the effect of making it more difficult for a third party to acquire a majority of our outstanding voting stock. We have
no present plans to issue shares of preferred stock.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">We also have a stockholder rights plan designed to protect and enhance the value
of our outstanding equity interests in the event of an unsolicited attempt to acquire us in a manner or on terms not approved
by the board of directors and that would prevent stockholders from realizing the full value of their shares of our common
stock. Its purposes are to deter those takeover attempts that the board believes are undesirable, to give the board more time
to evaluate takeover proposals and consider alternatives, and to increase the board&#8217;s negotiating position to
enhance value in the event of a takeover. The rights issued pursuant to the plan are not intended to prevent all takeovers of
our Company. However, the rights may have the effect of rendering more difficult or discouraging our acquisition. The rights
may cause substantial dilution to a person or group that attempts to acquire us on terms or in a manner not approved by the
board of directors, except pursuant to an offer conditioned upon the negation, purchase, or redemption of the rights with
respect to which the condition is satisfied. On March 13, 2019, the Company&rsquo;s Board of Directors voted not to replace
the rights when they expire on March 19, 2019.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 13; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0; background-color: white">Further, certain provisions of our certificate of incorporation,
bylaws, and Delaware law could delay or make more difficult a merger, tender offer or proxy contest involving us or, for a third
party to acquire a majority of our outstanding voting common stock. These include provisions that classify our board of directors,
limit the ability of stockholders to take action by written consent, call special meetings, remove a director for cause, amend
the bylaws, or approve a merger with another company. In addition, our bylaws set forth advance notice procedures for stockholders
to nominate candidates for election as directors or to bring matters before an annual meeting of stockholders.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">We are subject to the provisions of Section 203 of the Delaware General Corporation Law
which prohibits a publicly-held Delaware corporation from engaging in a &#8220;business combination&#8221; with an &#8220;interested
stockholder&#8221; for a period of three years after the date of the transaction in which the person became an interested stockholder,
unless the business combination is approved in a prescribed manner. For purposes of Section 203, a &#8220;business combination&#8221;
includes a merger, asset sale or other transaction resulting in a financial benefit to the interested stockholder, and an &#8220;interested
stockholder&#8221; is a person who, either alone or together with affiliates and associates, owns (or within the past three years
did own) 15% or more of the corporation&#8217;s voting stock.</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Regulations related to &#8220;conflict minerals&#8221; may cause us to incur additional
expenses and could limit the supply and increase the cost of certain metals used in manufacturing our products.</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">In 2012, the SEC adopted a rule requiring disclosures by public companies of specified
minerals, known as conflict minerals, that are necessary to the functionality or production of products manufactured or contracted
to be manufactured. The rule requires an annual disclosure report to be filed and requires companies to perform due diligence and
disclose and report whether or not such minerals originate from the Democratic Republic of Congo or an adjoining country. The new
rule could affect sourcing at competitive prices and availability in sufficient quantities of certain minerals used in the manufacture
of our products, including tantalum, tin, gold and tungsten. The number of suppliers who provide conflict-free minerals may be
limited. In addition, there may be material costs associated with complying with the disclosure requirements, such as costs related
to determining the source of certain minerals used in our products, as well as costs of possible changes to products, processes,
or sources of supply as a consequence of such verification activities. Since our supply chain is complex, we may not be able to
sufficiently verify the origins of the relevant minerals used in our products through the due diligence procedures that we undertake,
which may harm our reputation. In addition, we may encounter challenges to satisfy those customers who require that all of the
components of our products be certified as conflict-free, which could place us at a competitive disadvantage if we are unable to
do so.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 1B.</b></td><td><b>UNRESOLVED STAFF COMMENTS.</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0"><font style="font-weight: normal">None.</font></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 2.</b></td><td><b>PROPERTIES</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The following table presents certain information relating to each of the Company&#8217;s
design and manufacturing properties:</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr style="vertical-align: bottom">
    <td style="width: 23%; border-bottom: Black 1pt solid; text-align: center"><font style="font-size: 10pt">Location</font></td>
    <td style="width: 12%; border-bottom: Black 1pt solid">
        <p style="font-size: 10pt; text-align: center; margin: 0pt 0">Square</p>
        <p style="font-size: 10pt; text-align: center; margin: 0pt 0">Feet</p></td>
    <td style="width: 25%; border-bottom: Black 1pt solid">
        <p style="font-size: 10pt; text-align: center; margin: 0pt 0">Lease</p>
        <p style="font-size: 10pt; text-align: center; margin: 0pt 0">Expiration Date</p></td>
    <td style="width: 40%; border-bottom: Black 1pt solid; text-align: center"><font style="font-size: 10pt">Principal Use</font></td></tr>
<tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td><font style="font-size: 10pt">Georgetown, Massachusetts</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">57,600</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">Company Owned</font></td>
    <td><font style="font-size: 10pt">Fabrication, molding, test lab, clean room and engineering </font></td></tr>
<tr style="vertical-align: top; background-color: White">
    <td><font style="font-size: 10pt">Newburyport, Massachusetts</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">183,000</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">Company Owned </font></td>
    <td><font style="font-size: 10pt">Headquarters, fabrication, molding, tooling, test lab, clean room, warehousing and engineering</font></td></tr>
<tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td><font style="font-size: 10pt">Huntsville, Alabama</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">9,000</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">6/30/2021</font></td>
    <td><font style="font-size: 10pt">Engineering, design and fabrication </font></td></tr>
<tr style="vertical-align: top; background-color: White">
    <td><font style="font-size: 10pt">Grand Rapids, Michigan</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">255,260</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">Company Owned</font></td>
    <td><font style="font-size: 10pt">Fabrication, molding warehousing and engineering </font></td></tr>
<tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td><font style="font-size: 10pt">Rancho Dominguez, California</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">56,000</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">11/14/2022</font></td>
    <td><font style="font-size: 10pt">Fabrication, molding and engineering </font></td></tr>
<tr style="vertical-align: top; background-color: White">
    <td><font style="font-size: 10pt">Denver, Colorado</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">18,270</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">Company Owned</font></td>
    <td><font style="font-size: 10pt">Fabrication, molding and engineering </font></td></tr>
<tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td><font style="font-size: 10pt">Denver, Colorado</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">28,383</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">Company Owned</font></td>
    <td><font style="font-size: 10pt">Fabrication, molding and engineering </font></td></tr>
<tr style="vertical-align: top; background-color: White">
    <td><font style="font-size: 10pt">Kissimmee, Florida</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">49,400</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">Company Owned</font></td>
    <td><font style="font-size: 10pt">Fabrication, molding, test lab and engineering</font></td></tr>
<tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td><font style="font-size: 10pt">El Paso, Texas</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">127,730</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">Company Owned</font></td>
    <td><font style="font-size: 10pt">Warehousing, fabrication and molded fiber operations</font></td></tr>
<tr style="vertical-align: top; background-color: White">
    <td><font style="font-size: 10pt">Clinton, Iowa</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">60,000</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">Company Owned</font></td>
    <td><font style="font-size: 10pt">Molded fiber operations </font></td></tr>
<tr style="vertical-align: top; background-color: rgb(204,238,255)">
    <td><font style="font-size: 10pt">Clinton, Iowa</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">62,000</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">Company Owned</font></td>
    <td><font style="font-size: 10pt">Molded fiber operations</font></td></tr>
<tr style="vertical-align: top; background-color: White">
    <td><font style="font-size: 10pt">Chicopee, Massachusetts</font></td>
    <td style="text-align: right"><font style="font-size: 10pt">103,792</font></td>
    <td>
        <p style="font-size: 10pt; text-align: center; margin: 0pt 0">1/31/23</p></td>
    <td><font style="font-size: 10pt">Fabrication, molding, clean room and engineering</font></td></tr>
</table>
<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<!-- Field: Page; Sequence: 14; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"><b></b></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 3.</b></td><td><b>LEGAL PROCEEDINGS</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">From time to time, the Company may be a party to various suits, claims and complaints
arising in the ordinary course of business. In the opinion of management of the Company, these suits, claims and complaints should
not result in final judgments or settlements that, in the aggregate, would have a material adverse effect on the Company&#8217;s
financial condition or results of operations.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 4.</b></td><td><b>MINE SAFETY DISCLOSURES</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Not applicable.</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><font style="text-transform: uppercase"><b>&nbsp;</b></font></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><font style="text-transform: uppercase"><b><u>PART II</u></b></font></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 5.</b></td><td><b>MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS, AND ISSUER PURCHASES OF EQUITY SECURITIES</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Market Price</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">From July 8, 1996, until April 18, 2001, the Company&#8217;s common stock was listed
on the NASDAQ National Market under the symbol &#8220;UFPT.&#8221; Since April 19, 2001, the Company&#8217;s common stock has been
listed on the NASDAQ Capital Market. The following table sets forth the range of high and low quotations for the common stock as
reported by NASDAQ for the quarterly periods from January 1, 2017 to December 31, 2018:</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Year Ended December 31, 2017</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid">High</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid">Low</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; font-size: 10pt; text-align: left; padding-left: 33.85pt">First Quarter</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">26.30</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">22.95</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 33.85pt">Second Quarter</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">28.48</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">24.05</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 33.85pt">Third Quarter</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">29.00</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">25.88</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 33.85pt">Fourth Quarter</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">31.50</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">26.00</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">Year Ended December 31, 2018</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid">High</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid">Low</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; font-size: 10pt; text-align: left; padding-left: 33.85pt">First Quarter</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">31.30</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">26.05</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 33.85pt">Second Quarter</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">34.00</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">29.00</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 33.85pt">Third Quarter</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">37.25</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">30.58</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 33.85pt">Fourth Quarter</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">39.98</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">28.25</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Number of Stockholders</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">As of March 5, 2019, there were 63 holders of record of the Company&#8217;s common stock.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Since many of the shares are held by brokers and other institutions on behalf of stockholders,
the Company is unable to estimate the total number of individual stockholders represented by these holders of record.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 15; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Dividends</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company did not pay any dividends in 2018 or 2017. The Company presently intends
to retain all of its earnings to provide funds for the operation of its business and strategic acquisitions, although it would
consider paying cash dividends in the future. Any decision to pay dividends will be at the discretion of the Company&#8217;s board
of directors and will depend upon the Company&#8217;s operating results, strategic plans, capital requirements, financial condition,
provisions of the Company&#8217;s borrowing arrangements, applicable law and other factors the Company&#8217;s board of directors
considers relevant.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Issuer Purchases of Equity Securities</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">On June 16, 2015, the Company issued a press release announcing that its Board of Directors
authorized the repurchase of up to $10.0 million of the Company&#8217;s outstanding common stock. There was no share repurchase
activity for the years ended December 31, 2018, 2017 and 2016. During the year ended December 31, 2015, the Company repurchased
29,559 shares of common stock at a cost of approximately $587,000.&nbsp;At December 31, 2018, approximately $9.4 million was available
for future repurchases of the Company's common stock under this authorization.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 6.</b></td><td><b>SELECTED FINANCIAL DATA</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The following table summarizes our consolidated financial data for the periods presented.
You should read the following financial information together with the information under &#8220;Management&#8217;s Discussion and
Analysis of Financial Condition and Results of Operations&#8221; and our consolidated financial statements and the notes to those
financial statements appearing elsewhere in this Report. The selected statements of income data for the years ended December 31,
2018, 2017 and 2016, and the selected balance sheet data as of December 31, 2018 and 2017, are derived from our audited consolidated
financial statements, which are included elsewhere in this Report. The selected statements of income data for the years ended December&nbsp;31,
2015 and 2014, and the selected balance sheet data at December 31, 2016, 2015 and 2014 are derived from our audited consolidated
financial statements not included in this Report.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Selected Consolidated Financial Data:</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; padding-left: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="18" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">Years Ended December 31</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; padding-left: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="18" style="white-space: nowrap; font-size: 10pt; text-align: center">(in thousands, except per share data)</td><td style="font-size: 10pt">&nbsp;</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; padding-left: 0pt">Consolidated Statements of Income data</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2015</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2014</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt">Net sales</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">190,455</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">147,843</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">146,132</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">138,850</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">139,307</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Gross profit</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">48,308</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">35,487</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">34,650</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">37,454</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">36,880</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Operating income</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">19,612</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,693</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">12,237</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,714</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">11,561</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Net income from consolidated operations</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">14,311</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">9,210</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">7,970</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">7,593</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">7,559</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Diluted earnings per common share</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.93</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.26</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.10</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.05</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.05</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Weighted average number of diluted common shares outstanding</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,430</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,337</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,275</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,206</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,175</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table>



<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; padding-left: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="18" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">As of December 31</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; padding-left: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="18" style="white-space: nowrap; font-size: 10pt; text-align: center">(in thousands)</td><td style="font-size: 10pt">&nbsp;</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; padding-left: 0pt">Consolidated Balance Sheets data</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2015</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="2" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2014</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; font-weight: bold">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt">Working capital</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">34,968</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">65,131</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">60,291</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">52,620</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">55,658</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Total assets</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">189,598</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">138,207</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">127,934</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">119,635</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">112,548</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Current installments of long-term debt</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">2,857</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">856</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,011</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">993</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Long-term debt, excluding current installments</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">22,286</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">859</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1,873</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Total liabilities</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">49,141</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">14,495</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">14,881</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">16,063</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">17,556</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Total stockholders' equity</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">140,457</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">123,712</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">113,053</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">103,572</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">94,992</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table>



<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 16; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 7.</b></td><td><b>MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND&nbsp;RESULTS OF OPERATIONS</b></td></tr></table>

<p style="margin: 0pt 0; font-size: 10pt; font-weight: bold">&nbsp;</p>

<p style="margin: 0pt 0; font-size: 10pt; font-weight: bold">Overview</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company is an innovative designer and custom manufacturer of components, subassemblies,
products and packaging utilizing highly specialized foams, films, and plastics primarily for the medical market. The Company manufactures
its products by converting raw materials using laminating, molding, radio frequency and impulse welding and fabricating manufacturing
techniques. The Company is diversified by also providing highly engineered products and components to customers in the aerospace
and defense, automotive, consumer, electronics and industrial markets. The Company consists of a single operating and reportable
segment. As previously disclosed, on February&nbsp;1, 2018, the Company acquired Dielectrics, Inc. pursuant to a stock purchase
agreement and related agreements for an aggregate purchase price of $77 million net of Dielectrics&#8217; cash.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Sales for the Company for the year ended December 31, 2018 grew 28.8% to $190.5 million
from $147.8 million for the year ended December 31, 2017 largely due to sales of approximately $36.2 million from Dielectrics.
Dielectrics contributed significantly to earnings. The Company absorbed $1.1 million in transaction costs during the year ended
December 31, 2018, approximately $760,000 in losses associated with the closure of its manufacturing plant in Georgia and an increase
of approximately $700,000 in health care costs. Despite these costs, for the year ended December 31, 2018, the Company generated
increases of 67.7% and 52.6% in operating income and net income, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company&#8217;s current strategy includes further organic growth and growth through
strategic acquisitions.</p>

<p style="margin: 0pt 0; font-size: 10pt; font-weight: bold">&nbsp;</p>

<p style="margin: 0pt 0; font-size: 10pt; font-weight: bold">Results of Operations</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The following table sets forth, for the years indicated, the percentage of revenues represented
by the items as shown in the Company&#8217;s Consolidated Statements of Income:</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%; font-size: 10pt; text-align: left">Net sales</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">100.0</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">100.0</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">100.0</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 1pt">Cost of sales</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">74.6</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">76.0</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">76.3</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Gross profit</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">25.4</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">24.0</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">23.7</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Selling, general, and administrative expenses</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">14.6</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">16.1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">16.5</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Acquisition costs</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.6</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.0</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.0</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Restructuring costs</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.0</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.0</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.3</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Material overcharge settlement</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-0.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-0.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-1.4</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Operating income</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">10.3</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">8.0</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">8.3</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Total other expense (income)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">0.7</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-0.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-0.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Income before taxes</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">9.6</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">8.1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">8.4</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Income tax expense</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">2.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">1.9</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">2.9</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Net income from consolidated operations</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">7.5</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">6.2</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">5.5</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td></tr>
</table>




<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>2018 Compared to 2017</b></p>

<p style="font-size: 10pt; margin: 0pt 0; color: #548DD4">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Sales</i></p>

<p style="font-size: 10pt; margin: 0pt 0; color: #548DD4">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Net sales increased 28.8% to $190.5 million for the year ended December 31, 2018 from
net sales of $147.8 million in 2017. The increase in sales was primarily due to Dielectric&#8217;s sales of approximately $36.2
million, which were all in the medical market. On a market basis, sales to customers in the medical, aerospace and defense and
consumer markets grew 57.3%, 14.0% and 17.2%, respectively, while sales to customers in the automotive market declined 13.4%. The
increase in sales to customers in the medical market was primarily due to sales by Dielectrics as well as a 5.8% increase in demand
from the Company&#8217;s legacy medical customers. The increase in sales to customers in the aerospace and defense market was largely
due to a general uptick in government contract-based orders. The increase in sales to customers in the consumer market was primarily
due to sales of molded fiber protective packaging to a new customer. The decline in sales to customers in the automotive market
was primarily due to the phase-out of the automotive door panel program for Mercedes-Benz.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 17; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Gross Profit</i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Gross profit as a percentage of sales (&#8220;Gross Margin&#8221;) increased to 25.4%
for the year ended December&nbsp;31, 2018, from 24.0% in 2017. As a percentage of sales, material and direct labor costs collectively
decreased approximately 0.6%, while overhead decreased approximately 0.8%. The decrease in material and direct labor costs as a
percentage of sales was primarily due to increased manufacturing efficiencies resulting from continuous improvement initiatives
as well as strategic price increases. The decrease in overhead was primarily due to the increase in sales on fixed overhead costs
partially offset by the impact on overhead of rising health care costs.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Selling, General and Administrative Expenses</i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Selling, General, and Administrative Expenses (&#8220;SG&amp;A&#8221;) increased approximately
16.4% to $27.8 million for the year ended December 31, 2018, from $23.8 million in 2017. As a percentage of sales, SG&amp;A decreased
to 14.6% in 2018 from 16.1% in 2017. The increase in SG&amp;A for the year ended December 31, 2018 is due to approximately $2.6
million in SG&amp;A expenses from Dielectrics as well as higher health care costs. The decrease in SG&amp;A as a percentage of
sales is primarily due to lower SG&amp;A as a percentage of sales at Dielectrics as well as specific initiatives to reduce costs.</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Acquisition Costs</i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company incurred approximately $1.1 million in costs associated with the Dielectrics
acquisition which were charged to expense for the ended December 31, 2018. These costs were primarily for investment banking and
legal fees and are reflected on the face of the income statement.</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Material Overcharge Settlement</i></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0">The Company was a participant in a class action lawsuit against a number of polyurethane
foam suppliers (&#8220;Defendants&#8221;) that was settled during 2016. The suit was filed to recover damages and obtain injunctive
relief for Defendants&#8217; alleged violations of the federal antitrust laws with respect to the fixing of prices of polyurethane
foam sold from January 1, 1999 through August 2010. For the each of the years ended December 31, 2018 and 2017, the Company recorded
gains of approximately $0.1 million. The settlement amounts are recorded as &#8220;Material overcharge settlement&#8221; in the
operating income section of the Consolidated Statements of Income.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Interest Income and Expense</i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company had net interest expense of approximately $1.3 million and net interest income
of approximately $0.2 million for the years ended December 31, 2018 and 2017, respectively. The increase in net interest expense
is primarily due to interest paid on the debt incurred to finance the Dielectrics acquisition.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Income Taxes</i></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0">The Company recorded income tax expense, as a percentage of income before income tax
expense, of 22.2% for the year ended December 31, 2018 compared to 22.3% for the same period in 2017.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>2017 Compared to 2016</b></p>

<p style="font-size: 10pt; margin: 0pt 0; color: #548DD4">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Sales</i></p>

<p style="font-size: 10pt; margin: 0pt 0; color: #548DD4">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Net sales increased 1.2% to $147.8 million for the year ended December 31, 2017 from
net sales of $146.1 million in 2016, primarily due to increases in sales to customers in the medical, aerospace and defense and
consumer markets of approximately 8.1%, 5.2% and 4.4%, respectively, partially offset by decreases in sales to customers in the
automotive and industrial markets of approximately 15.1% and 7.4%, respectively. The increase in sales to customers in the medical
market was largely due to general growth in demand for products of our medical customers. The increase in sales to customers in
the aerospace and defense market was largely due to increased government spending on defense. The increase in sales to customers
in the consumer market was largely due to increased demand for molded fiber protective packaging for consumer products. The decrease
in sales to customers in the automotive market was largely due to the phase-out of the Company&#8217;s automotive door panel program
for Mercedes Benz, which began in 2004, as well as reductions in demand on certain legacy programs.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 18; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Gross Profit</i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Gross profit as a percentage of sales (&#8220;Gross Margin&#8221;) increased to 24.0%
for the year ended December 31, 2017, from 23.7% in 2016. As a percentage of sales, material and direct labor costs collectively
decreased approximately 1.2%, while overhead increased approximately 1.0%. The decrease in material and direct labor costs was
primarily due to manufacturing efficiencies realized as a result of initiatives began in the second half of 2017. The increase
in overhead was primarily due to higher indirect labor and benefits associated with hires made in the second half of 2017.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Selling, General and Administrative Expenses</i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Selling, General, and Administrative Expenses (&#8220;SG&amp;A&#8221;) decreased 1.1%
to $23.8 million for the year ended December 31, 2017, from $24.1 million in 2016. As a percentage of sales, SG&amp;A decreased
to 16.1% in 2017 from 16.5% in 2016. The decrease in SG&amp;A for the year ended December 31, 2017, is primarily due to general
cost containment efforts.</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Restructuring Costs</i></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0">On March 18, 2015, the Company committed to move forward with a plan to cease operations
at its Raritan, New Jersey, plant and consolidate operations into its Newburyport, Massachusetts, facility and other UFP facilities.
The Company&#8217;s decision was in response to a continued decline in business at the Raritan facility and the purchase of the
facility in Newburyport. The activities related to this consolidation are complete.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company also relocated all operations in its Haverhill, Massachusetts, and Byfield,
Massachusetts facilities and certain operations in its Georgetown, Massachusetts facility to Newburyport. The Haverhill and Byfield
relocations were complete at December 31, 2015 and the partial Georgetown relocation was complete at June 30, 2017.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company incurred approximately $2.1 million in one-time expenses in connection with
the Massachusetts consolidations. Included in this amount are approximately $180,000 relating to employee severance payments and
relocation costs, approximately $1.6 million in moving expenses and expenses associated with vacating the Raritan, Haverhill and
Byfield properties, and approximately $360,000 in lease termination costs. Total cash charges were approximately $2.0 million.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company recorded the following restructuring costs associated with the Massachusetts
consolidations discussed above for the years ended December 31, 2017 and 2016 (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold">&nbsp;</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Restructuring Costs</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 70%; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 1pt">Relocation</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">63</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">420</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total restructuring costs</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">63</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">420</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table>




<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The 2017 and 2016 costs were reclassified in the Consolidated Statement of Income as
&#8220;Restructuring Costs&#8221; from Cost of Sales.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 19; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Material Overcharge Settlement</i></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0">The Company was a participant in a class action lawsuit against a number of polyurethane
foam suppliers (&#8220;Defendants&#8221;) that was settled during the second quarter of 2016. The suit was filed to recover damages
and obtain injunctive relief for Defendants&#8217; alleged violations of the federal antitrust laws with respect to the fixing
of prices of polyurethane foam sold from January 1, 1999 through August 2010. For the years ended December 31, 2017 and 2016, the
Company recorded gains of approximately $0.1 million and $2.1 million, respectively. The settlement amounts are recorded as &#8220;Material
overcharge settlement&#8221; in the operating income section of the Consolidated Statements of Income.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Interest Income and Expense</i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company had net interest income of approximately $166,000 for the year ended December
31, 2017, compared to net interest income of approximately $80,000 for the year ended December 31, 2016. The increase in net interest
income is due primarily to an increase in interest earned on money market accounts and certificates of deposit and decreasing interest
costs on the Company&#8217;s term loans.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Income Taxes</i></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0">The Company recorded income tax expense, as a percentage of income before income tax
expense, of 22.3% for the year ended December 31, 2017 compared to 35.3% for the same period in 2016. The decrease in the effective
tax rate was primarily due to a tax benefit of approximately $173,000 recorded as a result of the adoption of ASU No. 2016-09 on
January 1, 2017 and a deferred tax benefit of approximately $1.5 million recorded as a result of a change in the statutory federal
tax rate for 2018 and beyond.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Liquidity and Capital Resources</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company generally funds its operating expenses, capital requirements, and growth
plan through internally generated cash and bank credit facilities.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Cash Flows</i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Net cash provided by operations for the year ended December 31, 2018 was approximately
$21.3&nbsp;million and was primarily a result of net income generated of approximately $14.3 million, depreciation and amortization
of approximately $7.8 million, share-based compensation of approximately $1.2 million, an increase in deferred taxes of approximately
$1.9 million, and an increase in accounts payable and accrued expenses of approximately $2.6 million due to the timing of vendor
payments in the ordinary course of business. These cash inflows and adjustments to income were partially offset by an increase
in accounts receivable of approximately $2.6 million primarily due to increased sales in the last two months of the fourth quarter
of 2018 over the same period of 2017, an increase in inventory of approximately $2.3 million primarily due to the building of inventory
to support the higher sales, an increase in prepaid expenses and other assets of approximately $0.3 million and an increase in
refundable income taxes of approximately $1.3 million.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Net cash used in investing activities during the year ended December 31, 2018 was approximately
$82.3 million and was primarily the result of the acquisition of Dielectrics and additions of manufacturing machinery and equipment
and various building improvements across the Company.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="margin: 0pt 0; font-size: 10pt">Net cash provided by financing activities was approximately $26.3 million for the year
ended December 31, 2018, representing borrowings under our credit facility to fund the Dielectrics acquisition of $56.0 million
and net proceeds received upon stock options exercises of approximately $1.3 million, partially offset by repayments on our credit
facility and term loan of approximately $30.9 million, and payments of statutory withholding for stock options exercised and restricted
stock units vested of approximately $0.1 million.</p>

<p style="margin: 0pt 0; font-size: 10pt">&nbsp;</p>

<p style="margin: 0pt 0; font-size: 10pt"><i>Outstanding and Available Debt</i></p>

<p style="margin: 0pt 0; font-size: 10pt">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">On December 2, 2013, the Company entered into an unsecured $40 million revolving credit
facility with Bank of America, N.A. The credit facility called for interest of LIBOR plus a margin that ranged from 1.0% to 1.5%
or, at the discretion of the Company, the bank&#8217;s prime rate less a margin that ranged from 0.25% to zero. In both cases the
applicable margin was dependent upon Company performance. Under the credit facility, the Company was subject to a minimum fixed-charge
coverage financial covenant as well as a maximum total funded debt to EBITDA financial covenant. The credit facility was amended
effective December 31, 2014, to modify the definition of &#8220;consolidated fixed-charge coverage ratio&#8221;. The Company&#8217;s
$40 million credit facility was to mature on November 30, 2018.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 20; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0">On February 1, 2018, the Company, as the borrower, entered into an unsecured $70 million
Amended and Restated Credit Agreement (the &#8220;Amended and Restated Credit Agreement&#8221;) with certain of the Company&#8217;s
subsidiaries (the &#8220;Subsidiary Guarantors&#8221;) and Bank of America, N.A., in its capacity as the initial lender, Administrative
Agent, Swingline Lender and L/C Issuer, and certain other lenders from time to time party thereto. The Amended and Restated Credit
Agreement amends and restates the Company&#8217;s prior credit agreement.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The credit facilities under the Amended and Restated Credit Agreement (the &#8220;Amended
and Restated Credit Facilities&#8221;) consist of a $20 million unsecured term loan to the Company and an unsecured revolving credit
facility, under which the Company may borrow up to $50 million.&nbsp; The Amended and Restated Credit Facilities mature on February
1, 2023.&nbsp; The proceeds of the Amended and Restated Credit Agreement may be used for general corporate purposes, including
funding the acquisition of&nbsp;Dielectrics, as well as certain other permitted acquisitions. The Company&#8217;s obligations under
the Amended and Restated Credit Agreement are guaranteed by the Subsidiary Guarantors.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Amended and Restated Credit Facilities call for interest of LIBOR plus a margin that
ranges from 1.0% to 1.5% or, at the discretion of the Company, the bank&#8217;s prime rate less a margin that ranges from .25%
to zero. In both cases the applicable margin is dependent upon Company performance.&nbsp; Under the Amended and Restated Credit
Agreement, the Company is subject to a minimum fixed-charge coverage financial covenant as well as a maximum total funded debt
to EBITDA financial covenant.&nbsp; The Amended and Restated Credit Agreement contains other covenants customary for transactions
of this type, including restrictions on certain payments, permitted indebtedness and permitted investments.&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Included in the Amended and Restated Credit Facilities are approximately $0.6 million
in standby letters of credit as a financial guarantee on worker&#8217;s compensation insurance policies. As of December 31, 2018,
the Company was in compliance with all covenants under the credit facility.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Long-term debt consists of the following (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31, 2018</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 85%; font-size: 10pt; text-align: left">Revolving credit facility</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">8,000</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Term loan</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">17,143</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Total long-term debt</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">25,143</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">&nbsp;&nbsp;&nbsp;&nbsp;Current portion</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(2,857</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Long-term debt, excluding current portion</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">22,286</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table>



<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i>Future Liquidity</i></p>

<p style="font-size: 10pt; margin: 0pt 0"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0">The Company requires cash to pay its operating expenses, purchase capital equipment,
and to service its contractual obligations. The Company&#8217;s principal sources of funds are its operations and its amended and
restated credit facility. The Company generated cash of approximately $21.3 million in operations during the year ended December
31, 2018; however, the Company&nbsp;cannot guarantee that its operations will generate cash in future periods. The Company&#8217;s
longer-term liquidity is contingent upon future operating performance.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="margin: 0pt 0; font-size: 10pt">Throughout fiscal 2019, the Company plans to continue to add capacity to enhance operating
efficiencies in its manufacturing plants. The Company may consider additional acquisitions of companies, technologies, or products
that are complementary to its business. The Company believes that its existing resources, including its revolving credit facility,
together with cash expected to be generated from operations and funds expected to be available to it through any necessary equipment
financings and additional bank borrowings, will be sufficient to fund its cash flow requirements, including capital asset acquisitions,
through the next twelve months.</p>

<p style="margin: 0pt 0; font-size: 10pt">&nbsp;</p>

<!-- Field: Page; Sequence: 21; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="margin: 0pt 0; font-size: 10pt"></p>

<p style="margin: 0pt 0; font-size: 10pt">The Company may also require additional capital in the future to fund capital expenditures,
acquisitions or other investments. These capital requirements could be substantial. The Company anticipates that any future expansion
of its business will be financed through existing resources, cash flow from operations, the Company's revolving credit facility,
or other new financing. The Company cannot guarantee that it will be able to meet existing financial covenants or obtain other
new financing on favorable terms, if at all. The Company's liquidity will be impacted to the extent additional stock repurchases
are made under the Company's stock repurchase program.</p>

<p style="margin: 0pt 0; font-size: 10pt">&nbsp;</p>

<p style="margin: 0pt 0; font-size: 10pt"><i>Stock Repurchase Program</i></p>

<p style="margin: 0pt 0; font-size: 10pt"><i>&nbsp;</i></p>

<p style="margin: 0pt 0; font-size: 10pt">The Company accounts for treasury stock under the cost method, using the first-in, first-out
flow assumption, and includes treasury stock as a component of stockholders&#8217; equity. On June 16, 2015, the Company announced
that its Board of Directors authorized the repurchase of up to $10.0 million of the Company&#8217;s outstanding common stock. Under
the program, the Company is authorized to repurchase shares through Rule 10b5-1 plans, open market purchases, privately negotiated
transactions, block purchases or otherwise in accordance with applicable federal securities laws, including Rule 10b-18 of the
Securities Exchange Act of 1934. The stock repurchase program will end upon the earlier of the date on which the plan is terminated
by the Board or when all authorized repurchases are completed. The timing and amount of stock repurchases, if any, will be determined
based upon our evaluation of market conditions and other factors. The stock repurchase program may be suspended, modified or discontinued
at any time, and the Company has no obligation to repurchase any amount of its common stock under the program. There were no share
repurchases during the years ended December 31, 2018, 2017 and 2016. During the year ended December 31, 2015, the Company repurchased
29,559 shares of common stock at a cost of approximately $587,000. At December 31, 2018, approximately $9.4 million was available
for future repurchases of the Company&#8217;s common stock under this authorization.</p>

<p style="margin: 0pt 0; font-size: 10pt">&nbsp;</p>

<p style="margin: 0pt 0; font-size: 10pt"><b>Contractual Obligations</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The following table summarizes the Company&#8217;s contractual obligations at December
31, 2018:</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="15" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Payment Due By Period (in thousands) (1)</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center">Less than</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">1-3</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center">3-5</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center">More than</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Total</td><td style="font-size: 10pt; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">1 Year</td><td style="font-size: 10pt; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Years</td><td style="font-size: 10pt; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">Years</td><td style="font-size: 10pt; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">5 Years</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; font-size: 10pt; text-align: left">Term loan (2)</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 10%; font-size: 10pt; text-align: right">18,910</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">3,453</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">6,589</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">8,868</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Revolving credit facility (3)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">9,151</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">258</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">564</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">8,329</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Operating leases (4)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">4,195</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,051</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,133</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,011</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Supplemental retirement (5)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">25</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">25</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.25pt; padding-left: 10pt">Total</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">32,281</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt; border-bottom: Black 2.5pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">4,787</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt; border-bottom: Black 2.5pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">9,286</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt; border-bottom: Black 2.5pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">18,208</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt; border-bottom: Black 2.5pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 2.5pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table>




<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-size: 8pt">(1)</font></td><td><font style="font-size: 8pt">The amounts set forth in the
                                         &#8220;Less than 1 year&#8221; column represents amounts to be paid in 2019, the &#8220;1-3
                                         years&#8221; column represents amounts to be paid in 2020 and 2021, the &#8220;3-5 Years&#8221;
                                         column represents amounts to be paid in 2022 and 2023 and the &#8220;More than 5 Years&#8221;
                                         column represents amounts to be paid after 2023.</font></td></tr></table>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-size: 8pt">(2)</font></td><td><font style="font-size: 8pt">Represents scheduled payments
                                         of principal and interest on the term loan, including the interest effects of the related
                                         interest rate swap agreement. See Note 8 to the accompanying Consolidated Financial Statements.</font></td></tr></table>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-size: 8pt">(3)</font></td><td><font style="font-size: 8pt">Represents scheduled payments
                                         of principal and interest on the revolving credit facility. See Note 8 to the accompanying
                                         Consolidated Financial Statements.</font></td></tr></table>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-size: 8pt">(4)</font></td><td><font style="font-size: 8pt">Represents scheduled payments
                                         for non-cancelable building lease commitments. See Note 15 to the accompanying Consolidated
                                         Financial Statements.</font></td></tr></table>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.25in"></td><td style="width: 0.25in"><font style="font-size: 8pt">(5)</font></td><td><font style="font-size: 8pt">Represents scheduled payments
                                         for supplemental retirements benefits. See Note 14 to the accompanying Consolidated Financial
                                         Statements.</font></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company requires cash to pay its operating expenses, purchase capital equipment,
and to service the obligations listed above. The Company&#8217;s principal sources of funds are its operations and its revolving
credit facility. Although the Company generated cash from operations in the year ended December 31, 2018, it cannot guarantee that
its operations will generate cash in future periods. Subject to the Risk Factors set forth in Part I, Item 1A of this Report and
the general disclaimers set forth in our Special Note Regarding Forward-Looking Statements at the outset of this Report, we believe
that cash flow from operations will provide us with sufficient funds in order to fund our expected operations over the next twelve
months.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 22; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0">The Company does not believe inflation has had a material impact on its results of operations
in the last three years.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Off-Balance-Sheet Arrangements</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">In addition to operating leases, the Company&#8217;s off-balance-sheet arrangements include
standby letters of credit which are included in the Company&#8217;s revolving credit facility. As of December 31, 2018, there was
approximately $600,000 in standby letters of credit drawable as a financial guarantee on worker&#8217;s compensation insurance
policies.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>Critical Accounting Policies</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The preparation of consolidated financial statements requires the Company to make estimates
and judgments that affect the reported amounts of assets, liabilities, revenues, and expenses, and related disclosure of contingent
assets and liabilities. On an ongoing basis, the Company evaluates its estimates, including those related to product returns, bad
debts, inventories, intangible assets, income taxes, warranty obligations, restructuring charges, contingencies, and litigation.
The Company bases its estimates on historical experience and on various other assumptions believed to be reasonable under the circumstances,
including current and anticipated worldwide economic conditions, both in general and specifically in relation to the packaging
and component product industries, the results of which form the basis for making judgments about the carrying values of assets
and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates under different
assumptions or conditions.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company&#8217;s significant accounting policies are described in Note 1 to the consolidated
financial statements included in Item 8 of this Report. The Company believes the following critical accounting policies necessitated
that significant judgments and estimates be used in the preparation of its consolidated financial statements.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company has reviewed these policies with its Audit Committee.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i><u>Revenue Recognition </u></i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company recognizes revenue when a customer obtains control of a promised
good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to
in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of
Accounting Standards Codification (&#8220;ASC&#8221;) 606 which include (1) identifying the contract with a customer, (2)
identifying separate performance obligations within the contract, (3) determining the transaction price, (4) allocating the
transaction price to the performance obligations, and (5) recognizing revenue. The Company recognizes all but an immaterial
portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily
upon customer acceptance, with the exception of certain tooling where control does not transfer to the customer, which
results in revenue being recognized over the estimated time for which parts are produced with the use of each respective
tool. The Company recognizes revenue from engineering services as the services are performed. Although only applicable to an
insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company
has elected to account for shipping and handling activities for which the Company is responsible under the terms and
conditions of the sale not as performance obligations but rather as fulfillment costs. These activities are required to
fulfill the Company&#8217;s promise to transfer the good and are expensed when revenue is recognized.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 23; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0"><i><u>Goodwill</u></i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="margin: 0pt 0; font-size: 10pt">Goodwill is tested for impairment annually and will be tested for impairment between
annual tests if an event occurs or circumstances change that would indicate that the carrying amount may be impaired. Impairment
testing for goodwill is done at a reporting unit level. Reporting units are one level below the business segment level but can
be combined when reporting units within the same segment have similar economic characteristics. An impairment loss generally would
be recognized when the carrying amount of the reporting unit&#8217;s net assets exceeds the estimated fair value of the reporting
unit. The Company consists of a single reporting unit. In testing goodwill for impairment at December 31, 2018, the Company primarily
utilized the guideline public company (&#8220;GPC&#8221;) method under the market approach and the discounted cash flows method
(&#8220;DCF&#8221;) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting
unit&#8217;s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through
the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value
of a series of estimated future cash flows at the valuation date by the application of a discount rate, one that a prudent investor
would require before making an investment in our equity securities. The key assumptions used in our approach included:</p>

<p style="margin: 0pt 0; font-size: 10pt">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 9pt"></td><td style="width: 0.5in"><font style="font-family: Symbol">&#183;</font></td><td>The reporting unit&#8217;s estimated financials and five-year projections of financial results, which were based on our strategic
plans and long-range forecasts. Sales growth rates represent estimates based on current and forecasted sales mix and market conditions.
The profit margins were projected based on historical margins, projected sales mix, current expense structure and anticipated expense
modifications.</td></tr></table>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 9pt"></td><td style="width: 0.5in"><font style="font-family: Symbol">&#183;</font></td><td>The projected terminal value which reflects the total present value of projected cash flows beyond the last period in the DCF.
This value reflects a growth rate for the reporting unit, which is approximately the same growth rate of expected inflation into
perpetuity.</td></tr></table>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 9pt"></td><td style="width: 0.5in"><font style="font-family: Symbol">&#183;</font></td><td>The discount rate determined using a Weighted Average Cost of Capital method (&#8220;WACC&#8221;), which considered market
and industry data as well as Company-specific risk factors.</td></tr></table>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 9pt"></td><td style="width: 0.5in"><font style="font-family: Symbol">&#183;</font></td><td>Selection of guideline public companies which are similar in size and market capitalization to each other and to the Company.</td></tr></table>

<p style="margin: 0pt 0; font-size: 10pt">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">As of December 31, 2018, based on our calculations under the above noted approach, the
fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations,
management used its most reasonable estimates of the key assumptions discussed above. If our actual operating results and/or the
key assumptions utilized in management&#8217;s calculations differ from our expectations, it is possible that a future impairment
charge may be necessary.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i><u>Accounts Receivable</u></i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company periodically reviews the collectability of its accounts receivable. Provisions
are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable requires management&#8217;s
judgment. Conditions impacting the realizability of the Company&#8217;s receivables could cause actual asset write-offs to be materially
different than the reserved balances as of December 31, 2018.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i><u>Inventories</u></i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Inventories include material, labor, and manufacturing overhead and are valued at the
lower of cost or net realizable value. Cost is determined using the first-in, first-out (FIFO) method.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company periodically reviews the realizability of its inventory for potential excess
or obsolescence. Determining the net realizable value of inventory requires management&#8217;s judgment. Conditions impacting the
realizability of the Company&#8217;s inventory could cause actual asset write-offs to be materially different than the Company&#8217;s
current estimates as of December 31, 2018.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><i><u>Recent Accounting Pronouncements</u></i></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Refer to Note 1, &#8220;Summary of Significant Accounting Policies,&#8221; in the accompanying
notes to the consolidated financial statements for a discussion of recent accounting pronouncements.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 7A.</b></td><td><b>QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK </b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The following discussion of the Company's market risk includes "forward-looking statements" that involve risk and uncertainties.
Actual results could differ materially from those projected in the forward-looking statements.</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">Market risk represents the risk
of changes in value of a financial instrument caused by fluctuations in interest rates, foreign exchange rates, and equity
prices. At December 31, 2018, the Company's cash and cash equivalents consisted of bank accounts in U.S. dollars, and their
valuation would not be affected by market risk. Interest under the Company's credit facility with Bank of America, N.A. calls
for interest of LIBOR plus a margin that ranges from 1.0% to 1.5% or, at the discretion of the Company, the bank's prime rate
less a margin that ranges from .25% to zero. Therefore, future operations could be affected by interest rate changes. As of
December 31, 2018, the applicable interest rate was approximately 3.52%. The Company uses interest-rate-related derivative
instruments to manage its exposure related to changes in interest rates. In connection with this credit facility, the Company
entered into a $20 million, 5-year interest rate swap agreement under which the Company receives three-month LIBOR plus the
applicable margin and pays a 2.7% fixed rate plus the applicable margin. The swap modifies the Company's interest rate exposure
by converting the term loan from a variable rate to a fixed rate in order to hedge against the possibility of rising interest
rates during the term of the loan.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 24; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 8.</b></td><td><b>FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The consolidated financial statements and supplementary data of the company are listed
under Part IV, Item&nbsp;15, in this Report.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 9.</b></td><td><b>CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">None.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>


<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 9A.</b></td><td><b>CONTROLS AND PROCEDURES</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Disclosure Controls and Procedures</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>


<p style="font-size: 10pt; margin: 0pt 0">The Company carried out an evaluation, under the supervision and with the participation
of its management, including the Chief Executive Officer and Chief Financial Officer, of the effectiveness of the design and operation
of the Company&#8217;s &#8220;disclosure controls and procedures&#8221; (as defined in Exchange Act Rule 13a-15(e) and 15d-15(e))
as of the end of the period covered by this Report (the &#8220;Evaluation Date&#8221;). Based upon that evaluation, the Chief Executive
Officer and Chief Financial Officer concluded that, as of the Evaluation Date, the Company&#8217;s disclosure controls and procedures
are effective to ensure that information required to be disclosed in the reports that the Company files or submits under the Exchange
Act is (i) recorded, processed, summarized and reported, within the time periods specified in the Securities and Exchange Commission&#8217;s
rules and forms and (ii) accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial
Officer, as appropriate to allow timely decisions regarding required disclosure.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company closed the acquisition of Dielectrics on February 1, 2018, and Dielectrics&#8217;
total assets and revenues constituted 43.3% and 19.0%, respectively, of the Company&#8217;s consolidated total assets and revenues
as shown on our consolidated financial statements as of and for the year ended December 31, 2018. As the acquisition occurred in
the first quarter of fiscal 2018, the Company excluded Dielectrics&#8217; internal control over financial reporting from the scope
of the assessment of the effectiveness of the Company&#8217;s disclosure controls and procedures. This exclusion is in accordance
with the general guidance issued by the Staff of the Securities and Exchange Commission that an assessment of a recently-acquired
business may be omitted from the scope in the year of acquisition, if specified conditions are satisfied.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Management&#8217;s Report on Internal Control Over Financial Reporting</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company&#8217;s management is responsible for establishing and maintaining an adequate
system of internal control over financial reporting, as defined in Exchange Act Rule 13a-15(f) and 15d-15(f). The Company&#8217;s
internal control over financial reporting is designed to provide reasonable assurance regarding the reliability of financial reporting
and the preparation of financial statements for external purposes in accordance with GAAP.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Because of its inherent limitations, internal control over financial reporting may not
prevent or detect misstatements. Therefore, even those systems determined to be effective can provide only reasonable assurance,
as opposed to absolute assurance, of achieving their internal control objectives.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Management conducted an assessment of the Company&#8217;s internal control over financial
reporting as of December 31, 2018, based on criteria established in the 2013 Internal Control &#8211; Integrated Framework issued
by the Committee of Sponsoring Organizations of the Treadway Commission (COSO). Except as described above relating to Dielectrics,
based on the assessment, management concluded that, as of December 31, 2018, the Company&#8217;s internal control over financial
reporting is effective.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The Company&#8217;s internal control over financial reporting as of December 31, 2018,
has been audited by Grant Thornton LLP, an independent registered public accounting firm, who also audited the Company&#8217;s
consolidated financial statements. Grant Thornton&#8217;s attestation report on the Company&#8217;s internal control over financial
reporting is included herein.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 25; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0">There was no change in the Company&#8217;s internal control over financial reporting
that occurred during the Company&#8217;s most recently completed fiscal quarter that has materially affected, or is reasonably
likely to materially affect, the Company&#8217;s internal control over financial reporting.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 9B.</b></td><td><b>OTHER INFORMATION</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">None.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><font style="text-transform: uppercase"><b><u>PART III</u></b></font></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 10.</b></td><td><b>DIRECTORS, EXECUTIVE OFFICERS, AND CORPORATE GOVERNANCE</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The information required by this Item 10 is hereby incorporated by reference to the Company&#8217;s
definitive proxy statement to be filed by the Company within 120 days after the close of its fiscal year.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 11.</b></td><td><b>EXECUTIVE COMPENSATION</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The information required by this Item 11 is hereby incorporated by reference to the Company&#8217;s
definitive proxy statement to be filed by the Company within 120 days after the close of its fiscal year.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 12.</b></td><td style="padding-right: 49.5pt"><b>SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND&nbsp;MANAGEMENT AND RELATED STOCKHOLDER
MATTERS</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The information required by this Item 12 is hereby incorporated by reference to the Company&#8217;s
definitive proxy statement to be filed by the Company within 120 days after the close of its fiscal year.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 13.</b></td><td style="padding-right: 49.5pt"><b>CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The information required by this Item 13 is hereby incorporated by reference to the Company&#8217;s
definitive proxy statement to be filed by the Company within 120 days after the close of its fiscal year.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 14.</b></td><td style="padding-right: 49.5pt"><b>PRINCIPAL ACCOUNTING FEES AND SERVICES</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The information required by this Item 14 is hereby incorporated by reference to the Company&#8217;s
definitive proxy statement to be filed by the Company within 120 days after the close of its fiscal year.</p>

<p style="font-size: 10pt; margin: 0pt 0"><font style="text-transform: uppercase"><b>&nbsp;</b></font></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><font style="text-transform: uppercase"><b>&nbsp;</b></font></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><font style="text-transform: uppercase"><b><u>PART IV</u></b></font></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 15.</b></td><td style="padding-right: 49.5pt"><b>EXHIBITS AND FINANCIAL STATEMENT SCHEDULES</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="width: 5%; font-size: 10pt; padding-bottom: 1pt">(a) (1)</td><td style="width: 1%; font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="width: 78%; font-size: 10pt; text-align: left; padding-bottom: 1pt"><u>Financial Statements</u></td><td style="width: 1%; font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="width: 15%; font-size: 10pt; padding-bottom: 1pt; text-align: center"><u>Page</u></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left"><a href="#a_008">Index to Consolidated Financial Statements and Financial Statement Schedule</a></td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center"><a href="#a_008">F-2</a></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left"><a href="#a_001">Reports of Independent Registered Public Accounting Firm</a></td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center"><a href="#a_001">F-3</a></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt"><a href="#a_002">Consolidated Balance Sheets as of December 31, 2018 and 2017</a></td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center"><a href="#a_002">F-5</a></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left"><a href="#a_003">Consolidated Statements of Income for the years ended December 31, 2018, 2017 and 2016</a></td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center"><a href="#a_003">F-6</a></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left"><a href="#a_004">Consolidated Statements of Stockholders&#8217; Equity for the years ended December&nbsp;31, 2018, 2017 and 2016</a></td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center"><a href="#a_004">F-7</a></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left"><a href="#a_005">Consolidated Statements of Cash Flows for the years ended December 31, 2018, 2017 and 2016</a></td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center"><a href="#a_005">F-8</a></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left"><a href="#a_006">Notes to Consolidated Financial Statements</a></td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center"><a href="#a_006">F-9</a></td></tr>
</table>


<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<!-- Field: Page; Sequence: 26; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<p style="font-size: 10pt; margin: 0pt 0"></p>

<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="width: 5%; font-size: 10pt; padding-bottom: 1pt">(a) (2)</td>
    <td style="width: 1%; font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="width: 78%; font-size: 10pt; text-align: left; padding-bottom: 1pt"><u>Financial Statement Schedule</u></td>
    <td style="width: 1%; font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="width: 15%; font-size: 10pt; padding-bottom: 1pt; text-align: center">&nbsp;</td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left"><a href="#a_007">Schedule II &#8211; Valuation and Qualifying Accounts</a></td>
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center"><a href="#a_007">F-32</a></td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td>
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center">&nbsp;</td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt">All other schedules have been omitted because they are not required, not
applicable, or the required information is otherwise included.</td>
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center">&nbsp;</td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td>
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center">&nbsp;</td></tr>
<tr style="vertical-align: bottom">
    <td style="font-size: 10pt">(a) (3)</td>
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">Exhibits</td>
    <td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: center">&nbsp;</td></tr>
</table>

<p style="margin: 0">&nbsp;</p>



<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>Exhibit Index</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr style="vertical-align: top">
    <td style="width: 10%"><font style="font-size: 10pt"><u>Number</u></font></td>
    <td style="width: 90%"><font style="font-size: 10pt"><u>Description of Exhibit</u></font></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465904014466/a04-5717_1ex3d01.htm"><font style="font-size: 10pt">3.01</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465904014466/a04-5717_1ex3d01.htm"><font style="font-size: 10pt">Certificate of Incorporation of the Company, as amended (incorporated by reference to Exhibit 3.01 to the Company&#8217;s Quarterly Report on Form 10-Q for the quarter ended March 31, 2004, filed with the SEC on May 15, 2004 (SEC File No. 001-12648)).</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465909019501/a09-8420_1ex3d02.htm"><font style="font-size: 10pt">3.02</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465909019501/a09-8420_1ex3d02.htm"><font style="font-size: 10pt">Amended and Restated Certificate of Designation of Series&nbsp;A Junior Participating Preferred Stock of the Company (incorporated by reference to Exhibit 3.02 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on March 24, 2009 (SEC File No. 001-12648)).</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465909019501/a09-8420_1ex3d03.htm"><font style="font-size: 10pt">3.03</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465909019501/a09-8420_1ex3d03.htm"><font style="font-size: 10pt">Amended and Restated Bylaws of the Company (incorporated by reference to Exhibit 3.03 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on March 24, 2009 (SEC File No. 001-12648)).</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">4.01</font></td>
    <td><font style="font-size: 10pt">Specimen Certificate for shares of the Company&#8217;s Common Stock (incorporated by reference to Exhibit 4.01 to the Company&#8217;s Registration Statement on Form S-1, filed with the SEC on December 15, 1993) (filed in paper format).</font></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465904014466/a04-5717_1ex3d01.htm"><font style="font-size: 10pt">4.02</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465904014466/a04-5717_1ex3d01.htm"><font style="font-size: 10pt">Description of Capital Stock (contained in the Certificate of Incorporation of the Company, as amended, filed as Exhibit 3.01 hereto).</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465909019501/a09-8420_1ex4d03.htm"><font style="font-size: 10pt">4.03</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465909019501/a09-8420_1ex4d03.htm"><font style="font-size: 10pt">Rights Agreement, dated as of March 20, 2009, by and between the Company and American Stock Transfer &amp; Trust Company, LLC, as Rights Agent, which includes as <u>Exhibit&nbsp;A</u>, the Form of Amended and Restated Certificate of Designation of Series&nbsp;A Junior Participating Preferred Stock, as <u>Exhibit&nbsp;B</u>, the Form of Rights Certificate, and as <u>Exhibit&nbsp;C</u>, the Summary of Rights to Purchase Shares of Preferred Stock of UFP Technologies, Inc. (incorporated by reference to Exhibit 4.03 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on March 24, 2009 (SEC File No. 001-12648)).</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">10.01</font></td>
    <td><font style="font-size: 10pt">Form of Indemnification Agreement for directors and officers of the Company (incorporated by reference to Exhibit 10.30 to the Company&#8217;s Registration Statement on Form S-1, filed with the SEC on December 15, 1993) (filed in paper format). # </font></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465906074309/a06-21734_1ex10d41.htm"><font style="font-size: 10pt">10.02</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465906074309/a06-21734_1ex10d41.htm"><font style="font-size: 10pt">Executive Non-qualified Excess Plan (incorporated by reference to Exhibit 10.41 to the Company&#8217;s Quarterly Report on Form 10-Q for the three months ended September 30, 2006, filed with the SEC on November 13, 2006 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
</table>

<p style="margin: 0">&nbsp;</p>

<!-- Field: Page; Sequence: 27; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="margin: 0"></p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr style="vertical-align: top">
    <td style="width: 10%"><font style="font-size: 10pt"><u>Number</u></font></td>
    <td style="width: 90%"><font style="font-size: 10pt"><u>Description of Exhibit</u></font></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465907074758/a07-26575_1ex10d28.htm"><font style="font-size: 10pt">10.03</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465907074758/a07-26575_1ex10d28.htm"><font style="font-size: 10pt">Employment Agreement with R. Jeffrey Bailly dated October 8, 2007 (incorporated by reference to Exhibit 10.28 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on October 12, 2007 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465913040114/a13-8367_1ex10d66.htm"><font style="font-size: 10pt">10.04</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465913040114/a13-8367_1ex10d66.htm"><font style="font-size: 10pt">2009 Non-Employee Director Stock Incentive Plan (incorporated by reference to Exhibit 10.66 to the Company&#8217;s Quarterly Report on Form 10-Q for the quarter ended March 31, 2013, filed with the SEC on May 10, 2013 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465911012958/a11-7465_1ex10d56.htm"><font style="font-size: 10pt">10.05</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465911012958/a11-7465_1ex10d56.htm"><font style="font-size: 10pt">Amendment No. 1 to Employment Agreement with R. Jeffrey Bailly (incorporated by reference to Exhibit 10.56 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on March 8, 2011 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465912076312/a12-19580_1ex10d61.htm"><font style="font-size: 10pt">10.06</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465912076312/a12-19580_1ex10d61.htm"><font style="font-size: 10pt">Facility Lease between the Company and Susana Property Co. (incorporated by reference to Exhibit 10.61 to the Company&#8217;s Quarterly Report on Form 10-Q for the period ended September 30, 2012, filed with the SEC on November 9, 2012 (SEC File No. 001-12648)).</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465913013257/a13-5868_1ex10d62.htm"><font style="font-size: 10pt">10.07</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465913013257/a13-5868_1ex10d62.htm"><font style="font-size: 10pt">Amendment No. 2 to Employment Agreement with R. Jeffrey Bailly (incorporated by reference to Exhibit 10.62 to the Company&#8217;s Current Report on Form 8-K, filed with SEC on February 22, 2013 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465916100550/a16-5323_1ex10d1.htm"><font style="font-size: 10pt">10.08</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465916100550/a16-5323_1ex10d1.htm"><font style="font-size: 10pt">Form of 2016 CEO Stock Unit Award Agreement (incorporated by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on February 26, 2016 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465916100550/a16-5323_1ex10d2.htm"><font style="font-size: 10pt">10.09</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000110465916100550/a16-5323_1ex10d2.htm"><font style="font-size: 10pt">Form of 2016 Stock Unit Award Agreement (incorporated by reference to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on February 26, 2016 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184317001162/exh_101.htm"><font style="font-size: 10pt">10.10</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184317001162/exh_101.htm"><font style="font-size: 10pt">Form of 2017 CEO Stock Unit Award Agreement (incorporated by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on February 27, 2017 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184317001162/exh_102.htm"><font style="font-size: 10pt">10.11</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184317001162/exh_102.htm"><font style="font-size: 10pt">Form of 2017 Stock Unit Award Agreement (incorporated by reference to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on February 27, 2017 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318001514/exh_101.htm"><font style="font-size: 10pt">10.12</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318001514/exh_101.htm"><font style="font-size: 10pt">Form of 2018 CEO Stock Unit Award Agreement (incorporated by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on February 28, 2018 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318001514/exh_102.htm"><font style="font-size: 10pt">10.13</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318001514/exh_102.htm"><font style="font-size: 10pt">Form of 2018 Stock Unit Award Agreement (incorporated by reference to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on February 28, 2018 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184319001189/exh_101.htm"><font style="font-size: 10pt">10.14</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184319001189/exh_101.htm"><font style="font-size: 10pt">Form of 2019 CEO Stock Unit Award Agreement (incorporated by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on February 25, 2019 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184319001189/exh_102.htm"><font style="font-size: 10pt">10.15</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184319001189/exh_102.htm"><font style="font-size: 10pt">Form of 2019 Stock Unit Award Agreement (incorporated by reference to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K, filed with the SEC on February 25, 2019 (SEC File No. 001-12648)). #</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184317004876/exh_101.htm"><font style="font-size: 10pt">10.16</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184317004876/exh_101.htm"><font style="font-size: 10pt">First Amendment to Facility Lease between the Company and Susana Property Co. dated July 6, 2012 (incorporated by reference to Exhibit 10.1 to the Company&#8217;s Quarterly Report on Form 10-Q for the period ended June 30, 2017, filed with the SEC on August 9, 2017 (SEC File No. 001-12648)).</font></A></td>
    </tr>
</table>

<p style="margin: 0">&nbsp;</p>

<!-- Field: Page; Sequence: 28; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="margin: 0"></p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr style="vertical-align: top">
    <td style="width: 10%"><font style="font-size: 10pt"><u>Number</u></font></td>
    <td style="width: 90%"><font style="font-size: 10pt"><u>Description of Exhibit</u></font></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td style="width: 10%"><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318002024/exh_1019.htm"><font style="font-size: 10pt">10.17</font></A></td>
    <td style="width: 90%"><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318002024/exh_1019.htm"><font style="font-size: 10pt">Amended and Restated Credit and Guaranty Agreement, dated as of
    February     1, 2018 among the Company, the Guarantors from time to time party thereto and Bank of America, N.A., as
    Administrative Agent,     Swing Line Lender, L/C Issuer, Sole Lead Arranger and Sole Book Manager (incorporated by reference
    to Exhibit 10.19 to the Company&rsquo;s Annual Report on Form 10-K for the period ended December 31, 2017, filed with the SEC
    on March 18, 2018 (SEC File No. 001-12648)).</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318002024/exh_1020.htm"><font style="font-size: 10pt">10.18</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318002024/exh_1020.htm"><font style="font-size: 10pt">Stock Purchase Agreement, dated as of January 30, 2018, by and among the Company, the
    Sellers defined therein, Dielectrics and the Sellers&#8217; Representative (incorporated by reference to Exhibit 10.20 to
    the     Company&rsquo;s Annual Report on Form 10-K for the period ended December 31, 2017, filed with the SEC on March 18,
    2018 (SEC File No. 001-12648)).</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318002024/exh_1021.htm"><font style="font-size: 10pt">10.19</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318002024/exh_1021.htm"><font style="font-size: 10pt">Agreement for the Purchase and Sale of Personal Goodwill, dated as of January 30, 2018, by
    and among the Company and Eric C. Stahl (incorporated by reference to Exhibit 10.21 to the Company&rsquo;s Annual Report on
    Form 10-K for the period ended December 31, 2017, filed with the SEC on March 18, 2018 (SEC File No. 001-12648)).</font></A></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318002024/exh_1022.htm"><font style="font-size: 10pt">10.20</font></A></td>
    <td><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318002024/exh_1022.htm"><font style="font-size: 10pt">Lease dated as of February 1, 2018, by and between Eric C. Stahl and the Company
    (incorporated by reference to Exhibit 10.22 to the Company&rsquo;s Annual Report on Form 10-K for the period ended December
    31, 2017, filed with the SEC on March 18, 2018 (SEC File No. 001-12648)).</font></A></td>
    </tr>
<TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
<TR STYLE="vertical-align: top">
    <TD><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318003794/exh_103.htm">10.21</A></TD>
    <TD><A HREF="http://www.sec.gov/Archives/edgar/data/914156/000117184318003794/exh_103.htm">Amended and Restated 2003 Incentive Plan (incorporated by reference to Exhibit 10.3 to the Company&rsquo;s Quarterly
Report on Form 10-Q for the period ended March 31, 2018, filed with the SEC on May 10, 2018 (SEC File No. 001-12648))# *</A></TD></TR>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><a href="exh_2101.htm"><font style="font-size: 10pt">21.01</font></a></td>
    <td><a href="exh_2101.htm"><font style="font-size: 10pt">Subsidiaries of the Company. *</font></a></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><a href="exh_2301.htm"><font style="font-size: 10pt">23.01</font></a></td>
    <td><a href="exh_2301.htm"><font style="font-size: 10pt">Consent of Grant Thornton LLP. *</font></a></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><a href="exh_3101.htm"><font style="font-size: 10pt">31.01</font></a></td>
    <td><a href="exh_3101.htm"><font style="font-size: 10pt">Certification of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002. *</font></a></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><a href="exh_3102.htm"><font style="font-size: 10pt">31.02</font></a></td>
    <td><a href="exh_3102.htm"><font style="font-size: 10pt">Certification of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002. *</font></a></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><a href="exh_3201.htm"><font style="font-size: 10pt">32.01</font></a></td>
    <td><a href="exh_3201.htm"><font style="font-size: 10pt">Certification of Chief Executive Officer and Chief Financial Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002. **</font></a></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">101.INS </font></td>
    <td><font style="font-size: 10pt">XBRL Instance Document. *</font></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">101.SCH </font></td>
    <td><font style="font-size: 10pt">XBRL Taxonomy Extension Schema Document. *</font></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">101.CAL </font></td>
    <td><font style="font-size: 10pt">XBRL Taxonomy Calculation Linkbase Document. *</font></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">101.LAB</font></td>
    <td><font style="font-size: 10pt">XBRL Taxonomy Label Linkbase Document. *</font></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">101.PRE</font></td>
    <td><font style="font-size: 10pt">XBRL Taxonomy Presentation Linkbase Document. *</font></td>
    </tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">101.DEF</font></td>
    <td><font style="font-size: 10pt">XBRL Taxonomy Extension Definition Linkbase Document. * </font></td>
    </tr>
</table>

<p style="font-size: 10pt; text-indent: -63pt; margin: 0pt 49.5pt 0pt 63pt"><b>&nbsp;</b></p>
<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<TD STYLE="width: 4%"></td><TD STYLE="width: 3%">*</td><TD STYLE="width: 93%">Filed herewith.</td></tr>                                                                                           <TR STYLE="vertical-align: top">
<TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
</table>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<TD STYLE="width: 4%"></td><TD STYLE="width: 3%">**</td><TD STYLE="width: 93%">Furnished herewith.</td></tr>                                                                                                <TR STYLE="vertical-align: top">
<TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
</table>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<TD STYLE="width: 4%"></td><TD STYLE="width: 3%">#</td><TD STYLE="width: 93%">Indicates management contract or compensatory plan or arrangement.</td></tr></table>

<p style="font-size: 10pt; text-indent: -63pt; margin: 0pt 49.5pt 0pt 63pt"><b>&nbsp;</b></p>

<p style="font-size: 10pt; text-indent: -63pt; margin: 0pt 49.5pt 0pt 63pt"><b>&nbsp;</b></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt"><b>ITEM 16.</b></td><td style="padding-right: 49.5pt"><b>Form 10-K Summary</b></td></tr></table>

<p style="font-size: 10pt; text-indent: -63pt; margin: 0pt 49.5pt 0pt 63pt"><b>&nbsp;</b></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 63pt">None.</td><td style="padding-right: 49.5pt"></td></tr></table>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0 0pt 0.5in"><font style="text-transform: uppercase"><b>&nbsp;</b></font></p>

<p style="font-size: 10pt; margin: 0pt 0"><font style="text-transform: uppercase"><b>&nbsp;</b></font></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0 0pt 0.5in"><font style="text-transform: uppercase"></font></p>

<!-- Field: Page; Sequence: 29; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->29<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: center; margin: 0pt 0 0pt 0.5in"><font style="text-transform: uppercase"><b><u>SIGNATURES</u></b></font></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of
1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">UFP TECHNOLOGIES, INC.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr style="vertical-align: top">
    <td style="width: 9%"><font style="font-size: 10pt">Date:</font></td>
    <td style="width: 37%; border-bottom: Black 1pt solid"><font style="font-size: 10pt">March 15, 2019</font></td>
    <td style="width: 7%; text-align: center"><font style="font-size: 10pt">By:</font></td>
    <td style="width: 47%; border-bottom: Black 1pt solid"><font style="font-size: 10pt">/s/ R. Jeffrey Bailly</font></td></tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">R. Jeffrey Bailly, President</font></td></tr>
</table>
<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has
been signed below by the following persons on behalf of the registrant and in the capacities and on the date indicated.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr style="vertical-align: top">
    <td style="width: 25%"><font style="font-size: 10pt"><u>SIGNATURE</u></font></td>
    <td style="width: 5%">&nbsp;</td>
    <td style="width: 40%"><font style="font-size: 10pt"><u>TITLE</u></font></td>
    <td style="width: 5%">&nbsp;</td>
    <td style="width: 25%">
        <p style="font-size: 10pt; margin: 0pt 0"><u>DATE</u></p>
        <p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p></td></tr>
<tr style="vertical-align: top">
    <td style="border-bottom: Black 1pt solid"><font style="font-size: 10pt">/s/ R. Jeffrey Bailly</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">Chairman, Chief Executive Officer, </font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">March 15, 2019</font></td></tr>
<tr style="vertical-align: top">
    <td>
        <p style="font-size: 10pt; margin: 0pt 0">R. Jeffrey Bailly</p></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">President, and Director</font></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">/s/ Ronald J. Lataille</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">Chief Financial Officer, Senior Vice President,</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">March 15, 2019</font></td></tr>
<tr style="vertical-align: top">
    <td style="border-top: Black 1pt solid">
        <p style="font-size: 10pt; margin: 0pt 0">Ronald J. Lataille</p></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">Principal Financial and Accounting Officer</font></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">/s/ Daniel C. Croteau</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">Director</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">March 15, 2019</font></td></tr>
<tr style="vertical-align: top">
    <td style="border-top: Black 1pt solid"><font style="font-size: 10pt">Daniel C. Croteau </font></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">/s/ Cynthia Feldmann</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">Director</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">March 15, 2019</font></td></tr>
<tr style="vertical-align: top">
    <td style="border-top: Black 1pt solid"><font style="font-size: 10pt">Cynthia Feldmann</font></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td style="border-bottom: Black 1pt solid"><font style="font-size: 10pt">/s/ Marc Kozin</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">Director</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">March 15, 2019</font></td></tr>
<tr style="vertical-align: top">
    <td>
        <p style="font-size: 10pt; margin: 0pt 0">Marc Kozin</p></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td style="border-bottom: Black 1pt solid"><font style="font-size: 10pt">/s/ Thomas Oberdorf</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">Director</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">March 15, 2019</font></td></tr>
<tr style="vertical-align: top">
    <td>
        <p style="font-size: 10pt; margin: 0pt 0">Thomas Oberdorf</p></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td style="border-bottom: Black 1pt solid"><font style="font-size: 10pt">/s/ Robert W. Pierce, Jr.</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">Director</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">March 15, 2019</font></td></tr>
<tr style="vertical-align: top">
    <td>
        <p style="font-size: 10pt; margin: 0pt 0">Robert W. Pierce, Jr.</p></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td style="border-bottom: Black 1pt solid"><font style="font-size: 10pt">/s/ Lucia Luce Quinn</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">Director</font></td>
    <td>&nbsp;</td>
    <td><font style="font-size: 10pt">March 15, 2019</font></td></tr>
<tr style="vertical-align: top">
    <td><font style="font-size: 10pt">Lucia Luce Quinn </font></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td></tr>
</table>
<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 30; Value: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->30<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><font style="font-size: 12pt"><b>UFP TECHNOLOGIES, INC.</b></font></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">Consolidated Financial Statements</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">and Financial Statement Schedule</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">As of December 31, 2018 and 2017</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">And for the Years Ended December 31, 2018, 2017 and 2016</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">With Reports of Independent Registered Public Accounting Firm</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b></b></p>

<!-- Field: Page; Sequence: 31; Options: NewSection; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b><a name="a_008"></a>UFP TECHNOLOGIES, INC.</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0.25in 0pt 0">Index to Consolidated Financial Statements and Financial Statement Schedule</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<table cellspacing="0" cellpadding="0" style="width: 100%; border-collapse: collapse; font-size: 10pt">
<tr style="vertical-align: top">
    <td style="width: 80%; padding-left: 0.25in; text-indent: -0.25in">&nbsp;</td>
    <td style="width: 10%; text-align: right"><font style="font-size: 10pt"><u>Page</u>&nbsp;&nbsp;</font></td>
    <td style="width: 10%">&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td style="padding-left: 0.25in; text-indent: -0.25in"><a href="#a_001"><font style="font-size: 10pt">Reports of Independent Registered Public Accounting Firm</font></a></td>
    <td style="text-align: right"><a href="#a_001"><font style="font-size: 10pt">F-3</font></a></td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td style="padding-left: 0.25in; text-indent: -0.25in"><a href="#a_002"><font style="font-size: 10pt">Consolidated Balance Sheets as of December 31, 2018 and 2017</font></a></td>
    <td style="text-align: right"><a href="#a_002"><font style="font-size: 10pt">F-6</font></a></td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td style="padding-left: 0.25in; text-indent: -0.25in"><a href="#a_003"><font style="font-size: 10pt">Consolidated Statements of Income for the years ended December 31, 2018, 2017 and 2016</font></a></td>
    <td style="text-align: right"><a href="#a_003">
        F-7</a></td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td style="padding-left: 0.25in; text-indent: -0.25in"><a href="#a_004"><font style="font-size: 10pt">Consolidated Statements of Stockholders&#8217; Equity for the years ended December&nbsp;31,&nbsp;2018, 2017 and 2016</font></a></td>
    <td style="text-align: right"><a href="#a_004">
F-8</a></td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td style="padding-left: 0.25in; text-indent: -0.25in"><a href="#a_005"><font style="font-size: 10pt">Consolidated Statements of Cash Flows for the years ended December 31, 2018, 2017 and 2016</font></a></td>
    <td style="text-align: right"><a href="#a_005">
        F-9</a></td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#a_006"><font style="font-size: 10pt">Notes to Consolidated Financial Statements</font></a></td>
    <td style="text-align: right"><a href="#a_006"><font style="font-size: 10pt">F-10</font></a></td>
    <td>&nbsp;</td></tr>
<tr style="vertical-align: top">
    <td><a href="#a_007"><font style="font-size: 10pt">Schedule II - Valuation and Qualifying Accounts</font></a></td>
    <td style="text-align: right"><a href="#a_007"><font style="font-size: 10pt">F-32</font></a></td>
    <td>&nbsp;</td></tr>
</table>
<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b></b></p>

<!-- Field: Page; Sequence: 32; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b><a name="a_001"></a>REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">Board of Directors and Shareholders</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">UFP Technologies, Inc.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0"><b>Opinion on the financial statements </b></p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">We have audited the accompanying consolidated balance sheets of
UFP Technologies, Inc. (a Delaware corporation) and subsidiaries (the &#8220;Company&#8221;) as of December 31, 2018 and 2017,
the related consolidated statements of income, stockholders&#8217; equity, and cash flows for each of the three years in the period
ended December 31, 2018, and the related notes and financial statement schedule under Item 15(a) (collectively referred to as the
&#8220;financial statements&#8221;). In our opinion, the financial statements present fairly, in all material respects, the financial
position of the Company as of December 31, 2018 and 2017, and the results of its operations and its cash flows for each of the
three years in the period ended December 31, 2018, in conformity with accounting principles generally accepted in the United States
of America.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">We also have audited, in accordance with the standards of the Public
Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;), the Company&#8217;s internal control over financial reporting
as of December 31, 2018, based on criteria established in the 2013 <i>Internal Control&#8212;Integrated Framework</i> issued by
the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;), and our report dated March 15, 2019
expressed an unqualified opinion.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0"><b>Basis for opinion </b></p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">These financial statements are the responsibility of the Company&#8217;s
management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are
a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance
with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the
PCAOB.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">We conducted our audits in accordance with the standards of the
PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements
are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks
of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to
those risks. Such procedures included examining, on a test basis, evidence supporting the amounts and disclosures in the financial
statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as
well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis
for our opinion.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">/s/ GRANT THORNTON LLP</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">We have served as the Company&#8217;s auditor since 2005.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">Boston, Massachusetts</p>

<p style="font-size: 10pt; margin: 0pt 0">March 15, 2019</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 33; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"><b>REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">Board of Directors and Shareholders</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">UFP Technologies, Inc.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0"><b>Opinion on internal control over financial reporting</b>&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">We have audited the internal control over financial reporting of
UFP Technologies, Inc. (a Delaware corporation) and subsidiaries (the &#8220;Company&#8221;) as of December 31, 2018, based on
criteria established in the 2013 <i>Internal Control&#8212;Integrated Framework</i> issued by the Committee of Sponsoring Organizations
of the Treadway Commission (&#8220;COSO&#8221;). In our opinion, the Company maintained, in all material respects, effective internal
control over financial reporting as of December 31, 2018, based on criteria established in the 2013 <i>Internal Control&#8212;Integrated
Framework</i> issued by COSO.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">We also have audited, in accordance with the standards of the Public
Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;), the consolidated financial statements of the Company
as of and for the year ended December 31, 2018, and our report dated March 15, 2019 expressed an unqualified opinion on those financial
statements.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0"><b>Basis for opinion</b></p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">The Company&#8217;s management is responsible for maintaining effective
internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting,
included in the accompanying Management&#8217;s Report on Internal Control Over Financial Reporting (&#8220;Management&#8217;s
Report&#8221;). Our responsibility is to express an opinion on the Company&#8217;s internal control over financial reporting based
on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the
Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange
Commission and the PCAOB.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">We conducted our audit in accordance with the standards of the PCAOB.
Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control
over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control
over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness
of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances.
We believe that our audit provides a reasonable basis for our opinion.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">Our audit of, and opinion on, the Company&#8217;s internal control
over financial reporting does not include the internal control over financial reporting of Dielectrics Inc., a wholly-owned subsidiary,
whose financial statements reflect total assets and revenues constituting 43.3% and 19.0%, respectively, of the related consolidated
financial statement amounts as of and for the year ended December 31, 2018. As indicated in Management&#8217;s Report, Dielectrics
Inc. was acquired during 2018. Management&#8217;s assertion on the effectiveness of the Company&#8217;s internal control over financial
reporting excluded internal control over financial reporting of Dielectrics Inc.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0"><b>Definition and limitations of internal control over financial
reporting</b></p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">A company&#8217;s internal control over financial reporting is a
process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial
statements for external purposes in accordance with generally accepted accounting principles. A company&#8217;s internal control
over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable
detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance
that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted
accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations
of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized
acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 34; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">Because of its inherent limitations, internal control over financial
reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject
to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies
or procedures may deteriorate.</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">/s/ GRANT THORNTON LLP</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; margin: 0pt 0">Boston, Massachusetts</p>

<p style="font-size: 10pt; margin: 0pt 0">March 15, 2019</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 35; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><a name="a_002"></a><b>UFP TECHNOLOGIES, INC.</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>Consolidated Balance Sheets</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">(In thousands, except share data)</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><font style="text-transform: uppercase">&nbsp;</font></p>

<p style="font-size: 10pt; text-indent: -9pt; margin: 0pt 0 0pt 9pt; color: Red"></p>

<div data-td-taggable-table="" data-td-statement-type="balance-sheet"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; padding-left: 10pt; text-indent: -10pt">Assets</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Current assets:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 70%; font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Cash and cash equivalents</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">3,238</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">37,978</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Receivables, net</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">28,321</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">21,381</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Inventories</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">19,576</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">12,863</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Prepaid expenses</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,206</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,835</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt; text-indent: -10pt">Refundable income taxes</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">2,285</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">1,017</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 30pt; text-indent: -10pt">Total current assets</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">55,626</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">75,074</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Property, plant and equipment</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">111,779</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">106,716</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt; text-indent: -10pt">Less accumulated depreciation and amortization</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(54,112</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(53,064</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 30pt; text-indent: -10pt">Net property, plant and equipment</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">57,667</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">53,652</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-left: 10pt; text-indent: -10pt">Goodwill</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">51,838</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,322</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Intangible assets, net</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">22,232</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Non-qualified deferred compensation plan</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,034</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,015</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt; text-indent: -10pt">Other assets</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">201</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">144</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 30pt; text-indent: -10pt">Total assets</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">189,598</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">138,207</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; font-weight: bold; text-align: center; padding-left: 10pt; text-indent: -10pt">Liabilities and Stockholders&#8217; Equity</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Current liabilities:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Accounts payable</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">6,836</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">4,180</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Accrued expenses</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">8,458</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">5,466</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Deferred revenue</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,507</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">297</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt; text-indent: -10pt">Current installments of long-term debt</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">2,857</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 30pt; text-indent: -10pt">Total current liabilities</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">20,658</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">9,943</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Long-term debt, excluding current installments</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">22,286</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Deferred income taxes</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">4,129</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,440</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Non-qualified deferred compensation plan</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,044</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,030</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt; text-indent: -10pt">Other liabilities</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">24</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">82</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 30pt; text-indent: -10pt">Total liabilities</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">49,141</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">14,495</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Commitments and contingencies (Note 15)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Stockholders&#8217; equity:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-left: 20pt; text-indent: -10pt">Preferred stock, $.01 par value, 1,000,000 shares authorized; no shares issued</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 20pt; text-indent: -10pt">Common stock, $.01 par value, 20,000,000 shares authorized; 7,415,002 and
    7,385,443 shares issued and outstanding, respectively at December 31, 2018; and 7,309,909 and 7,280,350 shares issued and
    outstanding, respectively, at December 31, 2017</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">74</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">73</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Additional paid-in capital</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">29,168</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">26,664</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Retained earnings</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">111,802</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">97,562</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt; padding-bottom: 1pt">Treasury stock at cost, 29,559 shares at both December 31, 2018 and 2017</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left; border-bottom: Black 1pt solid">&nbsp;</td><td style="font-size: 10pt; text-align: right; border-bottom: Black 1pt solid">(587</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left; border-bottom: Black 1pt solid">&nbsp;</td><td style="font-size: 10pt; text-align: right; border-bottom: Black 1pt solid">(587</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt; text-indent: -10pt">Total stockholders' equity</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">140,457</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">123,712</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 10pt; text-indent: -10pt">Total liabilities and stockholders' equity</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">189,598</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">138,207</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="font-size: 10pt; text-indent: -9pt; margin: 0pt 0 0pt 9pt; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The accompanying notes are an integral part of these consolidated financial statements.</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 36; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><a name="a_003"></a><b>UFP TECHNOLOGIES, INC.</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>Consolidated Statements of Income</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">(In thousands, except per share data)</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<div data-td-taggable-table="" data-td-statement-type="income"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%; font-size: 10pt; text-align: left">Net sales</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">190,455</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">147,843</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">146,132</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 1pt">Cost of sales</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">142,147</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">112,356</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">111,482</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt">Gross profit</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">48,308</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">35,487</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">34,650</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Selling, general, and administrative expenses</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">27,758</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">23,845</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">24,105</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Acquisition costs</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,089</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Restructuring costs</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">63</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">420</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Material overcharge settlement</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(104</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(121</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(2,114</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">(Gain) Loss on sales of property, plant and equipment</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(47</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">7</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">2</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt">Operating income</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">19,612</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">11,693</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">12,237</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Interest income</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">47</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">216</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">149</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Interest expense</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1,320</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(50</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(69</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Other income</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">64</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt">Income before income tax provision</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">18,403</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">11,859</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">12,317</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Income tax expense</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">4,092</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">2,649</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">4,347</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 20pt">Net income</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">14,311</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">9,210</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">7,970</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Net income per common share outstanding:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-left: 10pt">Basic</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.95</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.27</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.11</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 10pt">Diluted</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.93</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.26</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">1.10</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">Weighted average common shares outstanding:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 10pt">Basic</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,347</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,248</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,190</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-left: 10pt">Diluted</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,430</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,337</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,275</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The accompanying notes are an integral part of these consolidated financial statements.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b></b></p>

<!-- Field: Page; Sequence: 37; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b><a name="a_004"></a>UFP TECHNOLOGIES, INC.</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>Consolidated Statements of Stockholders&#8217; Equity</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>Years Ended December 31, 2018, 2017 and 2016</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">(In thousands)</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<div data-td-taggable-table="" data-td-statement-type="stockholders-equity"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">Additional</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">Total</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Common Stock</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">Paid-in</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">Retained</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Treasury Stock</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">Stockholders'</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Shares</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Amount</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Capital</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Earnings</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Shares</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Amount</td><td style="font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Equity</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 23%; font-size: 10pt; font-weight: bold; padding-left: 10pt; text-indent: -10pt">Balance at December 31, 2015</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 8%; font-size: 10pt; text-align: right">7,140</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 8%; font-size: 10pt; text-align: right">72</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 8%; font-size: 10pt; text-align: right">23,705</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 8%; font-size: 10pt; text-align: right">80,382</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 8%; font-size: 10pt; text-align: right">30</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 8%; font-size: 10pt; text-align: right">(587</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">)</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 8%; font-size: 10pt; text-align: right">103,572</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Share-based compensation</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">33</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,056</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,056</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 10pt; text-indent: -10pt">Exercise of stock options net of shares presented for exercise</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">48</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">529</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">529</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Net share settlement of restricted stock units and stock option tax withholding</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(9</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(219</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(219</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Excess tax benefits on share-based compensation</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">145</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">145</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Net income</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">7,970</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">7,970</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; font-weight: bold; padding-left: 10pt; text-indent: -10pt">Balance at December 31, 2016</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">7,212</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">72</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">25,216</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">88,352</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">30</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">(587</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">113,053</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Share-based compensation</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">32</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,067</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,068</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 10pt; text-indent: -10pt">Exercise of stock options net of shares presented for exercise</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">47</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">676</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">677</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Net share settlement of restricted stock units and stock option tax withholding</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(11</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(295</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(296</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Net income</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">9,210</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">9,210</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; font-weight: bold; padding-left: 10pt; text-indent: -10pt">Balance at December 31, 2017</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">7,280</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">73</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">26,664</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">97,562</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">30</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">(587</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">123,712</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Share-based compensation</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">31</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,212</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,212</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-left: 10pt; text-indent: -10pt">Exercise of stock options net of shares presented for exercise</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">79</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,269</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,270</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Net share settlement of restricted stock units and stock option tax withholding</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(5</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(144</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(144</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Excess tax benefits on share-based compensation - adjustment</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">167</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">167</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">ASC 606 adjustments</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(71</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(71</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Net income</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">14,311</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">14,311</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; font-weight: bold; padding-left: 10pt; text-indent: -10pt">Balance at December 31, 2018</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">7,385</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">74</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">29,168</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">111,802</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">30</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">(587</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; border-bottom: Black 2.25pt double">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">140,457</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>





<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The accompanying notes are an integral part of these consolidated financial statements.</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 38; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b><a name="a_005"></a>UFP TECHNOLOGIES, INC.</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>Consolidated Statements of Cash Flows</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">(In thousands)</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><font style="text-transform: uppercase">&nbsp;</font></p>

<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<div data-td-taggable-table="" data-td-statement-type="cash-flows"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: center; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Cash flows from operating activities:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 55%; font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Net income from consolidated operations</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">14,311</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">9,210</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">7,970</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Adjustments to reconcile net income to net cash provided by operating
    activities:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 30pt; text-indent: -10pt">Depreciation and amortization</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,831</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">5,635</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">5,634</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 30pt; text-indent: -10pt">(Gain) loss on sales of property, plant and equipment</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(47</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 30pt; text-indent: -10pt">Share-based compensation</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,212</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,068</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,056</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 30pt; text-indent: -10pt">Deferred income taxes</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,881</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1,019</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">576</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 30pt; text-indent: -10pt">Excess tax benefits on share-based compensation</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(145</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 30pt; text-indent: -10pt">Changes in operating assets and liabilities:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 40pt; text-indent: -10pt">Receivables, net</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(2,556</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(132</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(3,768</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 40pt; text-indent: -10pt">Inventories</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(2,295</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,288</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">51</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 40pt; text-indent: -10pt">Prepaid expenses</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(249</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">446</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1,351</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 40pt; text-indent: -10pt">Refundable income taxes</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1,268</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(210</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">209</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 40pt; text-indent: -10pt">Other assets</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(76</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(228</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(97</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 40pt; text-indent: -10pt">Accounts payable</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,113</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">93</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(683</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 40pt; text-indent: -10pt">Accrued expenses</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,472</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">974</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(567</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 40pt; text-indent: -10pt">Deferred revenue</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">35</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">91</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">206</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 40pt; text-indent: -10pt">Non-qualified deferred compensation plan and other liabilities</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(44</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">246</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">213</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 50pt; text-indent: -10pt">Net cash provided by operating activities</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">21,320</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">17,469</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">9,306</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Cash flows from investing activities:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Additions to property, plant and equipment</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(5,428</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(10,382</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(7,206</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Acquisition of Dieletrics, net of cash acquired</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(76,978</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt; text-indent: -10pt">Proceeds from sale of property, plant and equipment</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">77</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">7</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">14</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 50pt; text-indent: -10pt">Net cash used in investing activities</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(82,329</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(10,375</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(7,192</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Cash flows from financing activities:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Proceeds from advances on revolving line of credit</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">36,000</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Payments on revolving line of credit</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(28,000</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Proceeds from the issuance of long-term debt</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">20,000</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Principal repayment of long-term debt</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(2,857</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(856</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1,014</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Proceeds from the exercise of stock options, net of shares presented for
    exercise</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,270</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">677</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">529</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt; text-indent: -10pt">Payment of statutory withholding for stock options exercised and restricted
    stock units vested</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(144</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(296</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(219</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt; text-indent: -10pt">Excess tax benefits on share-based compensation</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">145</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 50pt; text-indent: -10pt">Net cash provided by (used in) financing activities</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">26,269</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(475</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(559</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt; text-indent: -10pt">Net change in cash and cash equivalents</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(34,740</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">6,619</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,555</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt; text-indent: -10pt">Cash and cash equivalents at beginning of year</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">37,978</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">31,359</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">29,804</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 10pt; text-indent: -10pt">Cash and cash equivalents at end of year</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">3,238</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">37,978</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">31,359</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<p style="margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">The accompanying notes are an integral part of these consolidated financial statements.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 39; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b><a name="a_006"></a>UFP TECHNOLOGIES, INC.</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0.25in 0pt 0"><b>Notes to Consolidated Financial Statements</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; text-align: center; text-indent: -1in; margin: 0pt 0 0pt 1in"><b>&nbsp;</b></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(1)</b></td><td><b>Summary of Significant Accounting Policies</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">UFP Technologies, Inc. (&#8220;the Company&#8221;) is an innovative designer
and custom converter of foams, plastics, composites and natural fiber products principally serving the medical, automotive, aerospace
and defense, consumer, electronics and industrial markets. The Company was incorporated in the State of Delaware in 1993.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(a)</i></td><td><i>Principles of Consolidation</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The consolidated financial statements include the accounts and results of operations
of UFP Technologies, Inc., its wholly-owned subsidiaries, Moulded Fibre Technology, Inc., Simco Industries, Inc. Dielectrics, Inc.
and Stephenson &amp; Lawyer, Inc. and its wholly-owned subsidiary, Patterson Properties Corporation. All significant intercompany
balances and transactions have been eliminated in consolidation. The Company has evaluated all subsequent events through the date
of this filing.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(b)</i></td><td><i>Use of Estimates</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The preparation of consolidated financial statements in conformity with accounting
principles generally accepted in the United States of America requires management to make estimates and assumptions that affect
the reported amounts of assets and liabilities, including allowance for doubtful accounts and the net realizable value of inventory,
and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts
of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p>

<p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(c)</i></td><td><i>Fair Value Measurement</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company defines fair value as the price that would be received from selling
an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining
the fair value for assets and liabilities, which are required to be recorded at fair value, the Company considers the principal
or most advantageous market in which the Company would transact and the market-based risk measurement or assumptions that market
participants would use in pricing the asset or liability, such as inherent risk, transfer restrictions, and credit risk.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company has not elected fair value accounting for any financial instruments
for which fair value accounting is optional.</p>

<p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(d)</i></td><td><i>Fair Value of Financial Instruments</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Cash and cash equivalents, accounts receivable, accounts payable, accrued expenses
and other liabilities are stated at carrying amounts that approximate fair value because of the short maturity of those instruments.
The carrying amount of the Company&#8217;s long-term debt approximates fair value as the interest rate on the debt approximates
the Company&#8217;s current incremental borrowing rate.</p>

<p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(e)</i></td><td><i>Cash and Cash Equivalents</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company considers all highly liquid investments with original maturities
of three months or less to be cash equivalents. At December 31, 2018 the Company did not have any cash equivalents and at December
31, 2017, cash equivalents primarily consisted of money market accounts and certificates of deposit that are readily convertible
into cash.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company maintains its cash in bank deposit accounts, money market funds,
and certificates of deposit that at times exceed federally insured limits. The Company periodically reviews the financial stability
of institutions holding its accounts and does not believe it is exposed to any significant custodial credit risk on cash. The amounts
contained within the Company&#8217;s main operating accounts at Bank of America and TD Bank at December 31, 2018, exceed the federal
depository insurance limit by approximately $3.8&nbsp;million.</p>

<!-- Field: Page; Sequence: 40; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in"></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(f)</i></td><td><i>Accounts Receivable</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company periodically reviews the collectability of its accounts receivable.
Provisions are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable
requires management&#8217;s judgment. Conditions impacting the realizability of the Company&#8217;s receivables could cause actual
asset write-offs to be materially different than the reserved balances as of December 31, 2018.</p>

<p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(g)</i></td><td><i>Inventories</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Inventories include material, labor, and manufacturing overhead and are valued
at the lower of cost or net realizable value. Cost is determined using the first-in, first-out (&#8220;FIFO&#8221;) method.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company periodically reviews the realizability of its inventory for potential
excess or obsolescence. Determining the net realizable value of inventory requires management&#8217;s judgment. Conditions impacting
the realizability of the Company&#8217;s inventory could cause actual asset write-offs to be materially different than the Company&#8217;s
current estimates as of December 31, 2018.</p>

<p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(h)</i></td><td><i>Property, Plant, and Equipment</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Property, plant, and equipment are stated at cost and are depreciated or amortized
using the straight-line method over the estimated useful lives of the assets or the related lease term, if shorter.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Estimated useful lives of property, plant, and equipment are as follows:</p>

<p style="font-size: 10pt; text-align: justify; text-indent: -9pt; margin: 0pt 0 0pt 63pt">&nbsp;</p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 80%; margin: 0pt 0 0pt 1in">
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; margin: 0pt 0 0pt 1in; text-align: left; vertical-align: top"><font style="font-size: 10pt">Leasehold
    improvements</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="text-align: center; white-space: nowrap"><p style="margin-top: 0; margin-bottom: 0; text-align: center"></p>

<p style="margin-top: 0; margin-bottom: 0; text-align: center"><font style="font-size: 10pt">Shorter of estimated useful life or remaining lease term</font></p>

</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; margin: 0pt 0 0pt 1in; width: 63%"><font style="font-size: 10pt">Buildings and improvements  (in years)</font></td><td style="font-size: 10pt; width: 1%"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 12%; text-align: center"><font style="font-size: 10pt">20 </font></td>
    <td style="font-size: 10pt; width: 12%; text-align: center"><font style="font-size: 10pt">-</font></td>
    <td style="width: 12%; text-align: center"><font style="font-size: 10pt"> 40</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; margin: 0pt 0 0pt 1in"><font style="font-size: 10pt">Machinery &amp; Equipment</font>  (in years)</td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">7 </font></td>
    <td style="font-size: 10pt; text-align: center"><font style="font-size: 10pt">-</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">15</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; margin: 0pt 0 0pt 1in"><font style="font-size: 10pt">Furniture, fixtures, computers &amp;
    software</font> (in years)</td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">3 </font></td>
    <td style="font-size: 10pt; text-align: center"><font style="font-size: 10pt">-</font></td>
    <td style="text-align: center"><font style="font-size: 10pt"> 7</font></td></tr>
</table></div>


<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Property, plant, and equipment amounts are reviewed for impairment whenever
events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. An impairment loss would
be recognized when the carrying amount of an asset exceeds the estimated undiscounted future cash flows expected to result from
the use of the asset and its eventual disposition. The amount of the impairment loss to be recorded is calculated by the excess
of the asset&#8217;s carrying value over its fair value. No events or changes in circumstances arose during the year ended December
31, 2018 which required management to perform an impairment analysis.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(i)</i></td><td><i>Goodwill</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="margin: 0pt 0 0pt 1in; font-size: 10pt">Goodwill is tested for impairment annually and will be tested for impairment
between annual tests if an event occurs or circumstances change that would indicate that the carrying amount may be impaired. Impairment
testing for goodwill is done at a reporting unit level. Reporting units are one level below the business segment level but can
be combined when reporting units within the same segment have similar economic characteristics. An impairment loss generally would
be recognized when the carrying amount of the reporting unit&#8217;s net assets exceeds the estimated fair value of the reporting
unit. The Company consists of a single reporting unit. In testing goodwill for impairment at December 31, 2018, the Company primarily
utilized the guideline public company (&#8220;GPC&#8221;) method under the market approach and the discounted cash flows method
(&#8220;DCF&#8221;) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting
unit&#8217;s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through
the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value
of a series of estimated future cash flows at the valuation date by the application of a discount rate, one that a prudent investor
would require before making an investment in our equity securities. The key assumptions used in our approach included:</p>

<p style="margin: 0pt 0 0pt 1in; font-size: 10pt">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 1in"></td><td style="width: 0.5in"><font style="font-family: Symbol">&#183;</font></td><td>The reporting unit&#8217;s estimated financials and five-year projections of financial results, which were based on our strategic
plans and long-range forecasts. Sales growth rates represent estimates based on current and forecasted sales mix and market conditions.
The profit margins were projected based on historical margins, projected sales mix, current expense structure and anticipated expense
modifications.</td></tr></table>
<!-- Field: Page; Sequence: 41; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 1in"></td><td style="width: 0.5in"><font style="font-family: Symbol">&#183;</font></td><td>The projected terminal value which reflects the total present value of projected cash flows beyond the last period in the DCF.
This value reflects a growth rate for the reporting unit, which is approximately the same growth rate of expected inflation into
perpetuity.</td></tr></table>

<p style="margin: 0pt 0; font-size: 10pt">&nbsp;</p>
<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 1in"></td><td style="width: 0.5in"><font style="font-family: Symbol">&#183;</font></td><td>The discount rate determined using a Weighted Average Cost of Capital method (&#8220;WACC&#8221;), which considered market
and industry data as well as Company-specific risk factors.</td></tr></table>

<p style="margin: 0pt 0; font-size: 10pt">&nbsp;</p>
<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 1in"></td><td style="width: 0.5in"><font style="font-family: Symbol">&#183;</font></td><td>Selection of guideline public companies which are similar in size and market capitalization to each other and to the Company.</td></tr></table>

<p style="margin: 0pt 0; font-size: 10pt">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">As of December 31, 2018, based on our calculations under the above noted approach,
the fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations,
management used its most reasonable estimates of the key assumptions discussed above. If our actual operating results and/or the
key assumptions utilized in management&#8217;s calculations differ from our expectations, it is possible that a future impairment
charge may be necessary.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The net carrying amounts of goodwill for the years ended December 31, 2018 and
2017 are as follows (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0 0pt 1in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; margin: 0pt 0 0pt 1in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">Goodwill</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 65%; font-size: 10pt"><font style="font-size: 10pt">December 31, 2017</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="width: 12%; font-size: 10pt; text-align: right"><font style="font-size: 10pt">7,322</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 20%; background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; white-space: nowrap"><font style="font-size: 10pt">Acquired in Dielectrics business
    combination (See Note 22)</font></td><td style="font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><font style="font-size: 10pt">44,516</font></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.25pt"><font style="font-size: 10pt">December 31, 2018</font></td><td style="font-size: 10pt; padding-bottom: 2.25pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><font style="font-size: 10pt">51,838</font></td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0; text-indent: 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; text-indent: 1in">Approximately $47.9 million of goodwill is deductible for tax purposes.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(j)</i></td><td><i>Intangible Assets</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Intangible assets with a definite life are amortized on a straight-line basis,
with estimated useful lives ranging from 5 to 20 years. Intangible assets with a definite life are tested for impairment whenever
events or circumstances indicate that their carrying values may not be recoverable. No events or changes in circumstances arose
during the year ended December 31, 2018 which required management to perform an impairment analysis.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(k)</i></td><td><i>Revenue Recognition</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Beginning in 2018, the Company recognizes revenue when a customer
obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company
expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the
core principles of ASC 606 which include (1) identifying the contract with a customer, (2) identifying separate performance
obligations within the contract, (3) determining the transaction price, (4) allocating the transaction price to the
performance obligations, and (5) recognizing revenue. The Company recognizes all but an immaterial portion of its product
sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer
acceptance, with the exception of certain tooling where control does not transfer to the customer, which results in revenue
being recognized over the estimated time for which parts are produced with the use of each respective tool. The
Company recognizes revenue from engineering services as the services are performed. Although only applicable to an
insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company
has elected to account for shipping and handling activities for which the Company is responsible under the terms and
conditions of the sale not as performance obligations but rather as fulfillment costs. These activities are required to
fulfill the Company&#8217;s promise to transfer the good and are expensed when revenue is recognized.</p>

<p style="font-size: 10pt; text-indent: -1in; margin: 0pt 0 0pt 1in">&nbsp;</p>

<!-- Field: Page; Sequence: 42; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">For the years 2017 and 2016, prior to ASC 606, the Company recognized revenue
at the time of shipment when title and risk of loss have passed to the customer, persuasive evidence of an arrangement exists,
performance of its obligation is complete, its price to the buyer is fixed or determinable, and the Company is reasonably assured
of collection. Determination of these criteria, in some cases, requires management&#8217;s judgment.</p>

<p style="font-size: 10pt; text-indent: -1in; margin: 0pt 0 0pt 1in">&nbsp;</p>


<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(l)</i></td><td><i>Share-Based Compensation</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">When accounting for equity instruments exchanged for employee services, share-based
compensation cost is measured at the grant date, based on the calculated fair value of the award, and is recognized as an expense
over the employee&#8217;s requisite service period (generally the vesting period of the equity grant). Forfeitures are expensed
as they occur.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company issues share-based awards through several plans that are described
in detail in Note 12. The compensation cost charged against income for those plans is included in selling, general &amp; administrative
expenses as follows (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 1in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%; font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Share-based compensation expense</td><td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,212</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,068</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,056</td><td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The compensation expense for stock options granted during the three-year period
ended December&nbsp;31, 2018, was determined as the fair value of the options using the Black Scholes valuation model. The assumptions
are noted as follows:</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; margin: 0pt 0 0pt 1in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="13" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">Years
    Ended December 31,</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">2018</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="5" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">2017</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">2016</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 52%; font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><font style="font-size: 10pt">Expected
    volatility</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="width: 12%; font-size: 10pt; text-align: right"><font style="font-size: 10pt">27.7</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">%</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 5%; text-align: center"><font style="font-size: 10pt">27.4%
                                     </font></td><td style="width: 5%; font-size: 10pt; text-align: center"><font style="font-size: 10pt">- </font></td>
    <td style="width: 5%; text-align: center"><font style="font-size: 10pt">29.1%</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="width: 12%; font-size: 10pt; text-align: right"><font style="font-size: 10pt">29.7</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">%</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><font style="font-size: 10pt">Expected
    dividends</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">None</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: center"><font style="font-size: 10pt">None</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">None</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><font style="font-size: 10pt">Risk-free
    interest rate</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">2.7</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">%</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">1.56%</font></td><td style="font-size: 10pt; text-align: center"><font style="font-size: 10pt"> - </font></td>
    <td style="text-align: center"><font style="font-size: 10pt">1.84%</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">0.9</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">%</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-indent: -6.85pt; padding-left: 6.85pt"><font style="font-size: 10pt">Exercise price</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">31.20</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">$27.05 </font></td><td style="font-size: 10pt; text-align: center"><font style="font-size: 10pt">&#8211; </font></td>
    <td style="text-align: center"><font style="font-size: 10pt">$28.70</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">22.02</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><font style="font-size: 10pt">Expected
    term (in years)</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">6.0</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">2.7</font></td><td style="font-size: 10pt; text-align: center"><font style="font-size: 10pt"> to </font></td>
    <td style="text-align: center"><font style="font-size: 10pt">5.8 </font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">5.0</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><font style="font-size: 10pt">Weighted-average
    grant-date fair value</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">10.15</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="text-align: center"><font style="font-size: 10pt">5.59</font></td><td style="font-size: 10pt; text-align: right"><p style="font-size: 10pt; text-align: center; margin: 0pt 6.75pt 0pt 5.5pt"><font style="font-size: 10pt"> -</font></p></td>
    <td style="text-align: center"><font style="font-size: 10pt"> $8.51</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">6.11</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td></tr>
</table></div>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The stock volatility for each grant is determined based on a review of the experience
of the weighted average of historical daily price changes of the Company&#8217;s common stock over the expected option term, and
the risk-free interest rate is based on the U.S. Treasury yield curve in effect at the time of grant for periods corresponding
with the expected term of the option. The expected term is estimated based on historical option exercise activity.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The total income tax benefit recognized in the consolidated statements of income
for share-based compensation arrangements was approximately $544,000, $525,000 and $318,000 for the years ended December 31, 2018,
2017 and 2016, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(m)</i></td><td><i>Deferred Rent</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company accounts for escalating rental payments on a straight-line basis
over the term of the lease.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(n)</i></td><td><i>Shipping and Handling Costs</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Costs incurred related to shipping and handling are included in cost of sales.
Amounts charged to customers pertaining to these costs are included in net sales.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 43; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(o)</i></td><td><i>Income Taxes</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company&#8217;s income taxes are accounted for under the asset and liability
method. Under the asset and liability method, deferred tax assets and liabilities are recognized for the estimated future tax consequences
attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective
tax basis and operating loss and tax credit carryforwards. Deferred tax expense or benefit results from the net change during the
year in deferred tax assets and liabilities. The effect on deferred tax assets and liabilities of a change in tax rates is recognized
in income in the period that includes the enactment date.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company evaluates the need for a valuation allowance to reduce its deferred
tax assets to the amount that is more likely than not to be realized. The Company has considered future taxable income and ongoing
prudent and feasible tax planning strategies in assessing the need for a valuation allowance. Should the Company determine that
it would not be able to realize all or part of its deferred tax assets in the future, an adjustment to the deferred tax assets
would be charged to income in the period such determination was made.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company recognizes the tax benefit from an uncertain tax position only if
it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical
merits of the position. The tax benefits recognized in the consolidated financial statements from such positions are then measured
based on the largest benefit that has a greater than 50% likelihood of being realized upon settlement. The Company recognizes interest
and penalties accrued related to unrecognized tax benefits in tax expense.</p>

<p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><i>(p)</i></td><td><i>Segments and Related Information</i></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company follows the provisions of Accounting Standards Codification (ASC)
280, <i>Segment Reporting</i>, which establish standards for the way public business enterprises report information and operating
segments in annual financial statements (see Note 18).</p>

<p style="font-size: 10pt; text-indent: 4.3pt; margin: 0pt 0 0pt 22.3pt">&nbsp;</p>

<table cellpadding="0" cellspacing="0" style="width: 100%; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top; text-align: justify">
<td style="width: 0.5in; text-align: right"></td><td style="width: 0.5in"><i>(q)</i></td><td style="text-align: justify"><i>Treasury Stock</i></td>
</tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">The Company accounts for treasury stock under the cost method, using the first-in,
first out flow assumption, and we include treasury stock as a component of stockholders&#8217; equity. The Company did not repurchase
any shares of common stock during the years ended December 31, 2018 and 2017.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; text-indent: 0.5in"><i>Recent Accounting Pronouncements</i></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">In May 2014, the Financial Accounting Standards Board (FASB) issued Accounting
Standards Update (ASU) No. 2014-09, <i>Revenue from Contracts with Customers</i>, which was subsequently updated (&#8220;Accounting
Standards Codification (ASC) 606&#8221;). The Company adopted ASC 606 on January 1, 2018. See Note 2 for further details.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"><font style="background-color: white">In February 2016, the FASB issued ASU&nbsp;No.&nbsp;2016-02,&nbsp;&#8220;<i>Leases
(ASC 842),</i>&#8221; and issued subsequent amendments to the initial guidance in January 2018 within ASU&nbsp;No.&nbsp;2018-01&nbsp;and
in July 2018 within ASU Nos.&nbsp;2018-10&nbsp;and&nbsp;2018-11.&nbsp;The standard requires lessees to recognize leases on the
balance sheet as a&nbsp;right-of-use (&#8220;ROU&#8221;)&nbsp;asset and a lease liability, other than leases that meet the definition
of a short-term lease. The liability will be equal to the present value of the lease payments. The asset will be based on the liability,
subject to adjustment. Currently, under existing U.S. generally accepted accounting principles, the Company does not recognize
on the balance sheet a&nbsp;right-of-use&nbsp;asset or lease liability related to its operating leases. For income statement purposes,
the leases will continue to be classified as either operating or finance. Operating leases will result in straight-line expense
(similar to current operating leases) and finance leases will result in a front-loaded expense pattern (similar to current capital
leases). The standard is effective for fiscal years, and interim periods within those fiscal years, beginning after December&nbsp;15,
2018. Early adoption is permitted. The standard allows an entity to elect to have a date of initial application as of the beginning
of the period of adoption. The standard provides for the option to elect a package of practical expedients upon adoption. </font></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 44; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company adopted ASC 842 as of January 1, 2019, using a modified retrospective
approach and applying the standard&#8217;s transition provisions at January 1, 2019, the effective date. The Company elected the
package of practical expedients permitted under the transition guidance, which among other things, allows us to carryforward the
historical lease classification.&nbsp; In addition, the Company elected to combine the lease and non-lease components into a single
lease component for its leases and is making an accounting policy election to exclude from balance sheet reporting those leases
with initial terms of 12 months or less. The Company estimates that adoption of the standard will result in recognition of operating
lease ROU assets and lease liabilities of approximately&nbsp;$4.0 million&nbsp;and&nbsp;$4.1 million, respectively, with the difference
due to deferred rent that will be reclassified to the ROU asset value. We do not expect adoption of the standard to materially
affect our results of operations or cash flows.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"><font style="background-color: white">In January 2017, the FASB issued ASU&nbsp;No.&nbsp;2017-04,&nbsp;<i>Intangibles&#8212;Goodwill
and Other (ASC 350), Simplifying the Test for Goodwill Impairment</i>. The guidance removes Step 2 of the goodwill impairment test
and eliminates the need to determine the fair value of individual assets and liabilities to measure goodwill impairment. A goodwill
impairment will now be the amount by which a reporting unit&#8217;s carrying value exceeds its fair value, not to exceed the carrying
amount of goodwill. Entities will continue to have the option to perform a qualitative assessment to determine if a quantitative
impairment test is necessary. The guidance will be applied prospectively and is effective for annual and interim goodwill impairment
tests in fiscal years beginning after December&nbsp;15, 2019. Early adoption is permitted for any impairment tests performed on
testing dates after January&nbsp;1, 2017. The Company does not believe adoption will have a material impact on its financial condition
or results of operations.</font></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"><i>Revisions</i></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Certain revisions have been made to the December 31, 2017 Condensed Consolidated
Balance Sheet to conform to the current year presentation relating to a reclassification of deferred revenue. The reclassification
resulted in an increase in deferred revenue and a decrease in accrued expenses in the amount of approximately $297,000. In addition,
certain revisions have been made to the Condensed Consolidated Statements of Cash Flows for the years ended December 31, 2017 and
2016, also due to a reclassification of deferred revenue. The reclassification resulted in an increase to the change in deferred
revenue and a decrease in the change in accrued expenses in the amount of approximately $91,000 and $206,000 for the years ended
December 31, 2017 and 2016, respectively. These revisions had no impact on previously reported net income and are deemed immaterial
to the previously issued financial statements.</p>

<p style="margin-top: 0; margin-bottom: 0">&nbsp;</p></div><p style="margin-top: 0; margin-bottom: 0"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(2)</b></td><td><b>Revenue Recognition</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">On January 1, 2018, the Company adopted ASC 606, <i>Revenue from Contracts
with Customers</i>, using the modified retrospective transition method. Under this method, the Company applied ASC 606 to contracts
under which all performance obligations were not completed as of January 1, 2018 and recognized the cumulative effect of initially
applying the standard as an adjustment to the opening balance of retained earnings. Results for reporting periods beginning after
January 1, 2018 are presented in accordance with ASC 606. Prior period amounts are not adjusted and are reported in accordance
with requirements in ASC 605, <i>Revenue Recognition</i>, which is also referred to herein as &#8220;legacy GAAP&#8221;.</p>

<!-- Field: Page; Sequence: 45; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The cumulative effect of the adoption on our condensed consolidated balance
sheet, by applying the modified retrospective method as of January&nbsp;1, 2018, is as follows (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red; text-indent: 0.5in"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Reported</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Adjusted</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31, <br>
2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Cumulative <br>
Adjustments</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">January 1, <br>
2018</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">Assets:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 55%; font-size: 10pt; text-align: left">Property, plant and equipment</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">106,716</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">1,027</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">107,743</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Accumulated depreciation and amortization</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(53,064</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(548</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(53,612</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Net property, plant and equipment</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">53,652</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">479</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">54,131</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">Liabilities:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Deferred revenue</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">297</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">574</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">871</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Deferred income taxes</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,440</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(25</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,415</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Stockholders' equity:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Retained earnings</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">97,562</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(70</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">97,492</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following reflects the Company&#8217;s condensed consolidated balance
sheet and condensed consolidated statement of income on an as-reported basis and as if we had continued to recognize revenue under
legacy GAAP (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31, 2018</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Reported</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Balances <br>
without <br>
adoption of <br>
ASC 606</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Difference</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="white-space: nowrap; font-size: 10pt">Assets:</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 55%; font-size: 10pt; text-align: left">Property, plant and equipment</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">111,779</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">110,372</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">1,407</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Accumulated depreciation and amortization</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(54,112</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(53,110</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(1,002</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Net property, plant and equipment</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">57,667</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">57,262</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">405</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">Liabilities:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Deferred revenue</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,507</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,129</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">378</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Deferred income taxes</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">4,129</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">4,154</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(25</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Stockholders' equity:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Retained earnings</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">111,802</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">111,750</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">52</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; color: Red; text-indent: 0.5in"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">For the Year Ended December 31, 2018</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Reported</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Balances <br>
without <br>
adoption of <br>
ASC 606</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Difference</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%; font-size: 10pt; text-align: left">Net sales</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">190,455</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">190,259</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">196</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 1pt">Cost of sales</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">142,147</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">142,073</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">74</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Gross profit</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">48,308</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">48,186</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">122</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following summarizes the significant changes under ASC 606 as compared
to legacy GAAP:</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><font style="font-family: Symbol">&#183;</font></td><td>Under legacy GAAP, the Company recognized revenue for certain customer tooling at the time the tooling was complete and accepted
by the customer. Under ASC 606, as &#8220;control&#8221; of this tooling does not transfer to the customer, the related purchase
orders do not qualify as an &#8220;accounting contract&#8221; and as a result the consideration received is recorded as deferred
revenue and recognized over the estimated time for which parts are produced on each respective tool (approximately two years).
The related costs to produce the tooling are capitalized and depreciated over the estimated useful life of the tool (approximately
two years).</td></tr></table>
<!-- Field: Page; Sequence: 46; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in"><font style="font-family: Symbol">&#183;</font></td><td>Under legacy GAAP, the Company recognized revenue on certain long-term agreements with variable pricing at the selling price
that was in effect for the current period at the time of shipment. Under ASC 606, the Company will recognize revenue for these
contracts at the weighted average selling price for each part over the term of the agreement for any agreements where the Company
estimates that we will not be able to achieve the corresponding cost changes necessary to maintain a consistent margin over the
term of the agreement. The Company has a small number of long-term agreements with variable pricing.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company recognizes revenue when a customer obtains control of
a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be
entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles
of ASC 606 which include (1) identifying the contract with a customer, (2) identifying separate performance obligations
within the contract, (3) determining the transaction price, (4) allocating the transaction price to the performance
obligations, and (5) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon
shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the
exception of certain tooling where control does not transfer to the customer, which results in revenue being recognized over
the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from
engineering services as the services are performed. Although only applicable to an insignificant number of transactions, the
Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and
handling activities for which the Company is responsible under the terms and conditions of the sale not as performance
obligations but rather as fulfillment costs. These activities are required to fulfill the Company&#8217;s promise to transfer
the good and are expensed when revenue is recognized.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"><i>Disaggregated Revenue</i></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following table presents the Company&#8217;s revenue disaggregated by
the major types of goods and services sold to our customers (in thousands) (See Note 9 for further information regarding net sales
by market):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: #0070C0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-style: italic; text-align: right">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left; border-bottom: Black 1pt solid">Net sales of:</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%; font-size: 10pt">Products</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">183,186</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">146,275</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">144,210</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Tooling and Machinery</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">4,302</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,181</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,633</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Engineering services</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">2,967</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">387</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">289</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total net sales</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">190,455</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">147,843</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">146,132</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>


<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"><i>Contract balances</i></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The timing of revenue recognition may differ from the timing of invoicing
to customers. When invoicing occurs prior to revenue recognition, the Company has deferred revenue (contract liabilities), included
within &#8220;deferred revenue&#8221; on the condensed consolidated balance sheets.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<!-- Field: Page; Sequence: 47; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following table presents opening and closing balances of contract liabilities
for the year ended December 31, 2018 (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: #0070C0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Contract Liabilities</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 85%; font-size: 10pt">Deferred revenue - January 1, 2018</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">871</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Acquired in Dielectrics business combination</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,175</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Increases due to consideration received from customers</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">4,188</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Revenue recognized</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(4,727</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.25pt">Deferred revenue - December 31, 2018</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">2,507</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Revenue recognized during the year ended December 31, 2018 from amounts included
in deferred revenue at the beginning of the period was approximately $615,000.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">When invoicing occurs after revenue recognition, the Company
has unbilled receivables (contract assets) included within &#8220;receivables&#8221; on the condensed consolidated balance sheet.
Unbilled receivables were approximately $65,000 at December 31, 2018 and was generated as a result of revenue recognized during
the year ended December 31, 2018 that had not yet been billed.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: #0070C0">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: #0070C0"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(3)</b></td><td><b>Supplemental Cash Flow Information</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; text-align: center">(in thousands)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">Cash paid for:</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="text-align: right"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="text-align: right"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 55%; font-size: 10pt; padding-left: 10pt">Interest</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">1,303</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">47</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">66</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Income taxes, net of refunds</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">3,463</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">3,878</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">3,562</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Non-cash investing and financing activities:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Capital additions accrued but not yet paid</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">218</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">85</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">87</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">During the years ended December 31, 2018, 2017 and 2016, the Company permitted
the exercise of stock options with exercise proceeds paid with the Company&#8217;s stock (&#8220;cashless&#8221; exercises) totaling
approximately $0, $172,000, and $166,000, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(4)</b></td><td><b>Receivables</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Receivables consist of the following (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; font-size: 10pt; text-align: left">Accounts receivable&#8211;trade</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">28,885</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">22,033</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Less allowance for doubtful receivables</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(564</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(652</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Receivables, net</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">28,321</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">21,381</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Receivables are written off against these reserves in the period they are determined
to be uncollectable, and payments subsequently received on previously written-off receivables are recorded as a reversal of the
bad debt provision. The Company performs credit evaluations on its customers and obtains credit insurance on a large percentage
of its accounts but does not generally require collateral. The Company recorded a (reversal of) provision for doubtful accounts
of approximately $(50,000) and $116,000 for the years ended December&nbsp;31, 2018 and 2017, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<!-- Field: Page; Sequence: 48; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(5)</b></td><td><b>Inventories</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Inventories consist of the following (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid">2017</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; font-size: 10pt; text-align: left">Raw materials</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">11,727</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">6,898</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Work in process</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,521</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,207</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Finished goods</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">5,328</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">4,758</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total Inventory</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">19,576</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">12,863</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b></b></td></tr></table><div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top"><td style="width: 0.5in"><b>(6)</b></td><td><b>Other Intangible Assets</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The carrying values of the Company&#8217;s definite-lived intangible assets
as of December 31, 2018 are as follows (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Tradename <br>
&amp; Brand</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Non-<br> Compete</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Customer<br> List</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Total</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">Estimated useful life</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">10 years</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">5 years</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">20 years</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-size: 10pt; text-align: left">Gross amount</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">367</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">462</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">22,555</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">23,384</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Accumulated amortization</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(33</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(85</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(1,034</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(1,152</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Net balance</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">334</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">377</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">21,521</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">22,232</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The weighted-average amortization period for all intangible assets is 19.6
years. Amortization expense related to intangible assets was approximately $1.2 million, $0.3 million and $0.3 million for the
years ended December 31, 2018, 2017 and 2016, respectively. The estimated remaining amortization expense as of December 31, 2018
is as follows (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; text-indent: -0.35pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">2019</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="width: 12%; font-size: 10pt; text-align: right"><font style="font-size: 10pt">1,257</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 50%; background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">2020</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">1,257</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">2021</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">1,257</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">2022</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">1,257</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">2023</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">1,172</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"><font style="font-size: 10pt">Thereafter</font></td><td style="font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><font style="font-size: 10pt">16,032</font></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><font style="font-size: 10pt">Total</font></td><td style="font-size: 10pt; padding-bottom: 2.25pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><font style="font-size: 10pt">22,232</font></td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
</table></div>



<p style="font-size: 10pt; text-indent: -0.35pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(7)</b></td><td><b>Property, Plant and Equipment</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Property, plant and equipment consist of the following (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; font-size: 10pt; text-align: left">Land and improvements</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">3,191</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">3,191</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Buildings and improvements</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">35,187</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">28,939</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Leasehold improvements</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,843</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,553</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Machinery &amp; Equipment</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">62,441</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">58,602</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Furniture, fixtures, computers &amp; software</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,119</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">6,820</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Construction in progress</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">999</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">6,611</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; padding-bottom: 2.25pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><font style="font-size: 10pt">111,780</font></td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; padding-bottom: 2.25pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><font style="font-size: 10pt">106,716</font></td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Depreciation and amortization expense of Property, Plant and Equipment for
the years ended December 31, 2018, 2017 and 2016, were approximately $6.6 million, $5.3 million, and $5.3 million, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

</div>

<!-- Field: Page; Sequence: 49; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b></b></td></tr></table><div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top"><td style="width: 0.5in"><b>(8)</b></td><td><b>Indebtedness </b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">On December 2, 2013, the Company entered into an unsecured $40 million revolving
credit facility with Bank of America, N.A. The credit facility called for interest of LIBOR plus a margin that ranged from 1.0%
to 1.5% or, at the discretion of the Company, the bank&#8217;s prime rate less a margin that ranged from 0.25% to zero. In both
cases the applicable margin was dependent upon Company performance. Under the credit facility, the Company was subject to a minimum
fixed-charge coverage financial covenant as well as a maximum total funded debt to EBITDA financial covenant. The credit facility
was amended effective December 31, 2014, to modify the definition of &#8220;consolidated fixed-charge coverage ratio&#8221;. The
Company&#8217;s $40 million credit facility was to mature on November 30, 2018.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">On February 1, 2018, the Company, as the borrower, entered into an unsecured
$70 million Amended and Restated Credit Agreement (the &#8220;Amended and Restated Credit Agreement&#8221;) with the Company&#8217;s
subsidiaries (the &#8220;Subsidiary Guarantors&#8221;) and Bank of America, N.A., in its capacity as the initial lender, Administrative
Agent, Swingline Lender and L/C Issuer, and certain other lenders from time to time party thereto. The Amended and Restated Credit
Agreement amends and restates the Company&#8217;s prior credit agreement.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The credit facilities under the Amended and Restated Credit Agreement (the &#8220;Amended
and Restated Credit Facilities&#8221;) consist of a $20 million unsecured term loan and an unsecured revolving credit facility,
under which the Company may borrow up to $50 million. The Amended and Restated Credit Agreement matures on February 1, 2023.&nbsp;
The proceeds borrowed pursuant to the Amended and Restated Credit Agreement may be used for general corporate purposes, including
funding the acquisition of&nbsp;Dielectrics Inc. (&#8220;Dielectrics&#8221;) (See Note 22), as well as certain other permitted
acquisitions. The Company&#8217;s obligations under the Amended and Restated Credit Agreement are guaranteed by the Subsidiary
Guarantors.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Amended and Restated Credit Agreement calls for interest of LIBOR plus a
margin that ranges from 1.0% to 1.5% or, at the discretion of the Company, the bank&#8217;s prime rate less a margin that ranges
from .25% to zero. In both cases the applicable margin is dependent upon Company performance.&nbsp; Under the Amended and Restated
Credit Agreement, the Company is subject to a minimum fixed-charge coverage financial covenant as well as a maximum total funded
debt to EBITDA financial covenant.&nbsp; The Amended and Restated Credit Agreement contains other covenants customary for transactions
of this type, including restrictions on certain payments, permitted indebtedness and permitted investments.&nbsp; As of December
31, 2018, the applicable interest rate was approximately 3.52% and the Company was in compliance with all covenants under the Amended
and Restated Credit Agreement.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Included in the Amended and Restated Credit Facilities were approximately $0.6
million in standby letters of credit as a financial guarantee on worker&#8217;s compensation insurance policies.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Long-term debt consists of the following (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">December
    31, <br>
2018</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">Revolving credit facility</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="width: 12%; font-size: 10pt; text-align: right"><font style="font-size: 10pt">8,000</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 50%; background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"><font style="font-size: 10pt">Term loan</font></td><td style="font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><font style="font-size: 10pt">17,143</font></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">Total long-term debt</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">25,143</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Current portion</td><td style="font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><font style="font-size: 10pt">(2,857</font></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">)</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><font style="font-size: 10pt">Long-term debt, excluding
    current portion</font></td><td style="font-size: 10pt; padding-bottom: 2.25pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><font style="font-size: 10pt">22,286</font></td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"><i>Derivative Financial Instruments</i></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company uses interest-rate-related derivative instruments to manage its
exposure related to changes in interest rates on certain of its variable-rate debt instruments. The Company does not enter into
derivative instruments for any purpose other than cash flow hedging. The Company does not speculate using derivative instruments.
By using derivative financial instruments to hedge exposures to changes in interest rates, the Company exposes itself to credit
risk and market risk. Credit risk is the failure of the counterparty to perform under the terms of the derivative contract. When
the fair value of a derivative contract is positive, the counterparty owes the Company, creating credit risk for the Company. When
the fair value of a derivative contract is negative, the Company owes the counterparty and, therefore, in these circumstances the
Company is not exposed to the counterparty&#8217;s credit risk. The Company minimizes counterparty credit risk in derivative instruments
by entering into transactions with carefully selected major financial institutions based upon their credit profile. Market risk
is the adverse effect on the value of a derivative instrument that results from a change in interest rates. The market risk associated
with interest-rate contracts is managed by establishing and monitoring parameters that limit the types and degree of market risk
that may be undertaken.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<!-- Field: Page; Sequence: 50; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company assesses interest rate risk by continually identifying and monitoring
changes in interest rate exposures that may adversely impact expected future cash flows and by evaluating hedging opportunities.
The Company&#8217;s debt obligations expose the Company to variability in interest payments due to changes in interest rates. The
Company believes that it is prudent to limit the variability of a portion of its interest payments. To meet this objective, in
connection with the Amended and Restated Credit Agreement, the Company entered into a $20 million, 5-year interest rate swap agreement
under which the Company receives three-month LIBOR plus the applicable margin and pays a 2.7% fixed rate plus the applicable margin.
The swap modifies the Company&#8217;s interest rate exposure by converting the term loan from a variable rate to a fixed rate in
order to hedge against the possibility of rising interest rates during the term of the loan. The notional amount was $17,142,856
at December 31, 2018. The fair value of the swap as of December 31, 2018 was approximately $64,000 and is included in other assets.
Changes in the fair value of the swap are recorded in other income/expense and resulted in income of approximately $64,000 during
the year ended December 31, 2018.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b></b></td></tr></table><div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top"><td style="width: 0.5in"><b>(9)</b></td><td><b>Accrued Expenses</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Accrued expenses consist of the following (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; font-size: 10pt; text-align: left">Compensation</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">3,529</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">2,536</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Benefits / self-insurance reserve</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">782</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">334</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Paid time off</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,131</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">990</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Commissions payable</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">384</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">309</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 1pt">Other</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">2,632</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">1,297</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">8,458</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">5,466</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0"></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b></b></td></tr></table><div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top"><td style="width: 0.5in"><b>(10)</b></td><td><b>Income Taxes</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company&#8217;s income tax provision for the years ended December 31,
2018, 2017 and 2016 consists of the following (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="white-space: nowrap; font-size: 10pt">Current</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 55%; font-size: 10pt; padding-left: 10pt">Federal</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">1,772</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">3,117</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">3,120</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt">State</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">439</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">551</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">651</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,211</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">3,668</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">3,771</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">Deferred</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 10pt">Federal</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,917</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1,091</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">546</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt">State</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(36</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">72</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">30</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,881</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1,019</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">576</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total income tax provision</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">4,092</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">2,649</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">4,347</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<!-- Field: Page; Sequence: 51; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt"><font style="font-size: 10pt">The approximate tax effects of temporary differences
that give rise to significant portions of the deferred tax assets and liabilities are as follows (in thousands):</font><font style="font-family: Sans-Serif; font-size: 9pt; color: Red"><b></b></font></p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt"><font style="font: 9pt Sans-Serif; color: Red"><b>&nbsp;</b></font></p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Deferred tax assets:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 70%; font-size: 10pt; text-align: left; padding-left: 10pt">Reserves</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">367</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">398</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Inventory capitalization</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">421</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">228</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Compensation programs</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">447</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">394</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Retirement liability</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Equity-based compensation</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">290</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">158</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Deferred rent</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">11</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">6</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Intangible assets</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">141</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">274</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Tax credits</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">257</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt">Total deferred tax assets</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,936</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,465</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Deferred tax liabilities:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Excess of book over tax basis of fixed assets</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(4,668</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(3,305</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Goodwill</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(1,397</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(600</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt">Total deferred tax liabilities</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(6,065</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(3,905</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 20pt">Net long-term deferred tax liabilities</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">(4,129</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">(2,440</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">)</td></tr>
</table></div>




<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">The amounts recorded as deferred tax assets as of December 31, 2018 and 2017,
represent the amount of tax benefits of existing deductible temporary differences or carryforwards that are more likely than not
to be realized through the generation of sufficient future taxable income within the carryforward period. The Company has total
deferred tax assets of approximately $1.9 million at December 31, 2018, that it believes are more likely than not to be realized
in the carryforward period. Management reviews the recoverability of deferred tax assets during each reporting period.</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">The Company has approximately $325,000 of tax credit carryforwards related
to one state jurisdiction that expire in 2022.</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">The actual tax provision for the years presented differs from the &#8220;expected&#8221;
tax provision for those years, computed by applying the U.S. federal corporate rate of 21% to income before income tax expense
as follows:</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%; font-size: 10pt; text-align: left">Computed &#8220;expected&#8221; tax rate</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">21.0</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">34.0</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">34.0</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Increase (decrease) in income taxes resulting from:</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">State taxes, net of federal tax benefit</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2.8</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">3.5</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">3.7</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Meals and entertainment</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.2</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.3</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.2</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Tax credits</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1.9</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(0.6</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(0.6</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Domestic production deduction</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(2.6</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(2.5</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Non-deductible ISO stock option expense</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.3</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Unrecognized tax benefits</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(0.1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Excess tax benefits on equity awards</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1.3</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(1.4</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Excess compensation</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.8</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Impact on deferred taxes of new legislation</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(11.1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Other</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">0.5</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">0.1</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">0.3</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Effective tax rate</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">22.2</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">22.3</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">35.3</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</p>

<!-- Field: Page; Sequence: 52; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt"></p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">The Company files income tax returns in the U.S. federal jurisdiction and
various state jurisdictions. The&nbsp;Company has not been audited by any state for income taxes with the exception of returns
filed in Michigan which have been audited through 2004, income tax returns filed in Massachusetts which have been audited through
2007, income tax returns filed in Florida which have been audited through 2009, income tax returns filed in New Jersey which have
been audited through 2012, and income tax returns in Colorado which have been audited through 2013. Income tax returns in Colorado
are currently being audited for the years 2014 through 2017. Federal and state tax returns for the years 2015 through 2018 remain
open to examination by the IRS and various state jurisdictions.</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">A reconciliation of the beginning and ending amount of gross unrecognized
tax benefits (&#8220;UTB&#8221;) resulting from uncertain tax positions is as follows (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; font-size: 10pt; text-align: left">Gross UTB balance at beginning of fiscal year</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">150</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">150</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Reductions for tax positions of prior years</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Gross UTB balance at end of fiscal year</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">150</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">150</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The total amount of unrecognized tax benefits that, if recognized, would
affect the effective tax rate as of December 31, 2018 and 2017 is $150,000 and $150,000, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">In addition, the total amount of accrued interest and penalties on uncertain
tax positions at December&nbsp;31, 2018 and 2017 is $153,000 and $153,000, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">At December 31, 2018, all of the unrecognized tax benefits relate to tax
returns of a specific state jurisdiction that are currently under examination. On January 17, 2019 the Company came to an agreement
with the state and on February 21, 2019 the Company received a check in the amount of $156,000 as settlement of the unrecognized
tax benefits. Therefore, the Company anticipates a reduction to zero of its gross UTB balance in the first quarter of 2019.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">On December 22, 2017, the United States enacted tax reform legislation commonly
known as the Tax Cuts and Jobs Act (the &#8220;2017 Tax Act&#8221;), resulting in significant modifications to existing law.&nbsp;
Also on this date, the Securities and Exchange Commission issued Staff Accounting Bulletin (SAB) No. 118 to provide guidance to
companies on how to implement the accounting and disclosure changes in situations when a registrant does not have the necessary
information available, prepared, or analyzed (including computations) in reasonable detail to complete the accounting for certain
income tax effects of H.R.1, also known as the 2017 Tax Act. Consistent with SAB 118, &nbsp;the Company provisionally recorded
an income tax benefit of $1.5 million related to the 2017 Tax Act, including remeasurement of its deferred tax assets and liabilities,
and executive compensation limitations under Internal Revenue Code Section 162(m), among others.&nbsp;</p>

<p style="font-size: 10pt; text-align: justify; text-indent: 0.5in; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">As of December&nbsp;31, 2018, the Company has completed its assessment of
the total impact of the 2017 Tax Act, which resulted in a reduction in our deferred tax assets and liabilities for the change in
the domestic tax rate and a reduction of deferred tax assets related to executive stock-based compensation that would not be realized
under the provisions of Internal Revenue Code Section 162(m). In 2018, we revised our overall reduction in our deferred tax assets
by $50,000 to reflect our analysis over stock- based compensation.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<!-- Field: Page; Sequence: 53; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(11)</b></td><td><b>Net Income Per Share</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Basic income per share is based upon the weighted average common shares outstanding
during each year. Diluted income per share is based upon the weighted average of common shares and dilutive common stock equivalent
shares outstanding during each year. The weighted average number of shares used to compute both basic and diluted income per share
consisted of the following (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%; font-size: 10pt; text-align: left">Basic weighted average common shares outstanding during the year</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">7,347</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">7,248</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">7,190</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Weighted average common equivalent shares due to stock options and restricted stock units</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">83</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">89</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">85</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Diluted weighted average common shares outstanding during the year</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">7,430</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">7,337</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">7,275</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The computation of diluted earnings per share excludes the effect of the
potential exercise of stock awards, including stock options, when the average market price of the common stock is lower than the
exercise price of the related options during the period. These outstanding stock awards are not included in the computation of
diluted earnings per share because the effect would have been antidilutive.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">For the years ended December 31, 2018, 2017 and 2016, the number of stock
awards excluded from the computation was 10,344, 27,336 and 52,377, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(12)</b></td><td><b>Stock Option and Equity Incentive Plans</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Share-based compensation is measured at the grant date based on the fair value
of the award and is recognized as an expense over the requisite service period (generally the vesting period of the equity grant).</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company issues share-based awards through several plans that are described
below. The compensation cost charged against income for those plans is included in selling, general &amp; administrative expenses
as follows (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; color: #8497B0; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold"><u>Share-based compensation related to:</u></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%; font-size: 10pt; text-align: left">Common stock grants</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">505</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">505</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">505</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Stock option grants</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">149</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">138</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">237</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Restricted Stock Unit awards</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">559</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">425</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">314</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total share-based compensation</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,213</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,068</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,056</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"><u>Incentive Plan</u></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">In June 2003, the Company formally adopted the 2003 Incentive Plan (the &#8220;Plan&#8221;).
The Plan was originally intended to benefit the Company by offering equity-based incentives to certain of the Company&#8217;s executives
and employees, thereby giving them a permanent stake in the growth and long-term success of the Company and encouraging the continuance
of their involvement with the Company&#8217;s businesses. The Plan was amended effective June 4, 2008, to permit certain performance-based
cash awards to be made under the Plan. The Plan was further amended on June 8, 2011, to increase the maximum number of shares of
common stock in the aggregate to be issued to 2,250,000. The Plan was further amended on March 7, 2013, to (i) prohibit the repricing
of stock options or other equity awards without the consent of the Company&#8217;s shareholders, and (ii) prohibit the Company
from buying out underwater stock options.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Two types of equity awards may be granted to participants under the Plan: restricted
shares or other stock awards. Restricted shares are shares of common stock awarded subject to restrictions and to possible forfeiture
upon the occurrence of specified events. Other stock awards are awards that are denominated or payable in, valued in whole or in
part by reference to, or otherwise based on or related to, shares of common stock. Such awards may include Restricted Stock Unit
Awards (&#8220;RSUs&#8221;), unrestricted or restricted stock, incentive and non-qualified stock options, performance shares, or
stock appreciation rights. The Company determines the form, terms, and conditions, if any, of any awards made under the Plan.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<!-- Field: Page; Sequence: 54; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Through December 31, 2018, 1,236,812 shares of common stock have been issued
under the 2003 Incentive Plan, none of which have been restricted. An additional 73,392 shares are being reserved for outstanding
grants of RSUs and other share-based compensation that are subject to various performance and time-vesting contingencies. The Company
has also granted awards in the form of stock options under this Plan. Through December 31, 2018, 185,000 options have been granted
and 49,375 options are outstanding. At December 31, 2018, 854,077 shares or options are available for future issuance in the 2003
Incentive Plan.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"><u>Director Plan</u></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Effective July 15, 1998, the Company adopted the 1998 Director Plan, which was
amended and renamed, on June 3, 2009, the 2009 Non-Employee Director Stock Incentive Plan (the &#8220;Director Plan&#8221;). The
Director Plan was amended on March 7, 2013, to (i) prohibit the repricing of stock options or other equity awards without the consent
of the Company&#8217;s shareholders, and (ii) prohibit the Company from buying out underwater stock options. The Director Plan,
as amended, provides for the issuance of stock options and other equity-based securities of up to 975,000 shares to non-employee
members of the Company&#8217;s board of directors. Through December 31, 2018, 348,490 options have been granted and 106,543 options
are outstanding. For the year ended December 31, 2018, 3,366 shares of common stock were issued, and 101,626 shares remained available
to be issued under the Director Plan.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following is a summary of stock option activity under all plans:</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Shares Under <br>
Options</td><td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"><b>Weighted
    <br>
    Average <br>
    Exercise <br>
    Price</b><br>
    <font style="font-size: 10pt; font-weight: normal; font-style: normal">&nbsp;(per share)</font></td><td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"><b>Weighted
    <br>
    Average <br>
    Remaining <br>
    Contractual <br>
    Life</b><br>
    <font style="font-size: 10pt; font-weight: normal; font-style: normal">(in years)</font></td><td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"><b>Aggregate
    <br>
    Intrinsic <br>
    Value</b><br>
    <font style="font-size: 10pt; font-weight: normal; font-style: normal">(in thousands)</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-size: 10pt">Outstanding December 31, 2017</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 10%; font-size: 10pt; text-align: right">202,739</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">18.23</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 10%; font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 10%; font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Granted</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">10,344</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">31.20</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Exercised</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(78,680</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">31.43</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">&nbsp;</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.25pt">Outstanding December 31, 2018</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">134,403</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">20.46</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">4.50</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,296</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 2.25pt">Exercisable at December 31, 2018</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">126,543</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">19.97</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">4.53</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,286</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Vested and expected to vest at December 31, 2018</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">134,403</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">20.46</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">4.50</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,296</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">During the years ended December 31, 2018, 2017 and 2016, the total intrinsic
value of all options exercised (i.e.,&nbsp;the difference between the market price and the price paid by the employees to exercise
the options) was approximately $1.2 million, $0.6 million and $0.7 million, respectively, and the total amount of consideration
received from the exercise of these options was approximately $1.3 million, $0.8 million and $0.7 million, respectively. At its
discretion, the Company allows option holders to surrender previously-owned common stock in lieu of paying the exercise price and
withholding taxes. During the year ended December 31, 2018, no shares were surrendered for this purpose. During the year ended
December 31, 2017, 6,511 shares (6,511 for options and zero for taxes) were surrendered at an average market price of $26.45. During
the year ended December&nbsp;31, 2016, 6,514 shares (6,514 for options and zero for taxes) were surrendered at an average market
price of $25.50.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">On February 21, 2018, the Company&#8217;s Compensation Committee approved the
award of $400,000 payable in shares of the Company&#8217;s common stock to the Company&#8217;s Chairman, Chief Executive Officer,
and President under the 2003 Equity Incentive Plan. The shares were issued on December 12, 2018.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">On June 6, 2018 the Company issued 3,366 shares of unrestricted common stock
to the non-employee members of the Company&#8217;s Board of Directors as part of their annual retainer for serving on the Board.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<!-- Field: Page; Sequence: 55; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company grants RSUs to its executive officers and employees. The stock
unit awards are subject to various time-based vesting requirements, and certain portions of these awards are subject to performance
criteria of the Company. Compensation expense on these awards is recorded based on the fair value of the award at the date of grant,
which is equal to the Company&#8217;s closing stock price, and is charged, to expense ratably during the service period. No compensation
expense is taken on awards that do not become vested, and the amount of compensation expense recorded is adjusted based on management&#8217;s
determination of the probability that these awards will become vested. The following table summarizes information about stock unit
award activity during the year ended December 31, 2018:</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; padding-bottom: 1pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Restricted <br>
Stock Units</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Weighted <br>
Average Award <br>
Date Fair Value</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 70%; font-size: 10pt">Outstanding at December 31, 2017</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 12%; font-size: 10pt; text-align: right">57,395</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">21.03</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Awarded</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">30,831</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">29.36</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Shares vested</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(16,050</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">23.55</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 2.25pt">Outstanding at December 31, 2018</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">72,176</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">$</td><td style="font-size: 10pt; text-align: right">23.60</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">At the Company&#8217;s discretion, RSU holders are given the option to net-share
settle to cover the required minimum withholding tax, and the remaining amount is converted into the equivalent number of common
shares. During the year ended December 31, 2018, 5,238 shares were redeemed for this purpose at an average market price of $27.60.
During the years ended December 31, 2017 and 2016, 4,377 and 3,389 shares were redeemed for this purpose at an average market price
of $24.50 and $22.82, respectively.</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</p>

<p style="margin: 0pt 0 0pt 0.5in; font-size: 10pt">The following summarizes the future share-based compensation expense the
Company will record as the equity securities granted through December 31, 2018, vest (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red; text-indent: 1in"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Options</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Common<br> Stock</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Restricted<br> Stock Units</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Total</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-size: 10pt; text-align: left">2019</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">28</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">502</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">530</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">2020</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">28</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">416</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">444</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">2021</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">250</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">250</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">2022</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">30</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">30</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 10pt">Total</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">56</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">-</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,198</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">1,254</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Tax benefits totaling approximately $0, $0 and $145,000 were recognized as
additional paid-in capital during the years ended December 31, 2018, 2017 and 2016, respectively, since the Company&#8217;s tax
deductions exceeded the share-based compensation charge recognized for stock options exercised and RSUs vested.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(13)</b></td><td><b>Preferred Stock</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">On March 18, 2009, the Company declared a dividend of one preferred
share purchase right (a &#8220;Right&#8221;) for each outstanding share of common stock, par value $0.01 per share on March
20, 2009, to the stockholders of record on that date. Each Right entitles the registered holder to purchase from the Company
one one-thousandth of a share of Series A Junior Participating Preferred Stock, par value $0.01 per share (the
&#8220;Preferred Share&#8221;), of the Company, at a price of $25.00 per one one-thousandth of a Preferred Share subject to
adjustment and the terms of the Rights Agreement. The rights expire on March 19, 2019. On March 13, 2019, the Company&rsquo;s
Board of Directors voted not to replace the rights when they expire.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(14)</b></td><td><b>Supplemental Retirement Benefits</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company provides discretionary supplemental retirement benefits for certain
retired officers, which will provide an annual benefit to these individuals for various terms following separation from employment.
The Company recorded an expense of approximately $2,000, $3,000 and $4,000 for the years ended December 31, 2018, 2017 and 2016,
respectively. The present value of the supplemental retirement obligation has been calculated using a 4.1% discount rate and is
included in other liabilities. Total projected future cash payments for the year ending December 31, 2019 is approximately $25,000,
representing the completion of all retirement arrangements under this arrangement.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<!-- Field: Page; Sequence: 56; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(15)</b></td><td><b>Commitments and Contingencies</b></td></tr></table>

<p style="font-size: 10pt; text-indent: -0.25in; margin: 0pt 0 0pt 63pt">&nbsp;</p>
<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in">(a)</td><td><i><u>Leases</u></i> &#8211; The Company has operating leases for certain facilities that expire through 2023. Certain of the
leases contain escalation clauses that require payments of additional rent as well as increases in related operating costs.</td></tr></table>

<p style="font-size: 10pt; text-indent: -0.25in; margin: 0pt 0 0pt 63pt">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Future minimum lease payments under non-cancelable operating leases as of December&nbsp;31,
2018, are as follows (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; margin: 0pt 0 0pt 1in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid"><font style="font-size: 10pt">Years
    Ending December 31,</font></td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">Operating
    <br>
Leases</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">2019</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="width: 12%; font-size: 10pt; text-align: right"><font style="font-size: 10pt">1,051</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 50%; background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">2020</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">1,070</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">2021</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">1,063</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">2022</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">975</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"><font style="font-size: 10pt">2023</font></td><td style="font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><font style="font-size: 10pt">36</font></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><font style="font-size: 10pt">Total minimum lease payments</font></td><td style="font-size: 10pt; padding-bottom: 2.25pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><font style="font-size: 10pt">4,195</font></td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Rent expense amounted to approximately $1.2 million, $0.9 million, and $0.8
million in 2018, 2017 and 2016, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0.5in"></td><td style="width: 0.5in">(b)</td><td><i><u>Legal</u></i> &#8211; From time to time, the Company may be a party to various suits, claims and complaints arising in
the ordinary course of business. In the opinion of management of the Company, these suits, claims and complaints should not result
in final judgments or settlements that, in the aggregate, would have a material adverse effect on the Company&#8217;s financial
condition or results of operations.</td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(16)</b></td><td><b>Employee Benefit Plans</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company maintains a profit-sharing plan for eligible employees. Contributions
to the Plan are made in the form of matching contributions to employee 401(k) deferrals, as well as discretionary profit-sharing
amounts determined by the Board of Directors to be funded by March 15 following each fiscal year. Contributions were approximately
$1.1 million, $0.8 million and $0.7 million in 2018, 2017 and 2016, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company has a partially self-insured health insurance program that covers
all eligible participating employees. The maximum liability is limited by a stop loss of $225,000 per insured person, along with
an aggregate stop loss determined by the number of participants.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company has an Executive, Non-qualified &#8220;Excess&#8221; Plan (&#8220;the
Plan&#8221;), which is a deferred compensation plan available to certain executives. The Plan permits participants to defer receipt
of part of their current compensation to a later date as part of their personal retirement or financial planning. Participants
have an unsecured contractual commitment from the Company to pay amounts due under the Plan. There is currently no security mechanism
to ensure that the Company will pay these obligations in the future.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The compensation withheld from Plan participants, together with gains or losses
determined by the participants&#8217; deferral elections is reflected as a deferred compensation obligation to participants and
is classified within the liabilities section in the accompanying balance sheets. At December 31, 2018 and 2017, the balance of
the deferred compensation liability totaled approximately $2.0 million and $2.0&nbsp;million, respectively. The related assets,
which are held in the form of a Company-owned, variable life insurance policy that names the Company as the beneficiary, are classified
within the other assets section of the accompanying balance sheets and are accounted for based on the underlying cash surrender
values of the policies and totaled approximately $2.0 million and $2.0 million as of December&nbsp;31, 2018 and 2017, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

</div>

<!-- Field: Page; Sequence: 57; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(17)</b></td><td><b>Fair Value of Financial Instruments</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Financial instruments recorded at fair value in the consolidated balance
sheets, or disclosed at fair value in the footnotes, are categorized based upon the level of judgment associated with the inputs
used to measure their fair value. Hierarchical levels defined by ASC 820, <i>Fair Value Measurements and Disclosures</i>, and directly
related to the amount of subjectivity associated with inputs to fair valuation of these assets and liabilities, are as follows:</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in"><i>&nbsp;</i></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in"><i>Level 1</i></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Valued based on unadjusted, quoted prices in active markets for identical
assets or liabilities at the measurement date. An active market for the asset or liability is a market in which transactions for
the asset or liability occur with sufficient frequency and volume to provide pricing information on an ongoing basis.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in"><i>Level 2</i></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Valued based on either directly or indirectly observable prices for the asset
or liability through correlation with market data at the measurement date and for the duration of the instrument&#8217;s anticipated
life.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in"><i>Level 3</i></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in">Valued based on management&#8217;s best estimate of what market participants
would use in pricing the asset or liability at the measurement date. Consideration is given to the risk inherent in the valuation
technique and the risk inherent in the inputs to the model.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following table presents the fair value and hierarchy levels, for financial
assets that are measured at fair value on a recurring basis (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt"><u>Level 2</u></font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">December
    31, <br>
2018</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt"><font style="font-size: 10pt">Assets:</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt">Derivative financial instruments</td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="width: 12%; font-size: 10pt; text-align: right"><font style="font-size: 10pt">64</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 50%; background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Derivative financial instruments consist of an interest rate swap for which
fair value is determined through the use of a pricing model that utilizes verifiable inputs such as market interest rates that
are observable at commonly quoted intervals for the full term of the swap agreement.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company has financial instruments, such as accounts receivable, accounts
payable, and accrued expenses, that are stated at carrying amounts that approximate fair value because of the short maturity of
those instruments. The carrying amount of the Company&#8217;s long-term debt approximates fair value as the interest rate on the
debt approximates the estimated borrowing rate currently available to the Company.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0"></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b></b></td></tr></table><div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top"><td style="width: 0.5in"><b>(18)</b></td><td><b>Segment Data</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company consists of a single operating and reportable segment.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Revenues from customers outside of the United States are not material. No customer
comprised more than 10% of the Company&#8217;s consolidated revenues for the year ended December 31, 2018. A vast majority of the
Company&#8217;s assets are located in the United States.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<!-- Field: Page; Sequence: 58; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company&#8217;s custom products are primarily sold to customers within the
Medical, Consumer, Automotive, Aerospace and Defense, Electronics, and Industrial markets. Sales by market for the years ended
December 31, 2018, 2017 and 2016 are as follows (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Market</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Net Sales</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">%</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Net Sales</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">%</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Net Sales</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">%</td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 28%; font-size: 10pt">Medical</td><td style="width: 3%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 8%; font-size: 10pt; text-align: right">110,282</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 8%; font-size: 10pt; text-align: right">57.9</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td><td style="width: 3%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 8%; font-size: 10pt; text-align: right">70,087</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 8%; font-size: 10pt; text-align: right">47.4</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td><td style="width: 3%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 8%; font-size: 10pt; text-align: right">64,733</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 8%; font-size: 10pt; text-align: right">44.3</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt">Consumer</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">24,989</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">13.1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">21,328</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">14.4</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">20,721</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">14.2</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">Automotive</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">20,012</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">10.5</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">23,118</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">15.6</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">27,255</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">18.7</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Aerospace &amp; Defense</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">13,133</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">6.9</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">11,521</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7.8</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">10,951</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7.5</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt">Electronics</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">11,453</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">6.0</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">11,960</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">8.1</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">11,675</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">8.0</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-bottom: 1pt">Industrial</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">10,586</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">5.6</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">9,829</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">6.6</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">10,797</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">7.4</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">&nbsp;&nbsp;&nbsp;&nbsp;Net Sales</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">190,455</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">100.0</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">147,843</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">100.0</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">146,132</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">100.0</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Certain amounts for the year ended December 31, 2017 and 2016 were reclassified
between markets to conform to the current year presentation.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b></b></td></tr></table><div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top"><td style="width: 0.5in"><b>(19)</b></td><td><b>Quarterly Financial Information (unaudited)</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Summarized quarterly financial data is as follows (in thousands, except per
share data):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"><b>&nbsp;</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q1</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q2</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q3</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q4</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-size: 10pt; text-align: left">Net sales</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">42,931</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">49,019</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">47,808</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">50,697</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Gross profit</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">10,185</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">12,986</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">12,431</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">12,706</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Net income</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,777</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">3,990</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">4,134</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">4,410</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Basic net income per share</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.24</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.54</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.56</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.60</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Diluted net income per share</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.24</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.54</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.56</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.59</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; text-align: center; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%;margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q1</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q2</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q3</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q4</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; font-size: 10pt; text-align: left">Net sales</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">37,053</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">37,886</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">35,684</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 10%; font-size: 10pt; text-align: right">37,220</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Gross profit</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">9,516</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">9,941</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">8,193</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">7,837</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Net income</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,171</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,630</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">1,695</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">2,714</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left">Basic net income per share</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.30</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.36</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.23</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.38</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left">Diluted net income per share</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.30</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.36</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.23</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">0.37</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(20)</b></td><td><b>Plant Consolidation</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">On March 18, 2015, the Company committed to move forward with a plan to cease
operations at its Raritan, New Jersey, plant and consolidate operations into its Newburyport, Massachusetts, facility and other
UFP facilities. The Company&#8217;s decision was in response to a continued decline in business at the Raritan facility and the
purchase of the facility in Newburyport. The activities related to this consolidation are complete.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company also relocated all operations in its Haverhill, Massachusetts,
and Byfield, Massachusetts facilities and certain operations in its Georgetown, Massachusetts facility to Newburyport. The Haverhill
and Byfield relocations were complete at December 31, 2015 and the partial Georgetown relocation was complete at June 30, 2017.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company incurred approximately $2.1 million in one-time expenses in connection
with the Massachusetts consolidations. Included in this amount are approximately $180,000 relating to employee severance payments
and relocation costs, approximately $1.6 million in moving expenses and expenses associated with vacating the Raritan, Haverhill
and Byfield properties, and approximately $360,000 in lease termination costs. Total cash charges were approximately $2.0 million.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<!-- Field: Page; Sequence: 59; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->29<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company has recorded the following restructuring costs associated with
the consolidations discussed above for the years ended December 31, 2017 and 2016 (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">2017</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">2016</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: left"><font style="font-size: 10pt"><u>Restructuring
    Costs</u></font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">Massachusetts</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 50%; font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">Relocation</font></td><td style="width: 1%; font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="width: 12%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><font style="font-size: 10pt">63</font></td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="width: 1%; font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="width: 12%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><font style="font-size: 10pt">420</font></td><td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 20%; background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><font style="font-size: 10pt">Total restructuring costs</font></td><td style="font-size: 10pt; padding-bottom: 2.25pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><font style="font-size: 10pt">63</font></td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; padding-bottom: 2.25pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><font style="font-size: 10pt">420</font></td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The above costs were reclassified in the Consolidated Statement of Income
as &#8220;Restructuring Costs&#8221; from Cost of Sales.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>


<table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b></b></td></tr></table><div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top"><td style="width: 0.5in"><b>(21)</b></td><td><b>Material Overcharge Settlement</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company was a participant in a class action lawsuit against a number of
polyurethane foam suppliers (&#8220;Defendants&#8221;) that was settled during the second quarter of 2016. The suit was filed to
recover damages and obtain injunctive relief for Defendants&#8217; alleged violations of the federal antitrust laws with respect
to the fixing of prices of polyurethane foam sold from January 1, 1999 through August 2010. During the years ended December 31,
2018, 2017 and 2016, the Company received settlement amounts of approximately $0.1 million, $0.1 million and $2.1 million, respectively.
These settlement amounts are recorded as &#8220;Material overcharge settlement&#8221; in the operating income section of the Consolidated
Statements of Income.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in"></p>

<div data-td-statement-type="note"><table cellpadding="0" cellspacing="0" width="100%" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><tr style="vertical-align: top">
<td style="width: 0"></td><td style="width: 0.5in"><b>(22)</b></td><td><b>Acquisition</b></td></tr></table>

<p style="font-size: 10pt; margin: 0pt 0; text-indent: 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">On February 1, 2018 the Company purchased 100% of the outstanding shares of
common stock of Dielectrics Inc., pursuant to a stock purchase agreement and related agreements, for an aggregate purchase price
of $80&nbsp;million in cash. The purchase price was subject to adjustment based upon Dielectrics&#8217; working capital at closing.
An additional $250,000 of consideration was paid by the Company as a result of the final working capital adjustment. A portion
of the purchase price is being held in escrow to indemnify the Company against certain claims, losses and liabilities. The Purchase
Agreement contains customary representations, warranties and covenants customary for transactions of this type.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Founded in 1954 and based in Chicopee, Massachusetts, Dielectrics is a leader
in the design, development, and manufacture of medical devices using thermoplastic materials. They primarily use radio frequency
and impulse welding to design and manufacture solutions for the medical industry. The Company has leased the Chicopee location
from a realty trust owned by the selling shareholder and affiliates. The lease is for five years with two five-year renewal options.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<!-- Field: Page; Sequence: 60; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->30<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following table summarizes the allocation of consideration paid to the acquisition
date fair value of the assets acquired and liabilities assumed based on management&#8217;s estimates of fair value (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 1in"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="white-space: nowrap; font-size: 10pt"><font style="font-size: 10pt">Consideration Paid:</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt"><font style="font-size: 10pt">Cash paid at closing</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="width: 12%; font-size: 10pt; text-align: right"><font style="font-size: 10pt">80,000</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 50%; background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 20pt"><font style="font-size: 10pt">Working capital adjustment</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">250</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt"><font style="font-size: 10pt">Cash from Dielectrics</font></td><td style="font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><font style="font-size: 10pt">(3,272</font></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">)</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">Total consideration</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">76,978</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt"><font style="font-size: 10pt">Purchase Price Allocation:</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><font style="font-size: 10pt">Accounts receivable</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">4,384</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-left: 10pt"><font style="font-size: 10pt">Inventory</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">4,418</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><font style="font-size: 10pt">Other current assets</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">122</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><font style="font-size: 10pt">Property, plant and equipment</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">4,600</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><font style="font-size: 10pt">Customer list</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">22,555</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-left: 10pt"><font style="font-size: 10pt">Non-compete</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">462</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><font style="font-size: 10pt">Trade name and brand</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">367</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt"><font style="font-size: 10pt">Goodwill</font></td><td style="font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><font style="font-size: 10pt">44,516</font></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">Total identifiable assets</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">81,424</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><font style="font-size: 10pt">Accounts payable</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">(1,325</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">)</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><font style="font-size: 10pt">Accrued expenses</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">(946</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">)</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><font style="font-size: 10pt">Deferred revenue</font></td><td style="font-size: 10pt; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><font style="font-size: 10pt">(2,175</font></td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><font style="font-size: 10pt">)</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><font style="font-size: 10pt">Net assets acquired</font></td><td style="font-size: 10pt; padding-bottom: 2.25pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><font style="font-size: 10pt">76,978</font></td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">Acquisition costs associated with the transaction were approximately $1.1 million
and were charged to expense in the year ended December 31, 2018. These costs were primarily for investment banking and legal fees
and are reflected on the face of the income statement.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following table contains an unaudited pro forma condensed consolidated
statement of operations for the years ended December 31, 2018 and 2017, as if the Dielectrics acquisition had occurred at the beginning
of each of the respective periods (in thousands):</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 90%; margin: 0pt 0 0pt 0.5in">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">Year
    Ended December 31,</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">2018</font></td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><font style="font-size: 10pt">2017</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><font style="font-size: 10pt">(Unaudited)</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><font style="font-size: 10pt">(Unaudited)</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 50%; font-size: 10pt"><font style="font-size: 10pt">Sales</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="width: 12%; font-size: 10pt; text-align: right"><font style="font-size: 10pt">193,510</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="width: 1%; font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="width: 12%; font-size: 10pt; text-align: right"><font style="font-size: 10pt">180,419</font></td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="width: 20%; background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">Operating Income</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">19,464</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">18,990</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">Net Income</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">14,110</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">13,126</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt"><font style="font-size: 10pt">Earnings per share:</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">&nbsp;</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; padding-left: 10pt">Basic</td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">1.92</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">1.81</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; padding-left: 10pt">Diluted</td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">1.90</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td><td style="font-size: 10pt"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="font-size: 10pt; text-align: left"><font style="font-size: 10pt">$</font></td><td style="font-size: 10pt; text-align: right"><font style="font-size: 10pt">1.79</font></td><td style="white-space: nowrap; font-size: 10pt; text-align: left"><font style="font-size: 10pt">&nbsp;</font></td>
    <td style="background-color: White"><font style="font-size: 10pt">&nbsp;</font></td></tr>
</table></div>




<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The above unaudited pro forma information is presented for illustrative purposes
only and may not be indicative of the results of operations that would have occurred had the Dielectrics acquisition occurred as
presented. In addition, future results may vary significantly from the results reflected in such pro&nbsp;forma information.</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0 0pt 0.5in">The amount of revenue and net income of Dielectrics recognized since the acquisition
date, which is included in the condensed consolidated statement of income for the year ended December 31, 2018, was approximately
$36.2 million and $6.3 million, respectively.</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0"></p>


<p style="font-size: 10pt; text-align: right; margin: 0pt 0"></p>

<!-- Field: Page; Sequence: 61; Value: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 4pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%; text-align: center">F-<!-- Field: Sequence; Type: Arabic; Name: PageNo -->31<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="page-break-before: always; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<p style="font-size: 10pt; text-align: right; margin: 0pt 0"><a name="a_007"></a></p><div data-td-statement-type="note"><p style="font-size: 10pt; text-align: right; margin: 0pt 0">Schedule II</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>UFP TECHNOLOGIES, INC.</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>Consolidated Financial Statement Schedule</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0"><b>&nbsp;</b></p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">Valuation and Qualifying Accounts</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">Years ended December 31, 2018, 2017 and 2016</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">Accounts receivable, allowance for doubtful accounts:</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<div data-td-taggable-table=""><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td><td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td>
    <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 55%; font-size: 10pt; text-align: left">Balance at beginning of year</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">652</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">567</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td><td style="width: 1%; font-size: 10pt">&nbsp;</td>
    <td style="width: 1%; font-size: 10pt; text-align: left">$</td><td style="width: 12%; font-size: 10pt; text-align: right">499</td><td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Provision for bad debt</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">(50</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">116</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt">&nbsp;</td>
    <td style="font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; text-align: right">126</td><td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td></tr>
<tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Write-offs, net of recoveries</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(38</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(31</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td><td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td>
    <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td><td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">(58</td><td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Balance at end of year</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">564</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">652</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td><td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td>
    <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td><td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">567</td><td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td></tr>
</table></div>



<p style="font-size: 10pt; margin: 0pt 0; color: Red"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p></div><p style="font-size: 10pt; margin: 0pt 0"></p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>

<p style="font-size: 10pt; margin: 0pt 0">&nbsp;</p>



<P STYLE="margin-top: 0; text-align: center; margin-bottom: 0"><font style="font-size: 10pt">F-32</font></p>

<hr noshade="" size="4" style="color: Black; width: 100%; margin-top: 3pt; margin-bottom: 3pt">
<p style="margin: 0"></p>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.01
<SEQUENCE>2
<FILENAME>exh_2101.htm
<DESCRIPTION>EXHIBIT 21.01
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0"></P>

<P STYLE="font-size: 10pt; text-align: right; margin: 0pt 0"><U>Exhibit 21.01</U></P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">UFP Technologies, Inc. wholly owns the following companies:</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top"><TD STYLE="width: 20px"></TD><TD STYLE="width: 20px">1.</TD><TD>Moulded
Fibre Technology, Inc., a Maine company</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top"><TD STYLE="width: 20px"></TD><TD STYLE="width: 20px">2.</TD><TD>Simco
Industries, Inc., a Michigan company</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top"><TD STYLE="width: 20px"></TD><TD STYLE="width: 20px">3.</TD><TD>Stephenson
&amp; Lawyer, Inc. (&ldquo;S&amp;L&rdquo;), a Michigan company</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top"><TD STYLE="width: 20px"></TD><TD STYLE="width: 20px">4.</TD><TD>Patterson
Properties Corporation, a Michigan company (wholly-owned by S&amp;L)</TD></TR></TABLE>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top"><TD STYLE="width: 20px"></TD><TD STYLE="width: 20px">5.</TD><TD>Dielectrics,
Inc., a Massachusetts company</TD></TR></TABLE>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>



<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.01
<SEQUENCE>3
<FILENAME>exh_2301.htm
<DESCRIPTION>EXHIBIT 23.01
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0"></P>

<P STYLE="font-size: 10pt; text-align: right; margin: 0pt 0"><U>Exhibit 23.01</U></P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; text-align: center; margin: 0pt 0">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">We have issued our reports dated March 15, 2019, with respect to the consolidated financial
statements and internal controls over financial reporting included in the Annual Report of UFP Technologies, Inc. on Form 10-K
for the year ended December 31, 2018. We hereby consent to the incorporation by reference of said reports in the Registration Statements
of UFP Technologies, Inc. on Forms S-8 (File No. 333-174907, File No. 333-151883, File No. 333-143673, File No. 333-116436, File
No. 333-56741, File No. 333-91408, and File No. 333-106390).</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">/s/ GRANT THORNTON LLP</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">Boston, MA</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">March 15, 2019</P>



<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.01
<SEQUENCE>4
<FILENAME>exh_3101.htm
<DESCRIPTION>EXHIBIT 31.01
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0"></P>

<P STYLE="font-size: 10pt; text-align: right; margin: 0pt 0"><U>Exhibit 31.01</U></P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">I, R. Jeffrey Bailly, President and Chief Executive Officer of UFP Technologies, Inc.,
certify that:</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I have reviewed this annual report on Form
10-K of UFP Technologies, Inc.;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, this report does not
contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light
of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, the financial statements,
and other financial information included in this report, fairly present in all material respects the financial condition, results
of operations and cash flows of the registrant as of, and for, the periods presented in this report;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The registrant&rsquo;s other certifying officer(s)
and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e)
and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the
registrant and have:</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">a.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Designed such disclosure controls
and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material
information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities,
particularly during the period in which this report is being prepared;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">b.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Designed such internal control
over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide
reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external
purposes in accordance with generally accepted accounting principles;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">c.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluated the effectiveness of
the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness
of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">d.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disclosed in this report any change
in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s most recent fiscal
quarter (the registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably
likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The registrant&rsquo;s other certifying officer(s)
and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&rsquo;s
auditors and the audit committee of the registrant&rsquo;s board of directors (or persons performing the equivalent functions):</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">a.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All significant deficiencies and
material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely
affect the registrant&rsquo;s ability to record, process, summarize and report financial information; and</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">b.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Any fraud, whether or not material,
that involves management or other employees who have a significant role in the registrant&rsquo;s internal control over financial
reporting.</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; font-size: 10pt; border-collapse: collapse">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 30%; border-bottom: Black 1pt solid; font-size: 10pt"><FONT STYLE="font-size: 10pt">March 15, 2019</FONT></TD>
    <TD STYLE="width: 20%; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="width: 50%; font-size: 10pt"><FONT STYLE="font-size: 10pt">/s/&nbsp;&nbsp;&nbsp;<I>R. Jeffrey Bailly</I></FONT></TD></TR>
<TR STYLE="vertical-align: top">
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Date&nbsp;&nbsp;</FONT></TD>
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="border-top: Black 1pt solid">
        <P STYLE="font-size: 10pt; margin: 0pt 0">R. Jeffrey Bailly</P>
        <P STYLE="font-size: 10pt; margin: 0pt 0">Chairman, Chief Executive Officer, President, and Director</P>
        <P STYLE="font-size: 10pt; margin: 0pt 0">(Principal Executive Officer)</P></TD></TR>
</TABLE>


<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.02
<SEQUENCE>5
<FILENAME>exh_3102.htm
<DESCRIPTION>EXHIBIT 31.02
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0"></P>

<P STYLE="font-size: 10pt; text-align: right; margin: 0pt 0"><U>Exhibit 31.02</U></P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">I, Ronald J. Lataille, Chief Financial Officer of UFP Technologies, Inc., certify that:</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I have reviewed this annual report on Form
10-K of UFP Technologies, Inc.;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, this report does not
contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light
of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, the financial statements,
and other financial information included in this report, fairly present in all material respects the financial condition, results
of operations and cash flows of the registrant as of, and for, the periods presented in this report;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The registrant&rsquo;s other certifying officer(s)
and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e)
and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the
registrant and have:</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">a.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Designed such disclosure controls
and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material
information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities,
particularly during the period in which this report is being prepared;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">b.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Designed such internal control
over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide
reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external
purposes in accordance with generally accepted accounting principles;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">c.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluated the effectiveness of
the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness
of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">d.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disclosed in this report any change
in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s most recent fiscal
quarter (the registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably
likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The registrant&rsquo;s other certifying officer(s)
and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&rsquo;s
auditors and the audit committee of the registrant&rsquo;s board of directors (or persons performing the equivalent functions):</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">a.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All significant deficiencies and
material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely
affect the registrant&rsquo;s ability to record, process, summarize and report financial information; and</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 0.25in">b.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Any fraud, whether or not material,
that involves management or other employees who have a significant role in the registrant&rsquo;s internal control over financial
reporting.</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; font-size: 10pt; border-collapse: collapse">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 30%; border-bottom: Black 1pt solid; font-size: 10pt"><FONT STYLE="font-size: 10pt">March 15, 2019</FONT></TD>
    <TD STYLE="width: 20%; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="width: 50%; font-size: 10pt"><FONT STYLE="font-size: 10pt">/s/&nbsp;&nbsp;&nbsp;<I>Ronald J. Lataille</I></FONT></TD></TR>
<TR STYLE="vertical-align: top">
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Date </FONT></TD>
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="border-top: Black 1pt solid">
        <P STYLE="font-size: 10pt; margin: 0pt 0">Ronald J. Lataille</P>
        <P STYLE="font-size: 10pt; margin: 0pt 0">Chief Financial Officer</P>
        <P STYLE="font-size: 10pt; margin: 0pt 0">(Principal Financial Officer)</P></TD></TR>
</TABLE>


<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.01
<SEQUENCE>6
<FILENAME>exh_3201.htm
<DESCRIPTION>EXHIBIT 32.01
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0"></P>

<P STYLE="font-size: 10pt; text-align: right; margin: 0pt 0"><U>Exhibit 32.01</U></P>

<P STYLE="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; text-align: center; margin: 0pt 0">CERTIFICATION</P>

<P STYLE="font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; text-align: center; margin: 0pt 0"><B>Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</B></P>

<P STYLE="font-size: 10pt; text-align: center; margin: 0pt 0"><B>(Subsections (a) and (b) of Section 1350, Chapter 63 of Title
18, United States Code)</B></P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; text-indent: 0.5in; margin: 0pt 0">Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 (subsections
(a) and (b) of Section 1350, Chapter 63 of Title 18, United States Code), the undersigned officers of UFP Technologies, Inc., a
Delaware corporation (the &ldquo;Company&rdquo;), do hereby certify, to the best of such officers&rsquo; knowledge and belief,
that:</P>

<P STYLE="font-size: 10pt; text-indent: 0.5in; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; text-indent: 0.5in; margin: 0pt 0">(1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Annual Report on
Form 10-K for the year ended December 31, 2018, (the &ldquo;Form 10-K&rdquo;) of the Company fully complies with the requirements
of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</P>

<P STYLE="font-size: 10pt; text-indent: 0.5in; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; text-indent: 0.5in; margin: 0pt 0">(2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The information contained
in the Form 10-K fairly presents, in all materials respects, the financial condition and results of operations of the Company.</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; font-size: 10pt; border-collapse: collapse">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 30%; border-bottom: Black 1pt solid; font-size: 10pt"><FONT STYLE="font-size: 10pt">March 15, 2019</FONT></TD>
    <TD STYLE="width: 20%; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="width: 50%; font-size: 10pt"><FONT STYLE="font-size: 10pt">/s/&nbsp;&nbsp;&nbsp;<I>R. Jeffrey Bailly</I></FONT></TD></TR>
<TR STYLE="vertical-align: top">
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Date&nbsp;&nbsp;</FONT></TD>
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD STYLE="border-top: Black 1pt solid">
        <P STYLE="font-size: 10pt; margin: 0pt 0">R. Jeffrey Bailly</P>
        <P STYLE="font-size: 10pt; margin: 0pt 0">Chairman, Chief Executive Officer, President, and Director</P>
        <P STYLE="font-size: 10pt; margin: 0pt 0">(Principal Executive Officer)</P></TD></TR>
</TABLE>
<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width: 100%; font-size: 10pt; border-collapse: collapse">
<TR STYLE="vertical-align: top">
    <TD STYLE="width: 30%; border-bottom: Black 1pt solid"><FONT STYLE="font-size: 10pt">March 15, 2019</FONT></TD>
    <TD STYLE="width: 20%">&nbsp;</TD>
    <TD STYLE="width: 50%"><FONT STYLE="font-size: 10pt">/s/&nbsp;&nbsp;&nbsp;<I>Ronald J. Lataille</I></FONT></TD></TR>
<TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-size: 10pt">Date&nbsp;&nbsp;</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="border-top: Black 1pt solid">
        <P STYLE="font-size: 10pt; margin: 0pt 0">Ronald J. Lataille</P>
        <P STYLE="font-size: 10pt; margin: 0pt 0">Chief Financial Officer</P>
        <P STYLE="font-size: 10pt; margin: 0pt 0">(Principal Financial Officer)</P></TD></TR>
</TABLE>
<P STYLE="font-size: 10pt; margin: 0pt 0 0pt 3in">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">A signed original of this written statement required by Section 906 of the Sarbanes-Oxley
Act of 2002 has been provided to UFP Technologies, Inc. and will be retained by UFP Technologies, Inc. and furnished to the Securities
and Exchange Commission or its staff upon request.</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>

<P STYLE="font-size: 10pt; margin: 0pt 0">&nbsp;</P>



<P STYLE="margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.INS
<SEQUENCE>7
<FILENAME>ufpt-20181231.xml
<DESCRIPTION>XBRL INSTANCE FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:23AM UTC 2019-03-15--><xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns="http://www.xbrl.org/2003/instance" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2017-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2018-01-31" xmlns:exch="http://xbrl.sec.gov/exch/2018-01-31" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2011-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:srt="http://fasb.org/srt/2018-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2011-01-31" xmlns:thunderdome="http://www.RDGFilings.com" xmlns:ufpt="http://www.ufpt.com/20181231" xmlns:us-gaap="http://fasb.org/us-gaap/2018-01-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:schemaRef xlink:href="ufpt-20181231.xsd" xlink:type="simple"/>
  <dei:AmendmentFlag contextRef="d_2018-01-01_2018-12-31" id="c-18">false</dei:AmendmentFlag>
  <dei:CurrentFiscalYearEndDate contextRef="d_2018-01-01_2018-12-31" id="c-4">--12-31</dei:CurrentFiscalYearEndDate>
  <dei:DocumentFiscalPeriodFocus contextRef="d_2018-01-01_2018-12-31" id="c-17">FY</dei:DocumentFiscalPeriodFocus>
  <dei:DocumentFiscalYearFocus contextRef="d_2018-01-01_2018-12-31" id="c-16">2018</dei:DocumentFiscalYearFocus>
  <dei:DocumentPeriodEndDate contextRef="d_2018-01-01_2018-12-31" id="c-15">2018-12-31</dei:DocumentPeriodEndDate>
  <dei:DocumentType contextRef="d_2018-01-01_2018-12-31" id="c-14">10-K</dei:DocumentType>
  <dei:EntityCentralIndexKey contextRef="d_2018-01-01_2018-12-31" id="c-2">0000914156</dei:EntityCentralIndexKey>
  <dei:EntityCommonStockSharesOutstanding contextRef="i_2019-03-05" decimals="INF" id="c-11" unitRef="xbrli-shares">7409047</dei:EntityCommonStockSharesOutstanding>
  <dei:EntityCurrentReportingStatus contextRef="d_2018-01-01_2018-12-31" id="c-6">Yes</dei:EntityCurrentReportingStatus>
  <dei:EntityEmergingGrowthCompany contextRef="d_2018-01-01_2018-12-31" id="c-9">false</dei:EntityEmergingGrowthCompany>
  <dei:EntityFilerCategory contextRef="d_2018-01-01_2018-12-31" id="c-5">Accelerated Filer</dei:EntityFilerCategory>
  <dei:EntityPublicFloat contextRef="i_2018-06-29" decimals="-1" id="c-12" unitRef="iso4217-usd">133051330</dei:EntityPublicFloat>
  <dei:EntityRegistrantName contextRef="d_2018-01-01_2018-12-31" id="c-1">UFP TECHNOLOGIES INC</dei:EntityRegistrantName>
  <dei:EntityShellCompany contextRef="d_2018-01-01_2018-12-31" id="c-13">false</dei:EntityShellCompany>
  <dei:EntitySmallBusiness contextRef="d_2018-01-01_2018-12-31" id="c-10">true</dei:EntitySmallBusiness>
  <dei:EntityVoluntaryFilers contextRef="d_2018-01-01_2018-12-31" id="c-7">No</dei:EntityVoluntaryFilers>
  <dei:EntityWellKnownSeasonedIssuer contextRef="d_2018-01-01_2018-12-31" id="c-8">No</dei:EntityWellKnownSeasonedIssuer>
  <dei:TradingSymbol contextRef="d_2018-01-01_2018-12-31" id="c-3">ufpt</dei:TradingSymbol>
  <invest:DerivativeNotionalAmount contextRef="i_2018-02-01_DerivativeInstrumentRiskAxis-InterestRateSwapMember" decimals="INF" id="c44416637" unitRef="iso4217-usd">20000000</invest:DerivativeNotionalAmount>
  <invest:DerivativeNotionalAmount contextRef="i_2018-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember" decimals="INF" id="c44416641" unitRef="iso4217-usd">17142856</invest:DerivativeNotionalAmount>
  <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131863">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font-size: 10pt; text-align: right; margin: 0pt 0"&gt;Schedule II&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;UFP TECHNOLOGIES, INC.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Consolidated Financial Statement Schedule&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;Valuation and Qualifying Accounts&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;Years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;Accounts receivable, allowance for doubtful accounts:&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Balance at beginning of year&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;652&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;567&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;499&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Provision for bad debt&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(50&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;116&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;126&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Write-offs, net of recoveries&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(38&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(31&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(58&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Balance at end of year&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;564&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;652&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;567&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
  <ufpt:AggregateDeferredTaxLiabilitiesNoncurrent contextRef="i_2018-12-31" decimals="-3" id="c44416765" unitRef="iso4217-usd">4129000</ufpt:AggregateDeferredTaxLiabilitiesNoncurrent>
  <ufpt:AggregateDeferredTaxLiabilitiesNoncurrent contextRef="i_2017-12-31" decimals="-3" id="c44416766" unitRef="iso4217-usd">2440000</ufpt:AggregateDeferredTaxLiabilitiesNoncurrent>
  <ufpt:BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment contextRef="d_2018-02-01_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="INF" id="c44417121" unitRef="iso4217-usd">250000</ufpt:BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment>
  <ufpt:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417146" unitRef="iso4217-usd">81424000</ufpt:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill>
  <ufpt:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417148" unitRef="iso4217-usd">946000</ufpt:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities>
  <ufpt:CashlessExerciseOfStockOptions contextRef="d_2018-01-01_2018-12-31" decimals="INF" id="c44416535" unitRef="iso4217-usd">0</ufpt:CashlessExerciseOfStockOptions>
  <ufpt:CashlessExerciseOfStockOptions contextRef="d_2017-01-01_2017-12-31" decimals="INF" id="c44416536" unitRef="iso4217-usd">172000</ufpt:CashlessExerciseOfStockOptions>
  <ufpt:CashlessExerciseOfStockOptions contextRef="d_2016-01-01_2016-12-31" decimals="INF" id="c44416537" unitRef="iso4217-usd">166000</ufpt:CashlessExerciseOfStockOptions>
  <ufpt:ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416529" unitRef="iso4217-usd">4188000</ufpt:ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers>
  <ufpt:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416744" unitRef="iso4217-usd">447000</ufpt:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent>
  <ufpt:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent contextRef="i_2017-12-31" decimals="-3" id="c44416745" unitRef="iso4217-usd">394000</ufpt:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent>
  <ufpt:EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent contextRef="d_2018-01-01_2018-12-31" decimals="3" id="c44416789" unitRef="xbrli-pure">-0.013</ufpt:EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent>
  <ufpt:EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44416790" unitRef="xbrli-pure">-0.014</ufpt:EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent>
  <ufpt:EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent contextRef="d_2016-01-01_2016-12-31" id="c44416791" unitRef="xbrli-pure" xs:nil="true"/>
  <ufpt:EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments contextRef="d_2018-01-01_2018-12-31" id="c44416786" unitRef="xbrli-pure" xs:nil="true"/>
  <ufpt:EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments contextRef="d_2017-01-01_2017-12-31" id="c44416787" unitRef="xbrli-pure" xs:nil="true"/>
  <ufpt:EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments contextRef="d_2016-01-01_2016-12-31" decimals="3" id="c44416788" unitRef="xbrli-pure">-0.001</ufpt:EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="-3" id="c44416927" unitRef="iso4217-usd">28000</ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths contextRef="i_2018-12-31_AwardTypeAxis-CommonStockMember" id="c44416928" unitRef="iso4217-usd" xs:nil="true"/>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths contextRef="i_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c44416929" unitRef="iso4217-usd">502000</ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths contextRef="i_2018-12-31" decimals="-3" id="c44416930" unitRef="iso4217-usd">530000</ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" id="c44416939" unitRef="iso4217-usd" xs:nil="true"/>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour contextRef="i_2018-12-31_AwardTypeAxis-CommonStockMember" id="c44416940" unitRef="iso4217-usd" xs:nil="true"/>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour contextRef="i_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c44416941" unitRef="iso4217-usd">30000</ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour contextRef="i_2018-12-31" decimals="-3" id="c44416942" unitRef="iso4217-usd">30000</ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" id="c44416935" unitRef="iso4217-usd" xs:nil="true"/>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree contextRef="i_2018-12-31_AwardTypeAxis-CommonStockMember" id="c44416936" unitRef="iso4217-usd" xs:nil="true"/>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree contextRef="i_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c44416937" unitRef="iso4217-usd">250000</ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree contextRef="i_2018-12-31" decimals="-3" id="c44416938" unitRef="iso4217-usd">250000</ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="-3" id="c44416931" unitRef="iso4217-usd">28000</ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo contextRef="i_2018-12-31_AwardTypeAxis-CommonStockMember" id="c44416932" unitRef="iso4217-usd" xs:nil="true"/>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo contextRef="i_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c44416933" unitRef="iso4217-usd">416000</ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo>
  <ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo contextRef="i_2018-12-31" decimals="-3" id="c44416934" unitRef="iso4217-usd">444000</ufpt:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo>
  <ufpt:NumberOfLeaseTermOptions contextRef="i_2018-02-01_LeaseArrangementTypeAxis-DielectricsMember" decimals="INF" id="c44417124" unitRef="xbrli-pure">2</ufpt:NumberOfLeaseTermOptions>
  <ufpt:PlantConsolidationDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131857">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Plant Consolidation&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; March 18, 2015, &lt;/div&gt;the Company committed to move forward with a plan to cease operations at its Raritan, New Jersey, plant and consolidate operations into its Newburyport, Massachusetts, facility and other UFP facilities. The Company&amp;#x2019;s decision was in response to a continued decline in business at the Raritan facility and the purchase of the facility in Newburyport. The activities related to this consolidation are complete.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company also relocated all operations in its Haverhill, Massachusetts, and Byfield, Massachusetts facilities and certain operations in its Georgetown, Massachusetts facility to Newburyport. The Haverhill and Byfield relocations were complete at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2015 &lt;/div&gt;and the partial Georgetown relocation was complete at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 30, 2017.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company incurred approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.1&lt;/div&gt; million in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt;-time expenses in connection with the Massachusetts consolidations. Included in this amount are approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$180,000&lt;/div&gt; relating to employee severance payments and relocation costs, approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.6&lt;/div&gt; million in moving expenses and expenses associated with vacating the Raritan, Haverhill and Byfield properties, and approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$360,000&lt;/div&gt; in lease termination costs. Total cash charges were approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.0&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 59; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company has recorded the following restructuring costs associated with the consolidations discussed above for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt; (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2017&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2016&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Restructuring Costs&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Massachusetts&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 50%; font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Relocation&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;63&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;420&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 20%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total restructuring costs&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;63&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;420&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The above costs were reclassified in the Consolidated Statement of Income as &amp;#x201c;Restructuring Costs&amp;#x201d; from Cost of Sales.&lt;/div&gt;&lt;/div&gt;</ufpt:PlantConsolidationDisclosureTextBlock>
  <ufpt:PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding contextRef="d_2009-03-18_2009-03-18" decimals="INF" id="c44416948" unitRef="xbrli-pure">1</ufpt:PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding>
  <ufpt:ProceedsFromStockOptionsExercisedNet contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416243" unitRef="iso4217-usd">1270000</ufpt:ProceedsFromStockOptionsExercisedNet>
  <ufpt:ProceedsFromStockOptionsExercisedNet contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416244" unitRef="iso4217-usd">677000</ufpt:ProceedsFromStockOptionsExercisedNet>
  <ufpt:ProceedsFromStockOptionsExercisedNet contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416245" unitRef="iso4217-usd">529000</ufpt:ProceedsFromStockOptionsExercisedNet>
  <ufpt:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-20">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in; text-align: left; vertical-align: top"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Leasehold improvements&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="text-align: center; white-space: nowrap"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0; text-align: center"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Shorter of estimated useful life or remaining lease term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in; width: 63%"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Buildings and improvements (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; width: 1%"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;20 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; width: 12%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; 40&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Machinery &amp;amp; Equipment&lt;/div&gt; (in years)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;7 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;15&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Furniture, fixtures, computers &amp;amp; software&lt;/div&gt; (in years)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;3 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; 7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</ufpt:PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-MedicalMember" decimals="3" id="c44417015" unitRef="xbrli-pure">0.579</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-MedicalMember" decimals="3" id="c44417017" unitRef="xbrli-pure">0.474</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-MedicalMember" decimals="3" id="c44417019" unitRef="xbrli-pure">0.443</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-ConsumerMember" decimals="3" id="c44417021" unitRef="xbrli-pure">0.131</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-ConsumerMember" decimals="3" id="c44417023" unitRef="xbrli-pure">0.144</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-ConsumerMember" decimals="3" id="c44417025" unitRef="xbrli-pure">0.142</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-AutomotiveMember" decimals="3" id="c44417027" unitRef="xbrli-pure">0.105</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-AutomotiveMember" decimals="3" id="c44417029" unitRef="xbrli-pure">0.156</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-AutomotiveMember" decimals="3" id="c44417031" unitRef="xbrli-pure">0.187</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-AerospaceDefenseMember" decimals="3" id="c44417033" unitRef="xbrli-pure">0.069</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-AerospaceDefenseMember" decimals="3" id="c44417035" unitRef="xbrli-pure">0.078</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-AerospaceDefenseMember" decimals="3" id="c44417037" unitRef="xbrli-pure">0.075</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-ElectronicsMember" decimals="3" id="c44417039" unitRef="xbrli-pure">0.06</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-ElectronicsMember" decimals="3" id="c44417041" unitRef="xbrli-pure">0.081</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-ElectronicsMember" decimals="3" id="c44417043" unitRef="xbrli-pure">0.08</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-IndustrialMember" decimals="3" id="c44417045" unitRef="xbrli-pure">0.056</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-IndustrialMember" decimals="3" id="c44417047" unitRef="xbrli-pure">0.066</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-IndustrialMember" decimals="3" id="c44417049" unitRef="xbrli-pure">0.074</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2018-01-01_2018-12-31" decimals="3" id="c44417051" unitRef="xbrli-pure">1</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44417053" unitRef="xbrli-pure">1</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage contextRef="d_2016-01-01_2016-12-31" decimals="3" id="c44417055" unitRef="xbrli-pure">1</ufpt:RevenueFromContractWithCustomerIncludingAssessedTaxPercentage>
  <ufpt:RevisionsPolicyPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418437">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Revisions&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Certain revisions have been made to the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017 &lt;/div&gt;Condensed Consolidated Balance Sheet to conform to the current year presentation relating to a reclassification of deferred revenue. The reclassification resulted in an increase in deferred revenue and a decrease in accrued expenses in the amount of approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$297,000.&lt;/div&gt; In addition, certain revisions have been made to the Condensed Consolidated Statements of Cash Flows for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; also due to a reclassification of deferred revenue. The reclassification resulted in an increase to the change in deferred revenue and a decrease in the change in accrued expenses in the amount of approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$91,000&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$206,000&lt;/div&gt; for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; respectively. These revisions had &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; impact on previously reported net income and are deemed immaterial to the previously issued financial statements.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</ufpt:RevisionsPolicyPolicyTextBlock>
  <ufpt:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-40">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; color: #8497B0; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Share-based compensation related to:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Common stock grants&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;505&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;505&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;505&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Stock option grants&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;149&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;138&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;237&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Restricted Stock Unit awards&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;559&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;425&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;314&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Total share-based compensation&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,213&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,068&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,056&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</ufpt:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock>
  <ufpt:ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-43">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Options&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Common&lt;br /&gt; Stock&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Restricted&lt;br /&gt; Stock Units&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Total&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%; font-size: 10pt; text-align: left"&gt;2019&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;502&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;530&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;2020&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;416&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;444&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;2021&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;2022&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 10pt"&gt;Total&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;56&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,198&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,254&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</ufpt:ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock>
  <ufpt:SelfIinsuredHealthInsuranceProgramStopLossAmount contextRef="d_2018-01-01_2018-12-31" decimals="INF" id="c44416987" unitRef="iso4217-usd">225000</ufpt:SelfIinsuredHealthInsuranceProgramStopLossAmount>
  <ufpt:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants contextRef="d_2018-01-01_2018-12-31_PlanNameAxis-The2003IncentivePlanMember" decimals="INF" id="c44416835" unitRef="xbrli-shares">185000</ufpt:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants>
  <ufpt:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative contextRef="i_2018-12-31_PlanNameAxis-The2003IncentivePlanMember" decimals="INF" id="c44416831" unitRef="xbrli-shares">1236812</ufpt:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative>
  <ufpt:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative contextRef="i_2018-12-31_PlanNameAxis-NonemployeeDirectorStockIncentivePlanMember" decimals="INF" id="c44416844" unitRef="xbrli-shares">3366</ufpt:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative>
  <ufpt:SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416855" unitRef="xbrli-shares">6511</ufpt:SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation>
  <ufpt:SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416861" unitRef="xbrli-shares">6514</ufpt:SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation>
  <ufpt:SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416858" unitRef="iso4217-usd-per-xbrli-shares">26.45</ufpt:SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice>
  <ufpt:SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416864" unitRef="iso4217-usd-per-xbrli-shares">25.50</ufpt:SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice>
  <ufpt:SharesPaidForExercisePriceOfAwards contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416856" unitRef="xbrli-shares">6511</ufpt:SharesPaidForExercisePriceOfAwards>
  <ufpt:SharesPaidForExercisePriceOfAwards contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416862" unitRef="xbrli-shares">6514</ufpt:SharesPaidForExercisePriceOfAwards>
  <ufpt:SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416872" unitRef="iso4217-usd-per-xbrli-shares">27.60</ufpt:SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice>
  <ufpt:SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416876" unitRef="iso4217-usd-per-xbrli-shares">24.50</ufpt:SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice>
  <ufpt:SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416877" unitRef="iso4217-usd-per-xbrli-shares">22.82</ufpt:SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice>
  <ufpt:ShippingAndHandlingCostsPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418432">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(n)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Shipping and Handling Costs&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Costs incurred related to shipping and handling are included in cost of sales. Amounts charged to customers pertaining to these costs are included in net sales.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</ufpt:ShippingAndHandlingCostsPolicyTextBlock>
  <ufpt:StockholdersEquityTreasuryStockPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418435">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top; text-align: justify"&gt;&lt;td style="width: 0.5in; text-align: right"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(q)&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: justify"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Treasury Stock&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company accounts for treasury stock under the cost method, using the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt;-in, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; out flow assumption, and we include treasury stock as a component of stockholders&amp;#x2019; equity. The Company did &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; repurchase any shares of common stock during the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</ufpt:StockholdersEquityTreasuryStockPolicyTextBlock>
  <ufpt:SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-51">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Balance at beginning of year&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;652&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;567&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;499&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Provision for bad debt&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(50&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;116&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;126&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Write-offs, net of recoveries&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(38&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(31&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(58&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Balance at end of year&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;564&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;652&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;567&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</ufpt:SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock>
  <ufpt:SupplementalRetirementBenefitsDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131846">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Supplemental Retirement Benefits&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company provides discretionary supplemental retirement benefits for certain retired officers, which will provide an annual benefit to these individuals for various terms following separation from employment. The Company recorded an expense of approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2,000,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$3,000&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$4,000&lt;/div&gt; for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; respectively. The present value of the supplemental retirement obligation has been calculated using a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.1%&lt;/div&gt; discount rate and is included in other liabilities. Total projected future cash payments for the year ending &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2019 &lt;/div&gt;is approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$25,000,&lt;/div&gt; representing the completion of all retirement arrangements under this arrangement.&lt;/div&gt;&lt;/div&gt;</ufpt:SupplementalRetirementBenefitsDisclosureTextBlock>
  <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131831">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Accrued Expenses&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Accrued expenses consist of the following (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left"&gt;Compensation&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,529&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,536&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Benefits / self-insurance reserve&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;782&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;334&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Paid time off&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,131&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;990&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Commissions payable&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;384&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;309&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;Other&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,632&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,297&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,458&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,466&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
  <us-gaap:AccountsPayableCurrent contextRef="i_2018-12-31" decimals="-3" id="c44415918" unitRef="iso4217-usd">6836000</us-gaap:AccountsPayableCurrent>
  <us-gaap:AccountsPayableCurrent contextRef="i_2017-12-31" decimals="-3" id="c44415919" unitRef="iso4217-usd">4180000</us-gaap:AccountsPayableCurrent>
  <us-gaap:AccountsReceivableGrossCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416556" unitRef="iso4217-usd">28885000</us-gaap:AccountsReceivableGrossCurrent>
  <us-gaap:AccountsReceivableGrossCurrent contextRef="i_2017-12-31" decimals="-3" id="c44416557" unitRef="iso4217-usd">22033000</us-gaap:AccountsReceivableGrossCurrent>
  <us-gaap:AccruedLiabilitiesCurrent contextRef="i_2017-12-31_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis-ReclassificationOfDeferredRevenueMember_StatementScenarioAxis-ScenarioAdjustmentMember" decimals="INF" id="c44416378" unitRef="iso4217-usd">-297000</us-gaap:AccruedLiabilitiesCurrent>
  <us-gaap:AccruedLiabilitiesCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416661" unitRef="iso4217-usd">8458000</us-gaap:AccruedLiabilitiesCurrent>
  <us-gaap:AccruedLiabilitiesCurrent contextRef="i_2017-12-31" decimals="-3" id="c44416662" unitRef="iso4217-usd">5466000</us-gaap:AccruedLiabilitiesCurrent>
  <us-gaap:AccruedSalariesCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416651" unitRef="iso4217-usd">3529000</us-gaap:AccruedSalariesCurrent>
  <us-gaap:AccruedSalariesCurrent contextRef="i_2017-12-31" decimals="-3" id="c44416652" unitRef="iso4217-usd">2536000</us-gaap:AccruedSalariesCurrent>
  <us-gaap:AccruedSalesCommissionCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416657" unitRef="iso4217-usd">384000</us-gaap:AccruedSalesCommissionCurrent>
  <us-gaap:AccruedSalesCommissionCurrent contextRef="i_2017-12-31" decimals="-3" id="c44416658" unitRef="iso4217-usd">309000</us-gaap:AccruedSalesCommissionCurrent>
  <us-gaap:AccruedVacationCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416655" unitRef="iso4217-usd">1131000</us-gaap:AccruedVacationCurrent>
  <us-gaap:AccruedVacationCurrent contextRef="i_2017-12-31" decimals="-3" id="c44416656" unitRef="iso4217-usd">990000</us-gaap:AccruedVacationCurrent>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2018-12-31" decimals="-3" id="c44415902" unitRef="iso4217-usd">54112000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2017-12-31" decimals="-3" id="c44415903" unitRef="iso4217-usd">53064000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2018-01-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c44416469" unitRef="iso4217-usd">548000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2018-01-01" decimals="-3" id="c44416470" unitRef="iso4217-usd">53612000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" decimals="-3" id="c44416490" unitRef="iso4217-usd">53110000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" decimals="-3" id="c44416491" unitRef="iso4217-usd">1002000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="d_2018-01-01_2018-12-31" id="c44416572">P19Y219D</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
  <us-gaap:AdditionalPaidInCapital contextRef="i_2018-12-31" decimals="-3" id="c44415962" unitRef="iso4217-usd">29168000</us-gaap:AdditionalPaidInCapital>
  <us-gaap:AdditionalPaidInCapital contextRef="i_2017-12-31" decimals="-3" id="c44415963" unitRef="iso4217-usd">26664000</us-gaap:AdditionalPaidInCapital>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-CommonStockMember" id="c44416055" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416056" unitRef="iso4217-usd">219000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" id="c44416057" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-TreasuryStockMember" id="c44416059" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416060" unitRef="iso4217-usd">219000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416097" unitRef="iso4217-usd">1000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416098" unitRef="iso4217-usd">295000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" id="c44416099" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-TreasuryStockMember" id="c44416101" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416102" unitRef="iso4217-usd">296000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-CommonStockMember" id="c44416132" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416133" unitRef="iso4217-usd">144000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" id="c44416134" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-TreasuryStockMember" id="c44416136" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416137" unitRef="iso4217-usd">144000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416878" unitRef="iso4217-usd">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416879" unitRef="iso4217-usd">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416880" unitRef="iso4217-usd">145000</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416063" unitRef="iso4217-usd">145000</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416067" unitRef="iso4217-usd">145000</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-CommonStockMember" id="c44416139" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416140" unitRef="iso4217-usd">167000</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" id="c44416141" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-TreasuryStockMember" id="c44416143" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416144" unitRef="iso4217-usd">167000</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-01-01_2018-12-31_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416399" unitRef="iso4217-usd">1212000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2017-01-01_2017-12-31_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416400" unitRef="iso4217-usd">1068000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2016-01-01_2016-12-31_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416401" unitRef="iso4217-usd">1056000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-CommonStockMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416883" unitRef="iso4217-usd">505000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-CommonStockMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416884" unitRef="iso4217-usd">505000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-CommonStockMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416885" unitRef="iso4217-usd">505000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416886" unitRef="iso4217-usd">149000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416887" unitRef="iso4217-usd">138000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416888" unitRef="iso4217-usd">237000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416889" unitRef="iso4217-usd">559000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416890" unitRef="iso4217-usd">425000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember" decimals="-3" id="c44416891" unitRef="iso4217-usd">314000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416558" unitRef="iso4217-usd">564000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="i_2017-12-31" decimals="-3" id="c44416559" unitRef="iso4217-usd">652000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="d_2018-01-01_2018-12-31" decimals="-5" id="c44416573" unitRef="iso4217-usd">1200000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="d_2017-01-01_2017-12-31" decimals="-5" id="c44416574" unitRef="iso4217-usd">300000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="d_2016-01-01_2016-12-31" decimals="-5" id="c44416575" unitRef="iso4217-usd">300000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2018-01-01_2018-12-31" decimals="INF" id="c44416814" unitRef="xbrli-shares">10344</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2017-01-01_2017-12-31" decimals="INF" id="c44416815" unitRef="xbrli-shares">27336</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2016-01-01_2016-12-31" decimals="INF" id="c44416816" unitRef="xbrli-shares">52377</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:Assets contextRef="i_2018-12-31" decimals="-3" id="c44415914" unitRef="iso4217-usd">189598000</us-gaap:Assets>
  <us-gaap:Assets contextRef="i_2017-12-31" decimals="-3" id="c44415915" unitRef="iso4217-usd">138207000</us-gaap:Assets>
  <us-gaap:AssetsCurrent contextRef="i_2018-12-31" decimals="-3" id="c44415898" unitRef="iso4217-usd">55626000</us-gaap:AssetsCurrent>
  <us-gaap:AssetsCurrent contextRef="i_2017-12-31" decimals="-3" id="c44415899" unitRef="iso4217-usd">75074000</us-gaap:AssetsCurrent>
  <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="INF" id="c44417119" unitRef="xbrli-pure">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic contextRef="d_2018-01-01_2018-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="INF" id="c44417158" unitRef="iso4217-usd-per-xbrli-shares">1.92</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic contextRef="d_2017-01-01_2017-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="INF" id="c44417159" unitRef="iso4217-usd-per-xbrli-shares">1.81</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted contextRef="d_2018-01-01_2018-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="INF" id="c44417160" unitRef="iso4217-usd-per-xbrli-shares">1.90</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted contextRef="d_2017-01-01_2017-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="INF" id="c44417161" unitRef="iso4217-usd-per-xbrli-shares">1.79</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
  <us-gaap:BusinessAcquisitionProFormaInformationTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-50">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2018&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2017&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(Unaudited)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(Unaudited)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 50%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Sales&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;193,510&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;180,419&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 20%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Operating Income&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;19,464&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;18,990&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Net Income&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;14,110&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;13,126&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Earnings per share:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-left: 10pt"&gt;Basic&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.92&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.81&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-left: 10pt"&gt;Diluted&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.90&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.79&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
  <us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount contextRef="i_2018-12-31" decimals="INF" id="c44416298" unitRef="iso4217-usd">47900000</us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount>
  <us-gaap:BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax contextRef="d_2018-01-01_2018-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417153" unitRef="iso4217-usd">19464000</us-gaap:BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax>
  <us-gaap:BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax contextRef="d_2017-01-01_2017-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417154" unitRef="iso4217-usd">18990000</us-gaap:BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax>
  <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss contextRef="d_2018-01-01_2018-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417155" unitRef="iso4217-usd">14110000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
  <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss contextRef="d_2017-01-01_2017-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417156" unitRef="iso4217-usd">13126000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
  <us-gaap:BusinessAcquisitionsProFormaRevenue contextRef="d_2018-01-01_2018-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417151" unitRef="iso4217-usd">193510000</us-gaap:BusinessAcquisitionsProFormaRevenue>
  <us-gaap:BusinessAcquisitionsProFormaRevenue contextRef="d_2017-01-01_2017-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417152" unitRef="iso4217-usd">180419000</us-gaap:BusinessAcquisitionsProFormaRevenue>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2018-01-01_2018-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="INF" id="c44417126" unitRef="iso4217-usd">1100000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44415986" unitRef="iso4217-usd">1089000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2017-01-01_2017-12-31" id="c44415987" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2016-01-01_2016-12-31" id="c44415988" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-02-01_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417136" unitRef="iso4217-usd">76978000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131860">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Acquisition&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0; text-indent: 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2018 &lt;/div&gt;the Company purchased &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100%&lt;/div&gt; of the outstanding shares of common stock of Dielectrics Inc., pursuant to a stock purchase agreement and related agreements, for an aggregate purchase price of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$80&lt;/div&gt;&amp;nbsp;million in cash. The purchase price was subject to adjustment based upon Dielectrics&amp;#x2019; working capital at closing. An additional &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$250,000&lt;/div&gt; of consideration was paid by the Company as a result of the final working capital adjustment. A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses and liabilities. The Purchase Agreement contains customary representations, warranties and covenants customary for transactions of this type.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Founded in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1954&lt;/div&gt; and based in Chicopee, Massachusetts, Dielectrics is a leader in the design, development, and manufacture of medical devices using thermoplastic materials. They primarily use radio frequency and impulse welding to design and manufacture solutions for the medical industry. The Company has leased the Chicopee location from a realty trust owned by the selling shareholder and affiliates. The lease is for &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt; years with &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two five&lt;/div&gt;-year renewal options.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 60; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management&amp;#x2019;s estimates of fair value (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Consideration Paid:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Cash paid at closing&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;80,000&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 50%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 20pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Working capital adjustment&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;250&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Cash from Dielectrics&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(3,272&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total consideration&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;76,978&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Purchase Price Allocation:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Accounts receivable&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;4,384&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Inventory&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;4,418&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Other current assets&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;122&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Property, plant and equipment&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;4,600&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Customer list&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;22,555&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Non-compete&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;462&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Trade name and brand&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;367&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Goodwill&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;44,516&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total identifiable assets&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;81,424&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Accounts payable&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(1,325&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Accrued expenses&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(946&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Deferred revenue&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(2,175&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Net assets acquired&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;76,978&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Acquisition costs associated with the transaction were approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.1&lt;/div&gt; million and were charged to expense in the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018. &lt;/div&gt;These costs were primarily for investment banking and legal fees and are reflected on the face of the income statement.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The following table contains an unaudited pro forma condensed consolidated statement of operations for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017,&lt;/div&gt; as if the Dielectrics acquisition had occurred at the beginning of each of the respective periods (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2018&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2017&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(Unaudited)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(Unaudited)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 50%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Sales&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;193,510&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;180,419&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 20%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Operating Income&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;19,464&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;18,990&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Net Income&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;14,110&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;13,126&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Earnings per share:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-left: 10pt"&gt;Basic&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.92&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.81&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-left: 10pt"&gt;Diluted&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.90&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.79&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The above unaudited pro forma information is presented for illustrative purposes only and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be indicative of the results of operations that would have occurred had the Dielectrics acquisition occurred as presented. In addition, future results &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;vary significantly from the results reflected in such pro&amp;nbsp;forma information.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The amount of revenue and net income of Dielectrics recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$36.2&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$6.3&lt;/div&gt; million, respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417140" unitRef="iso4217-usd">122000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417138" unitRef="iso4217-usd">4384000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417147" unitRef="iso4217-usd">1325000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417149" unitRef="iso4217-usd">2175000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" decimals="-3" id="c44417142" unitRef="iso4217-usd">22555000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c44417143" unitRef="iso4217-usd">462000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNameAndBrandMember" decimals="-3" id="c44417144" unitRef="iso4217-usd">367000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417139" unitRef="iso4217-usd">4418000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417141" unitRef="iso4217-usd">4600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417150" unitRef="iso4217-usd">76978000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
  <us-gaap:BusinessExitCosts1 contextRef="d_2017-01-01_2017-12-31_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember" decimals="-3" id="c44417106" unitRef="iso4217-usd">63000</us-gaap:BusinessExitCosts1>
  <us-gaap:BusinessExitCosts1 contextRef="d_2016-01-01_2016-12-31_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember" decimals="-3" id="c44417107" unitRef="iso4217-usd">420000</us-gaap:BusinessExitCosts1>
  <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416546" unitRef="iso4217-usd">218000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
  <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416547" unitRef="iso4217-usd">85000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
  <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416548" unitRef="iso4217-usd">87000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2018-02-01_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417135" unitRef="iso4217-usd">3272000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="i_2017-12-31" decimals="-3" id="c44416258" unitRef="iso4217-usd">37978000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="i_2016-12-31" decimals="-3" id="c44416259" unitRef="iso4217-usd">31359000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="i_2015-12-31" decimals="-3" id="c44416260" unitRef="iso4217-usd">29804000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="i_2018-12-31" decimals="-3" id="c44416261" unitRef="iso4217-usd">3238000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416255" unitRef="iso4217-usd">-34740000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
  <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416256" unitRef="iso4217-usd">6619000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
  <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416257" unitRef="iso4217-usd">1555000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
  <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418423">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(e)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Cash and Cash Equivalents&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company considers all highly liquid investments with original maturities of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; months or less to be cash equivalents. At &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;the Company did &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; have any cash equivalents and at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017, &lt;/div&gt;cash equivalents primarily consisted of money market accounts and certificates of deposit that are readily convertible into cash.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company maintains its cash in bank deposit accounts, money market funds, and certificates of deposit that at times exceed federally insured limits. The Company periodically reviews the financial stability of institutions holding its accounts and does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; believe it is exposed to any significant custodial credit risk on cash. The amounts contained within the Company&amp;#x2019;s main operating accounts at Bank of America and TD Bank at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;exceed the federal depository insurance limit by approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$3.8&lt;/div&gt;&amp;nbsp;million.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
  <us-gaap:CashEquivalentsAtCarryingValue contextRef="i_2018-12-31" decimals="INF" id="c44416272" unitRef="iso4217-usd">0</us-gaap:CashEquivalentsAtCarryingValue>
  <us-gaap:CashFlowSupplementalDisclosuresTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131818">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Supplemental Cash Flow Information&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;(in thousands)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Cash paid for:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; font-size: 10pt; padding-left: 10pt"&gt;Interest&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,303&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;47&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;66&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Income taxes, net of refunds&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,463&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,878&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,562&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Non-cash investing and financing activities:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Capital additions accrued but not yet paid&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;218&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;85&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;87&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;During the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; the Company permitted the exercise of stock options with exercise proceeds paid with the Company&amp;#x2019;s stock (&amp;#x201c;cashless&amp;#x201d; exercises) totaling approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$172,000,&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$166,000,&lt;/div&gt; respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:CashFlowSupplementalDisclosuresTextBlock>
  <us-gaap:CashUninsuredAmount contextRef="i_2018-12-31" decimals="INF" id="c44416276" unitRef="iso4217-usd">3800000</us-gaap:CashUninsuredAmount>
  <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1 contextRef="i_2009-03-18_ClassOfWarrantOrRightAxis-PreferredSharePurchaseRightMember" decimals="INF" id="c44416952" unitRef="iso4217-usd-per-xbrli-shares">25</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
  <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight contextRef="i_2009-03-18_StatementClassOfStockAxis-SeriesAJuniorParticipatingPreferredStockMember" decimals="INF" id="c44416950" unitRef="xbrli-shares">0.001</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight>
  <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight contextRef="i_2009-03-18_ClassOfWarrantOrRightAxis-PreferredSharePurchaseRightMember" decimals="INF" id="c44416953" unitRef="xbrli-shares">0.001</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight>
  <us-gaap:CommitmentsAndContingencies contextRef="i_2018-12-31" id="c44415939" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CommitmentsAndContingencies contextRef="i_2017-12-31" id="c44415940" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131847">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Commitments and Contingencies&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; text-indent: -0.25in; margin: 0pt 0 0pt 63pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;(a)&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Leases&lt;/div&gt;&lt;/div&gt; &amp;#x2013; The Company has operating leases for certain facilities that expire through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2023.&lt;/div&gt; Certain of the leases contain escalation clauses that require payments of additional rent as well as increases in related operating costs.&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; text-indent: -0.25in; margin: 0pt 0 0pt 63pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Future minimum lease payments under non-cancelable operating leases as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; are as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Years Ending December 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Operating &lt;br /&gt; Leases&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 35%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2019&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,051&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 50%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2020&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,070&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2021&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,063&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2022&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;975&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2023&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;36&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total minimum lease payments&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;4,195&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Rent expense amounted to approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.2&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.9&lt;/div&gt; million, and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.8&lt;/div&gt; million in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; respectively.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;(b)&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Legal&lt;/div&gt;&lt;/div&gt; &amp;#x2013; From time to time, the Company &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be a party to various suits, claims and complaints arising in the ordinary course of business. In the opinion of management of the Company, these suits, claims and complaints should &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; result in final judgments or settlements that, in the aggregate, would have a material adverse effect on the Company&amp;#x2019;s financial condition or results of operations.&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
  <us-gaap:CommonStockParOrStatedValuePerShare contextRef="i_2018-12-31" decimals="INF" id="c44415954" unitRef="iso4217-usd-per-xbrli-shares">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
  <us-gaap:CommonStockParOrStatedValuePerShare contextRef="i_2017-12-31" decimals="INF" id="c44415955" unitRef="iso4217-usd-per-xbrli-shares">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
  <us-gaap:CommonStockParOrStatedValuePerShare contextRef="i_2009-03-18" decimals="INF" id="c44416949" unitRef="iso4217-usd-per-xbrli-shares">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
  <us-gaap:CommonStockSharesAuthorized contextRef="i_2018-12-31" decimals="INF" id="c44415956" unitRef="xbrli-shares">20000000</us-gaap:CommonStockSharesAuthorized>
  <us-gaap:CommonStockSharesAuthorized contextRef="i_2017-12-31" decimals="INF" id="c44415957" unitRef="xbrli-shares">20000000</us-gaap:CommonStockSharesAuthorized>
  <us-gaap:CommonStockSharesIssued contextRef="i_2018-12-31" decimals="INF" id="c44415958" unitRef="xbrli-shares">7415002</us-gaap:CommonStockSharesIssued>
  <us-gaap:CommonStockSharesIssued contextRef="i_2017-12-31" decimals="INF" id="c44415959" unitRef="xbrli-shares">7309909</us-gaap:CommonStockSharesIssued>
  <us-gaap:CommonStockSharesOutstanding contextRef="i_2018-12-31" decimals="INF" id="c44415960" unitRef="xbrli-shares">7385443</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesOutstanding contextRef="i_2017-12-31" decimals="INF" id="c44415961" unitRef="xbrli-shares">7280350</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockValue contextRef="i_2018-12-31" decimals="-3" id="c44415952" unitRef="iso4217-usd">74000</us-gaap:CommonStockValue>
  <us-gaap:CommonStockValue contextRef="i_2017-12-31" decimals="-3" id="c44415953" unitRef="iso4217-usd">73000</us-gaap:CommonStockValue>
  <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131849">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;16&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Employee Benefit Plans&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company maintains a profit-sharing plan for eligible employees. Contributions to the Plan are made in the form of matching contributions to employee &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;401&lt;/div&gt;(k) deferrals, as well as discretionary profit-sharing amounts determined by the Board of Directors to be funded by &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; March 15 &lt;/div&gt;following each fiscal year. Contributions were approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.1&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.8&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.7&lt;/div&gt; million in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; respectively.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company has a partially self-insured health insurance program that covers all eligible participating employees. The maximum liability is limited by a stop loss of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$225,000&lt;/div&gt; per insured person, along with an aggregate stop loss determined by the number of participants.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company has an Executive, Non-qualified &amp;#x201c;Excess&amp;#x201d; Plan (&amp;#x201c;the Plan&amp;#x201d;), which is a deferred compensation plan available to certain executives. The Plan permits participants to defer receipt of part of their current compensation to a later date as part of their personal retirement or financial planning. Participants have an unsecured contractual commitment from the Company to pay amounts due under the Plan. There is currently &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; security mechanism to ensure that the Company will pay these obligations in the future.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The compensation withheld from Plan participants, together with gains or losses determined by the participants&amp;#x2019; deferral elections is reflected as a deferred compensation obligation to participants and is classified within the liabilities section in the accompanying balance sheets. At &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017,&lt;/div&gt; the balance of the deferred compensation liability totaled approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.0&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.0&lt;/div&gt;&amp;nbsp;million, respectively. The related assets, which are held in the form of a Company-owned, variable life insurance policy that names the Company as the beneficiary, are classified within the other assets section of the accompanying balance sheets and are accounted for based on the underlying cash surrender values of the policies and totaled approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.0&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.0&lt;/div&gt; million as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017,&lt;/div&gt; respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
  <us-gaap:ConsolidationPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418418">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(a)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Principles of Consolidation&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The consolidated financial statements include the accounts and results of operations of UFP Technologies, Inc., its wholly-owned subsidiaries, Moulded Fibre Technology, Inc., Simco Industries, Inc. Dielectrics, Inc. and Stephenson &amp;amp; Lawyer, Inc. and its wholly-owned subsidiary, Patterson Properties Corporation. All significant intercompany balances and transactions have been eliminated in consolidation. The Company has evaluated all subsequent events through the date of this filing.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
  <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-26">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Contract Liabilities&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 85%; font-size: 10pt"&gt;Deferred revenue - January 1, 2018&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;871&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Acquired in Dielectrics business combination&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,175&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Increases due to consideration received from customers&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,188&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Revenue recognized&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,727&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;Deferred revenue - December 31, 2018&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,507&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
  <us-gaap:ContractWithCustomerAssetNetCurrent contextRef="i_2018-12-31_BalanceSheetLocationAxis-ReceivablesNetMember" decimals="INF" id="c44416462" unitRef="iso4217-usd">65000</us-gaap:ContractWithCustomerAssetNetCurrent>
  <us-gaap:ContractWithCustomerLiability contextRef="i_2017-12-31" decimals="-3" id="c44416527" unitRef="iso4217-usd">871000</us-gaap:ContractWithCustomerLiability>
  <us-gaap:ContractWithCustomerLiability contextRef="i_2018-12-31" decimals="-3" id="c44416531" unitRef="iso4217-usd">2507000</us-gaap:ContractWithCustomerLiability>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2017-12-31_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis-ReclassificationOfDeferredRevenueMember_StatementScenarioAxis-ScenarioAdjustmentMember" decimals="INF" id="c44416377" unitRef="iso4217-usd">297000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2018-12-31" decimals="-3" id="c44415922" unitRef="iso4217-usd">2507000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2017-12-31" decimals="-3" id="c44415923" unitRef="iso4217-usd">297000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2018-01-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c44416476" unitRef="iso4217-usd">574000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2018-01-01" decimals="-3" id="c44416477" unitRef="iso4217-usd">871000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" decimals="-3" id="c44416497" unitRef="iso4217-usd">2129000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" decimals="-3" id="c44416498" unitRef="iso4217-usd">378000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416528" unitRef="iso4217-usd">2175000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
  <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="d_2018-01-01_2018-12-31_FairValueByAssetClassAxis-DeferredRevenueMember" decimals="INF" id="c44416461" unitRef="iso4217-usd">615000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
  <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416530" unitRef="iso4217-usd">4727000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44415977" unitRef="iso4217-usd">142147000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44415978" unitRef="iso4217-usd">112356000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44415979" unitRef="iso4217-usd">111482000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2018-01-01_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" decimals="-3" id="c44416510" unitRef="iso4217-usd">142073000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2018-01-01_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" decimals="-3" id="c44416511" unitRef="iso4217-usd">74000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2017-12-31_StatementEquityComponentsAxis-CommonStockMember" id="c44416146" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2017-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" id="c44416147" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2017-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c44416148" unitRef="iso4217-usd">-71000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2017-12-31_StatementEquityComponentsAxis-TreasuryStockMember" id="c44416150" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="i_2017-12-31" decimals="-3" id="c44416151" unitRef="iso4217-usd">-71000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
  <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416717" unitRef="iso4217-usd">1772000</us-gaap:CurrentFederalTaxExpenseBenefit>
  <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416718" unitRef="iso4217-usd">3117000</us-gaap:CurrentFederalTaxExpenseBenefit>
  <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416719" unitRef="iso4217-usd">3120000</us-gaap:CurrentFederalTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416723" unitRef="iso4217-usd">2211000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416724" unitRef="iso4217-usd">3668000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416725" unitRef="iso4217-usd">3771000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416720" unitRef="iso4217-usd">439000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
  <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416721" unitRef="iso4217-usd">551000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
  <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416722" unitRef="iso4217-usd">651000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
  <us-gaap:DebtDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131829">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Indebtedness &lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 2, 2013, &lt;/div&gt;the Company entered into an unsecured &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$40&lt;/div&gt; million revolving credit facility with Bank of America, N.A. The credit facility called for interest of LIBOR plus a margin that ranged from &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.0%&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.5%&lt;/div&gt; or, at the discretion of the Company, the bank&amp;#x2019;s prime rate less a margin that ranged from &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.25%&lt;/div&gt; to zero. In both cases the applicable margin was dependent upon Company performance. Under the credit facility, the Company was subject to a minimum fixed-charge coverage financial covenant as well as a maximum total funded debt to EBITDA financial covenant. The credit facility was amended effective &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2014, &lt;/div&gt;to modify the definition of &amp;#x201c;consolidated fixed-charge coverage ratio&amp;#x201d;. The Company&amp;#x2019;s &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$40&lt;/div&gt; million credit facility was to mature on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; November 30, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2018, &lt;/div&gt;the Company, as the borrower, entered into an unsecured &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$70&lt;/div&gt; million Amended and Restated Credit Agreement (the &amp;#x201c;Amended and Restated Credit Agreement&amp;#x201d;) with the Company&amp;#x2019;s subsidiaries (the &amp;#x201c;Subsidiary Guarantors&amp;#x201d;) and Bank of America, N.A., in its capacity as the initial lender, Administrative Agent, Swingline Lender and L/C Issuer, and certain other lenders from time to time party thereto. The Amended and Restated Credit Agreement amends and restates the Company&amp;#x2019;s prior credit agreement.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The credit facilities under the Amended and Restated Credit Agreement (the &amp;#x201c;Amended and Restated Credit Facilities&amp;#x201d;) consist of a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$20&lt;/div&gt; million unsecured term loan and an unsecured revolving credit facility, under which the Company &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;borrow up to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$50&lt;/div&gt; million. The Amended and Restated Credit Agreement matures on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 1, 2023.&amp;nbsp; &lt;/div&gt;The proceeds borrowed pursuant to the Amended and Restated Credit Agreement &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be used for general corporate purposes, including funding the acquisition of&amp;nbsp;Dielectrics Inc. (&amp;#x201c;Dielectrics&amp;#x201d;) (See Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22&lt;/div&gt;), as well as certain other permitted acquisitions. The Company&amp;#x2019;s obligations under the Amended and Restated Credit Agreement are guaranteed by the Subsidiary Guarantors.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Amended and Restated Credit Agreement calls for interest of LIBOR plus a margin that ranges from &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.0%&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1.5%&lt;/div&gt; or, at the discretion of the Company, the bank&amp;#x2019;s prime rate less a margin that ranges from &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;.25%&lt;/div&gt; to zero. In both cases the applicable margin is dependent upon Company performance.&amp;nbsp; Under the Amended and Restated Credit Agreement, the Company is subject to a minimum fixed-charge coverage financial covenant as well as a maximum total funded debt to EBITDA financial covenant.&amp;nbsp; The Amended and Restated Credit Agreement contains other covenants customary for transactions of this type, including restrictions on certain payments, permitted indebtedness and permitted investments.&amp;nbsp; As of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;the applicable interest rate was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3.52%&lt;/div&gt; and the Company was in compliance with all covenants under the Amended and Restated Credit Agreement.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Included in the Amended and Restated Credit Facilities were approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.6&lt;/div&gt; million in standby letters of credit as a financial guarantee on worker&amp;#x2019;s compensation insurance policies.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Long-term debt consists of the following (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;December 31, &lt;br /&gt; 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 35%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Revolving credit facility&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;8,000&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 50%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Term loan&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;17,143&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total long-term debt&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;25,143&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Current portion&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(2,857&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Long-term debt, excluding current portion&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;22,286&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Derivative Financial Instruments&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company uses interest-rate-related derivative instruments to manage its exposure related to changes in interest rates on certain of its variable-rate debt instruments. The Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; enter into derivative instruments for any purpose other than cash flow hedging. The Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; speculate using derivative instruments. By using derivative financial instruments to hedge exposures to changes in interest rates, the Company exposes itself to credit risk and market risk. Credit risk is the failure of the counterparty to perform under the terms of the derivative contract. When the fair value of a derivative contract is positive, the counterparty owes the Company, creating credit risk for the Company. When the fair value of a derivative contract is negative, the Company owes the counterparty and, therefore, in these circumstances the Company is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; exposed to the counterparty&amp;#x2019;s credit risk. The Company minimizes counterparty credit risk in derivative instruments by entering into transactions with carefully selected major financial institutions based upon their credit profile. Market risk is the adverse effect on the value of a derivative instrument that results from a change in interest rates. The market risk associated with interest-rate contracts is managed by establishing and monitoring parameters that limit the types and degree of market risk that &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be undertaken.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 50; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company assesses interest rate risk by continually identifying and monitoring changes in interest rate exposures that &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;adversely impact expected future cash flows and by evaluating hedging opportunities. The Company&amp;#x2019;s debt obligations expose the Company to variability in interest payments due to changes in interest rates. The Company believes that it is prudent to limit the variability of a portion of its interest payments. To meet this objective, in connection with the Amended and Restated Credit Agreement, the Company entered into a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$20&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;-year interest rate swap agreement under which the Company receives &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt;-month LIBOR plus the applicable margin and pays a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2.7%&lt;/div&gt; fixed rate plus the applicable margin. The swap modifies the Company&amp;#x2019;s interest rate exposure by converting the term loan from a variable rate to a fixed rate in order to hedge against the possibility of rising interest rates during the term of the loan. The notional amount was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$17,142,856&lt;/div&gt; at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018. &lt;/div&gt;The fair value of the swap as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$64,000&lt;/div&gt; and is included in other assets. Changes in the fair value of the swap are recorded in other income/expense and resulted in income of approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$64,000&lt;/div&gt; during the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2013-12-02_2013-12-02_CreditFacilityAxis-RevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember" decimals="4" id="c44416620" unitRef="xbrli-pure">0.01</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2013-12-02_2013-12-02_CreditFacilityAxis-RevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember" decimals="4" id="c44416621" unitRef="xbrli-pure">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2013-12-02_2013-12-02_CreditFacilityAxis-RevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-PrimeRateMember" decimals="4" id="c44416622" unitRef="xbrli-pure">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2018-02-01_2018-02-01_CreditFacilityAxis-UnsecuredRevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember_RangeAxis-MinimumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember" decimals="4" id="c44416628" unitRef="xbrli-pure">0.01</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2018-02-01_2018-02-01_CreditFacilityAxis-UnsecuredRevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember_RangeAxis-MaximumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember" decimals="4" id="c44416629" unitRef="xbrli-pure">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2018-02-01_2018-02-01_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember_RangeAxis-MaximumMember_VariableRateAxis-PrimeRateMember" decimals="4" id="c44416630" unitRef="xbrli-pure">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2013-12-02_2013-12-02_CreditFacilityAxis-RevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-PrimeRateMember" decimals="4" id="c44416644" unitRef="xbrli-pure">0</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentFaceAmount contextRef="i_2018-02-01_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember" decimals="INF" id="c44416624" unitRef="iso4217-usd">70000000</us-gaap:DebtInstrumentFaceAmount>
  <us-gaap:DebtInstrumentFaceAmount contextRef="i_2018-02-01_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_DebtInstrumentAxis-UnsecuredTermLoanMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember" decimals="INF" id="c44416625" unitRef="iso4217-usd">20000000</us-gaap:DebtInstrumentFaceAmount>
  <us-gaap:DebtInstrumentInterestRateEffectivePercentage contextRef="i_2018-12-31_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember" decimals="4" id="c44416631" unitRef="xbrli-pure">0.0352</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
  <us-gaap:DeferredChargesPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418431">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(m)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Deferred Rent&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company accounts for escalating rental payments on a straight-line basis over the term of the lease.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DeferredChargesPolicyTextBlock>
  <us-gaap:DeferredCompensationLiabilityClassifiedNoncurrent contextRef="i_2018-12-31" decimals="-3" id="c44416990" unitRef="iso4217-usd">2044000</us-gaap:DeferredCompensationLiabilityClassifiedNoncurrent>
  <us-gaap:DeferredCompensationLiabilityClassifiedNoncurrent contextRef="i_2017-12-31" decimals="-3" id="c44416991" unitRef="iso4217-usd">2030000</us-gaap:DeferredCompensationLiabilityClassifiedNoncurrent>
  <us-gaap:DeferredCompensationPlanAssets contextRef="i_2018-12-31" decimals="-3" id="c44415910" unitRef="iso4217-usd">2034000</us-gaap:DeferredCompensationPlanAssets>
  <us-gaap:DeferredCompensationPlanAssets contextRef="i_2017-12-31" decimals="-3" id="c44415911" unitRef="iso4217-usd">2015000</us-gaap:DeferredCompensationPlanAssets>
  <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416727" unitRef="iso4217-usd">1917000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
  <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416728" unitRef="iso4217-usd">-1091000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
  <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416729" unitRef="iso4217-usd">546000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416180" unitRef="iso4217-usd">1881000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416181" unitRef="iso4217-usd">-1019000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416182" unitRef="iso4217-usd">576000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxLiabilities contextRef="i_2018-12-31" decimals="-3" id="c44416763" unitRef="iso4217-usd">6065000</us-gaap:DeferredIncomeTaxLiabilities>
  <us-gaap:DeferredIncomeTaxLiabilities contextRef="i_2017-12-31" decimals="-3" id="c44416764" unitRef="iso4217-usd">3905000</us-gaap:DeferredIncomeTaxLiabilities>
  <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416730" unitRef="iso4217-usd">-36000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
  <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416731" unitRef="iso4217-usd">72000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
  <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416732" unitRef="iso4217-usd">30000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
  <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets contextRef="i_2018-12-31" decimals="-3" id="c44416752" unitRef="iso4217-usd">141000</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
  <us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets contextRef="i_2017-12-31" decimals="-3" id="c44416753" unitRef="iso4217-usd">274000</us-gaap:DeferredTaxAssetsGoodwillAndIntangibleAssets>
  <us-gaap:DeferredTaxAssetsGross contextRef="i_2018-12-31" decimals="-3" id="c44416756" unitRef="iso4217-usd">1936000</us-gaap:DeferredTaxAssetsGross>
  <us-gaap:DeferredTaxAssetsGross contextRef="i_2017-12-31" decimals="-3" id="c44416757" unitRef="iso4217-usd">1465000</us-gaap:DeferredTaxAssetsGross>
  <us-gaap:DeferredTaxAssetsInventory contextRef="i_2018-12-31" decimals="-3" id="c44416742" unitRef="iso4217-usd">421000</us-gaap:DeferredTaxAssetsInventory>
  <us-gaap:DeferredTaxAssetsInventory contextRef="i_2017-12-31" decimals="-3" id="c44416743" unitRef="iso4217-usd">228000</us-gaap:DeferredTaxAssetsInventory>
  <us-gaap:DeferredTaxAssetsNet contextRef="i_2018-12-31" decimals="INF" id="c44416669" unitRef="iso4217-usd">1900000</us-gaap:DeferredTaxAssetsNet>
  <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards contextRef="i_2018-12-31" decimals="-3" id="c44416754" unitRef="iso4217-usd">257000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
  <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards contextRef="i_2017-12-31" id="c44416755" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits contextRef="i_2018-12-31" decimals="-3" id="c44416746" unitRef="iso4217-usd">2000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits contextRef="i_2017-12-31" decimals="-3" id="c44416747" unitRef="iso4217-usd">7000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="i_2018-12-31" decimals="-3" id="c44416748" unitRef="iso4217-usd">290000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="i_2017-12-31" decimals="-3" id="c44416749" unitRef="iso4217-usd">158000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals contextRef="i_2018-12-31" decimals="-3" id="c44416740" unitRef="iso4217-usd">367000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals contextRef="i_2017-12-31" decimals="-3" id="c44416741" unitRef="iso4217-usd">398000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent contextRef="i_2018-12-31" decimals="-3" id="c44416750" unitRef="iso4217-usd">11000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent contextRef="i_2017-12-31" decimals="-3" id="c44416751" unitRef="iso4217-usd">6000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent>
  <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill contextRef="i_2018-12-31" decimals="-3" id="c44416761" unitRef="iso4217-usd">1397000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill>
  <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill contextRef="i_2017-12-31" decimals="-3" id="c44416762" unitRef="iso4217-usd">600000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill>
  <us-gaap:DeferredTaxLiabilitiesNoncurrent contextRef="i_2018-12-31" decimals="-3" id="c44415930" unitRef="iso4217-usd">4129000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
  <us-gaap:DeferredTaxLiabilitiesNoncurrent contextRef="i_2017-12-31" decimals="-3" id="c44415931" unitRef="iso4217-usd">2440000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
  <us-gaap:DeferredTaxLiabilitiesNoncurrent contextRef="i_2018-01-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c44416479" unitRef="iso4217-usd">-25000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
  <us-gaap:DeferredTaxLiabilitiesNoncurrent contextRef="i_2018-01-01" decimals="-3" id="c44416480" unitRef="iso4217-usd">2415000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
  <us-gaap:DeferredTaxLiabilitiesNoncurrent contextRef="i_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" decimals="-3" id="c44416500" unitRef="iso4217-usd">4154000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
  <us-gaap:DeferredTaxLiabilitiesNoncurrent contextRef="i_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" decimals="-3" id="c44416501" unitRef="iso4217-usd">-25000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
  <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="i_2018-12-31" decimals="-3" id="c44416759" unitRef="iso4217-usd">4668000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
  <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="i_2017-12-31" decimals="-3" id="c44416760" unitRef="iso4217-usd">3305000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
  <us-gaap:DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent contextRef="i_2018-12-31" decimals="INF" id="c44416992" unitRef="iso4217-usd">2000000</us-gaap:DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent>
  <us-gaap:DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent contextRef="i_2017-12-31" decimals="INF" id="c44416993" unitRef="iso4217-usd">2000000</us-gaap:DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent>
  <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate contextRef="i_2018-12-31_RetirementPlanTypeAxis-SupplementalEmployeeRetirementPlanDefinedBenefitMember" decimals="3" id="c44416960" unitRef="xbrli-pure">0.041</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
  <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths contextRef="i_2018-12-31_RetirementPlanTypeAxis-SupplementalEmployeeRetirementPlanDefinedBenefitMember" decimals="INF" id="c44416961" unitRef="iso4217-usd">25000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths>
  <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="d_2018-01-01_2018-12-31_RetirementPlanTypeAxis-SupplementalEmployeeRetirementPlanDefinedBenefitMember" decimals="INF" id="c44416955" unitRef="iso4217-usd">2000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
  <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="d_2017-01-01_2017-12-31_RetirementPlanTypeAxis-SupplementalEmployeeRetirementPlanDefinedBenefitMember" decimals="INF" id="c44416956" unitRef="iso4217-usd">3000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
  <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="d_2016-01-01_2016-12-31_RetirementPlanTypeAxis-SupplementalEmployeeRetirementPlanDefinedBenefitMember" decimals="INF" id="c44416957" unitRef="iso4217-usd">4000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
  <us-gaap:DefinedContributionPlanCostRecognized contextRef="d_2018-01-01_2018-12-31" decimals="INF" id="c44416981" unitRef="iso4217-usd">1100000</us-gaap:DefinedContributionPlanCostRecognized>
  <us-gaap:DefinedContributionPlanCostRecognized contextRef="d_2017-01-01_2017-12-31" decimals="INF" id="c44416982" unitRef="iso4217-usd">800000</us-gaap:DefinedContributionPlanCostRecognized>
  <us-gaap:DefinedContributionPlanCostRecognized contextRef="d_2016-01-01_2016-12-31" decimals="INF" id="c44416983" unitRef="iso4217-usd">700000</us-gaap:DefinedContributionPlanCostRecognized>
  <us-gaap:DepreciationAndAmortization contextRef="d_2018-01-01_2018-12-31" decimals="-5" id="c44416601" unitRef="iso4217-usd">6600000</us-gaap:DepreciationAndAmortization>
  <us-gaap:DepreciationAndAmortization contextRef="d_2017-01-01_2017-12-31" decimals="-5" id="c44416602" unitRef="iso4217-usd">5300000</us-gaap:DepreciationAndAmortization>
  <us-gaap:DepreciationAndAmortization contextRef="d_2016-01-01_2016-12-31" decimals="-5" id="c44416603" unitRef="iso4217-usd">5300000</us-gaap:DepreciationAndAmortization>
  <us-gaap:DepreciationDepletionAndAmortization contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416171" unitRef="iso4217-usd">7831000</us-gaap:DepreciationDepletionAndAmortization>
  <us-gaap:DepreciationDepletionAndAmortization contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416172" unitRef="iso4217-usd">5635000</us-gaap:DepreciationDepletionAndAmortization>
  <us-gaap:DepreciationDepletionAndAmortization contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416173" unitRef="iso4217-usd">5634000</us-gaap:DepreciationDepletionAndAmortization>
  <us-gaap:DerivativeAssets contextRef="i_2018-12-31_BalanceSheetLocationAxis-OtherAssetsMember_DerivativeInstrumentRiskAxis-InterestRateSwapMember" decimals="INF" id="c44416642" unitRef="iso4217-usd">64000</us-gaap:DerivativeAssets>
  <us-gaap:DerivativeAssets contextRef="i_2018-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember" decimals="-3" id="c44417003" unitRef="iso4217-usd">64000</us-gaap:DerivativeAssets>
  <us-gaap:DerivativeFixedInterestRate contextRef="i_2018-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember" decimals="4" id="c44416640" unitRef="xbrli-pure">0.027</us-gaap:DerivativeFixedInterestRate>
  <us-gaap:DerivativeGainOnDerivative contextRef="d_2018-01-01_2018-12-31_BalanceSheetLocationAxis-OtherAssetsMember_IncomeStatementLocationAxis-OtherNonoperatingIncomeExpenseMember" decimals="INF" id="c44416643" unitRef="iso4217-usd">64000</us-gaap:DerivativeGainOnDerivative>
  <us-gaap:DerivativeTermOfContract contextRef="d_2018-02-01_2018-02-01_DerivativeInstrumentRiskAxis-InterestRateSwapMember" id="c44416638">P5Y</us-gaap:DerivativeTermOfContract>
  <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-25">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-style: italic; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left; border-bottom: Black 1pt solid"&gt;Net sales of:&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt"&gt;Products&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;183,186&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;146,275&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;144,210&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Tooling and Machinery&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,302&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,181&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,633&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Engineering services&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,967&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;387&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;289&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Total net sales&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;190,455&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;147,843&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;146,132&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
  <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131840">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Stock Option and Equity Incentive Plans&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Share-based compensation is measured at the grant date based on the fair value of the award and is recognized as an expense over the requisite service period (generally the vesting period of the equity grant).&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company issues share-based awards through several plans that are described below. The compensation cost charged against income for those plans is included in selling, general &amp;amp; administrative expenses as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; color: #8497B0; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Share-based compensation related to:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Common stock grants&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;505&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;505&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;505&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Stock option grants&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;149&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;138&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;237&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Restricted Stock Unit awards&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;559&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;425&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;314&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Total share-based compensation&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,213&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,068&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,056&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Incentive Plan&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 2003, &lt;/div&gt;the Company formally adopted the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2003&lt;/div&gt; Incentive Plan (the &amp;#x201c;Plan&amp;#x201d;). The Plan was originally intended to benefit the Company by offering equity-based incentives to certain of the Company&amp;#x2019;s executives and employees, thereby giving them a permanent stake in the growth and long-term success of the Company and encouraging the continuance of their involvement with the Company&amp;#x2019;s businesses. The Plan was amended effective &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 4, 2008, &lt;/div&gt;to permit certain performance-based cash awards to be made under the Plan. The Plan was further amended on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 8, 2011, &lt;/div&gt;to increase the maximum number of shares of common stock in the aggregate to be issued to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,250,000.&lt;/div&gt; The Plan was further amended on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; March 7, 2013, &lt;/div&gt;to (i) prohibit the repricing of stock options or other equity awards without the consent of the Company&amp;#x2019;s shareholders, and (ii) prohibit the Company from buying out underwater stock options.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Two types of equity awards &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be granted to participants under the Plan: restricted shares or other stock awards. Restricted shares are shares of common stock awarded subject to restrictions and to possible forfeiture upon the occurrence of specified events. Other stock awards are awards that are denominated or payable in, valued in whole or in part by reference to, or otherwise based on or related to, shares of common stock. Such awards &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;include Restricted Stock Unit Awards (&amp;#x201c;RSUs&amp;#x201d;), unrestricted or restricted stock, incentive and non-qualified stock options, performance shares, or stock appreciation rights. The Company determines the form, terms, and conditions, if any, of any awards made under the Plan.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 54; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,236,812&lt;/div&gt; shares of common stock have been issued under the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2003&lt;/div&gt; Incentive Plan, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;none&lt;/div&gt; of which have been restricted. An additional &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;73,392&lt;/div&gt; shares are being reserved for outstanding grants of RSUs and other share-based compensation that are subject to various performance and time-vesting contingencies. The Company has also granted awards in the form of stock options under this Plan. Through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;185,000&lt;/div&gt; options have been granted and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;49,375&lt;/div&gt; options are outstanding. At &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;854,077&lt;/div&gt; shares or options are available for future issuance in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2003&lt;/div&gt; Incentive Plan.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Director Plan&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Effective &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; July 15, 1998, &lt;/div&gt;the Company adopted the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1998&lt;/div&gt; Director Plan, which was amended and renamed, on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 3, 2009, &lt;/div&gt;the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2009&lt;/div&gt; Non-Employee Director Stock Incentive Plan (the &amp;#x201c;Director Plan&amp;#x201d;). The Director Plan was amended on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; March 7, 2013, &lt;/div&gt;to (i) prohibit the repricing of stock options or other equity awards without the consent of the Company&amp;#x2019;s shareholders, and (ii) prohibit the Company from buying out underwater stock options. The Director Plan, as amended, provides for the issuance of stock options and other equity-based securities of up to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;975,000&lt;/div&gt; shares to non-employee members of the Company&amp;#x2019;s board of directors. Through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;348,490&lt;/div&gt; options have been granted and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;106,543&lt;/div&gt; options are outstanding. For the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,366&lt;/div&gt; shares of common stock were issued, and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;101,626&lt;/div&gt; shares remained available to be issued under the Director Plan.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The following is a summary of stock option activity under all plans:&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Shares Under &lt;br /&gt; Options&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted &lt;br /&gt; Average &lt;br /&gt; Exercise &lt;br /&gt; Price&lt;/div&gt;&lt;br /&gt; &lt;div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal"&gt;&amp;nbsp;(per share)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted &lt;br /&gt; Average &lt;br /&gt; Remaining &lt;br /&gt; Contractual &lt;br /&gt; Life&lt;/div&gt;&lt;br /&gt; &lt;div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal"&gt;(in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate &lt;br /&gt; Intrinsic &lt;br /&gt; Value&lt;/div&gt;&lt;br /&gt; &lt;div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal"&gt;(in thousands)&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%; font-size: 10pt"&gt;Outstanding December 31, 2017&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;202,739&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18.23&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Granted&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,344&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31.20&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Exercised&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(78,680&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31.43&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;Outstanding December 31, 2018&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;134,403&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20.46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.50&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,296&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;Exercisable at December 31, 2018&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;126,543&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19.97&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.53&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,286&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Vested and expected to vest at December 31, 2018&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;134,403&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20.46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.50&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,296&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;During the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; the total intrinsic value of all options exercised (i.e.,&amp;nbsp;the difference between the market price and the price paid by the employees to exercise the options) was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.2&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.6&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.7&lt;/div&gt; million, respectively, and the total amount of consideration received from the exercise of these options was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.3&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.8&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.7&lt;/div&gt; million, respectively. At its discretion, the Company allows option holders to surrender previously-owned common stock in lieu of paying the exercise price and withholding taxes. During the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; shares were surrendered for this purpose. During the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,511&lt;/div&gt; shares (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,511&lt;/div&gt; for options and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;zero&lt;/div&gt; for taxes) were surrendered at an average market price of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$26.45.&lt;/div&gt; During the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,514&lt;/div&gt; shares (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,514&lt;/div&gt; for options and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;zero&lt;/div&gt; for taxes) were surrendered at an average market price of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$25.50.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 21, 2018, &lt;/div&gt;the Company&amp;#x2019;s Compensation Committee approved the award of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$400,000&lt;/div&gt; payable in shares of the Company&amp;#x2019;s common stock to the Company&amp;#x2019;s Chairman, Chief Executive Officer, and President under the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2003&lt;/div&gt; Equity Incentive Plan. The shares were issued on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 12, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; June 6, 2018 &lt;/div&gt;the Company issued &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,366&lt;/div&gt; shares of unrestricted common stock to the non-employee members of the Company&amp;#x2019;s Board of Directors as part of their annual retainer for serving on the Board.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 55; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company grants RSUs to its executive officers and employees. The stock unit awards are subject to various time-based vesting requirements, and certain portions of these awards are subject to performance criteria of the Company. Compensation expense on these awards is recorded based on the fair value of the award at the date of grant, which is equal to the Company&amp;#x2019;s closing stock price, and is charged, to expense ratably during the service period. &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No&lt;/div&gt; compensation expense is taken on awards that do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; become vested, and the amount of compensation expense recorded is adjusted based on management&amp;#x2019;s determination of the probability that these awards will become vested. The following table summarizes information about stock unit award activity during the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Restricted &lt;br /&gt; Stock Units&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Weighted &lt;br /&gt; Average Award &lt;br /&gt; Date Fair Value&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt"&gt;Outstanding at December 31, 2017&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;57,395&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.03&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Awarded&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30,831&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;29.36&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Shares vested&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(16,050&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.55&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;Outstanding at December 31, 2018&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;72,176&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.60&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;At the Company&amp;#x2019;s discretion, RSU holders are given the option to net-share settle to cover the required minimum withholding tax, and the remaining amount is converted into the equivalent number of common shares. During the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,238&lt;/div&gt; shares were redeemed for this purpose at an average market price of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$27.60.&lt;/div&gt; During the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,377&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,389&lt;/div&gt; shares were redeemed for this purpose at an average market price of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$24.50&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$22.82,&lt;/div&gt; respectively.&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;The following summarizes the future share-based compensation expense the Company will record as the equity securities granted through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;vest (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red; text-indent: 1in"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Options&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Common&lt;br /&gt; Stock&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Restricted&lt;br /&gt; Stock Units&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Total&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%; font-size: 10pt; text-align: left"&gt;2019&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;502&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;530&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;2020&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;416&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;444&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;2021&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;250&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;2022&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 10pt"&gt;Total&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;56&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,198&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,254&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Tax benefits totaling approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$145,000&lt;/div&gt; were recognized as additional paid-in capital during the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; respectively, since the Company&amp;#x2019;s tax deductions exceeded the share-based compensation charge recognized for stock options exercised and RSUs vested.&lt;/div&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
  <us-gaap:EarningsPerShareBasic contextRef="d_2018-01-01_2018-03-31" decimals="INF" id="c44417069" unitRef="iso4217-usd-per-xbrli-shares">0.24</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2018-04-01_2018-06-30" decimals="INF" id="c44417070" unitRef="iso4217-usd-per-xbrli-shares">0.54</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2018-07-01_2018-09-30" decimals="INF" id="c44417071" unitRef="iso4217-usd-per-xbrli-shares">0.56</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2018-10-01_2018-12-31" decimals="INF" id="c44417072" unitRef="iso4217-usd-per-xbrli-shares">0.60</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2017-01-01_2017-03-31" decimals="INF" id="c44417089" unitRef="iso4217-usd-per-xbrli-shares">0.30</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2017-04-01_2017-06-30" decimals="INF" id="c44417090" unitRef="iso4217-usd-per-xbrli-shares">0.36</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2017-07-01_2017-09-30" decimals="INF" id="c44417091" unitRef="iso4217-usd-per-xbrli-shares">0.23</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2017-10-01_2017-12-31" decimals="INF" id="c44417092" unitRef="iso4217-usd-per-xbrli-shares">0.38</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2018-01-01_2018-12-31" decimals="INF" id="c44416020" unitRef="iso4217-usd-per-xbrli-shares">1.95</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2017-01-01_2017-12-31" decimals="INF" id="c44416021" unitRef="iso4217-usd-per-xbrli-shares">1.27</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2016-01-01_2016-12-31" decimals="INF" id="c44416022" unitRef="iso4217-usd-per-xbrli-shares">1.11</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2018-01-01_2018-03-31" decimals="INF" id="c44417073" unitRef="iso4217-usd-per-xbrli-shares">0.24</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2018-04-01_2018-06-30" decimals="INF" id="c44417074" unitRef="iso4217-usd-per-xbrli-shares">0.54</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2018-07-01_2018-09-30" decimals="INF" id="c44417075" unitRef="iso4217-usd-per-xbrli-shares">0.56</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2018-10-01_2018-12-31" decimals="INF" id="c44417076" unitRef="iso4217-usd-per-xbrli-shares">0.59</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2017-01-01_2017-03-31" decimals="INF" id="c44417093" unitRef="iso4217-usd-per-xbrli-shares">0.30</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2017-04-01_2017-06-30" decimals="INF" id="c44417094" unitRef="iso4217-usd-per-xbrli-shares">0.36</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2017-07-01_2017-09-30" decimals="INF" id="c44417095" unitRef="iso4217-usd-per-xbrli-shares">0.23</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2017-10-01_2017-12-31" decimals="INF" id="c44417096" unitRef="iso4217-usd-per-xbrli-shares">0.37</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2018-01-01_2018-12-31" decimals="INF" id="c44416023" unitRef="iso4217-usd-per-xbrli-shares">1.93</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2017-01-01_2017-12-31" decimals="INF" id="c44416024" unitRef="iso4217-usd-per-xbrli-shares">1.26</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2016-01-01_2016-12-31" decimals="INF" id="c44416025" unitRef="iso4217-usd-per-xbrli-shares">1.10</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131838">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Net Income Per Share&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Basic income per share is based upon the weighted average common shares outstanding during each year. Diluted income per share is based upon the weighted average of common shares and dilutive common stock equivalent shares outstanding during each year. The weighted average number of shares used to compute both basic and diluted income per share consisted of the following (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Basic weighted average common shares outstanding during the year&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,347&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,248&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,190&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Weighted average common equivalent shares due to stock options and restricted stock units&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;83&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;89&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;85&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Diluted weighted average common shares outstanding during the year&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,430&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,337&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,275&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options, when the average market price of the common stock is lower than the exercise price of the related options during the period. These outstanding stock awards are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; included in the computation of diluted earnings per share because the effect would have been antidilutive.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;For the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; the number of stock awards excluded from the computation was &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,344,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27,336&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;52,377,&lt;/div&gt; respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="d_2018-01-01_2018-12-31" decimals="3" id="c44416801" unitRef="xbrli-pure">0.222</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44416802" unitRef="xbrli-pure">0.223</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="d_2016-01-01_2016-12-31" decimals="3" id="c44416803" unitRef="xbrli-pure">0.353</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="d_2018-01-01_2018-12-31" decimals="2" id="c44416674" unitRef="xbrli-pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44416768" unitRef="xbrli-pure">0.34</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="d_2016-01-01_2016-12-31" decimals="3" id="c44416769" unitRef="xbrli-pure">0.34</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="d_2018-01-01_2018-12-31" id="c44416795" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44416796" unitRef="xbrli-pure">-0.111</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
  <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="d_2016-01-01_2016-12-31" id="c44416797" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities contextRef="d_2018-01-01_2018-12-31" id="c44416780" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44416781" unitRef="xbrli-pure">0.026</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities>
  <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities contextRef="d_2016-01-01_2016-12-31" decimals="3" id="c44416782" unitRef="xbrli-pure">0.025</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities>
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment contextRef="d_2018-01-01_2018-12-31" decimals="3" id="c44416774" unitRef="xbrli-pure">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44416775" unitRef="xbrli-pure">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment contextRef="d_2016-01-01_2016-12-31" decimals="3" id="c44416776" unitRef="xbrli-pure">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="d_2018-01-01_2018-12-31" decimals="3" id="c44416783" unitRef="xbrli-pure">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44416784" unitRef="xbrli-pure">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="d_2016-01-01_2016-12-31" decimals="3" id="c44416785" unitRef="xbrli-pure">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="d_2018-01-01_2018-12-31" decimals="3" id="c44416798" unitRef="xbrli-pure">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
  <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44416799" unitRef="xbrli-pure">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
  <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="d_2016-01-01_2016-12-31" decimals="3" id="c44416800" unitRef="xbrli-pure">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
  <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent contextRef="d_2018-01-01_2018-12-31" decimals="3" id="c44416792" unitRef="xbrli-pure">0.008</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
  <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent contextRef="d_2017-01-01_2017-12-31" id="c44416793" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent contextRef="d_2016-01-01_2016-12-31" id="c44416794" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="d_2018-01-01_2018-12-31" decimals="3" id="c44416771" unitRef="xbrli-pure">0.028</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
  <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44416772" unitRef="xbrli-pure">0.035</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
  <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="d_2016-01-01_2016-12-31" decimals="3" id="c44416773" unitRef="xbrli-pure">0.037</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
  <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="d_2018-01-01_2018-12-31" decimals="3" id="c44416777" unitRef="xbrli-pure">0.019</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
  <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="d_2017-01-01_2017-12-31" decimals="3" id="c44416778" unitRef="xbrli-pure">0.006</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
  <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="d_2016-01-01_2016-12-31" decimals="3" id="c44416779" unitRef="xbrli-pure">0.006</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="-3" id="c44416943" unitRef="iso4217-usd">56000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2018-12-31_AwardTypeAxis-CommonStockMember" id="c44416944" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c44416945" unitRef="iso4217-usd">1198000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2018-12-31" decimals="-3" id="c44416946" unitRef="iso4217-usd">1254000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="INF" id="c44416323" unitRef="iso4217-usd">544000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="INF" id="c44416324" unitRef="iso4217-usd">525000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="INF" id="c44416325" unitRef="iso4217-usd">318000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities contextRef="d_2018-01-01_2018-12-31" id="c44416249" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities contextRef="d_2017-01-01_2017-12-31" id="c44416250" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416251" unitRef="iso4217-usd">145000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities>
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationOperatingActivities contextRef="d_2018-01-01_2018-12-31" id="c44416183" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationOperatingActivities contextRef="d_2017-01-01_2017-12-31" id="c44416184" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationOperatingActivities contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416185" unitRef="iso4217-usd">145000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationOperatingActivities>
  <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-45">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Level 2&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;December 31, &lt;br /&gt; 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Assets:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Derivative financial instruments&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;64&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 50%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
  <us-gaap:FairValueDisclosuresTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131850">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;17&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Fair Value of Financial Instruments&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Financial instruments recorded at fair value in the consolidated balance sheets, or disclosed at fair value in the footnotes, are categorized based upon the level of judgment associated with the inputs used to measure their fair value. Hierarchical levels defined by ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;820,&lt;/div&gt; &lt;div style="display: inline; font-style: italic;"&gt;Fair Value Measurements and Disclosures&lt;/div&gt;, and directly related to the amount of subjectivity associated with inputs to fair valuation of these assets and liabilities, are as follows:&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Level &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Valued based on unadjusted, quoted prices in active markets for identical assets or liabilities at the measurement date. An active market for the asset or liability is a market in which transactions for the asset or liability occur with sufficient frequency and volume to provide pricing information on an ongoing basis.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Level &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Valued based on either directly or indirectly observable prices for the asset or liability through correlation with market data at the measurement date and for the duration of the instrument&amp;#x2019;s anticipated life.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Level &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Valued based on management&amp;#x2019;s best estimate of what market participants would use in pricing the asset or liability at the measurement date. Consideration is given to the risk inherent in the valuation technique and the risk inherent in the inputs to the model.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The following table presents the fair value and hierarchy levels, for financial assets that are measured at fair value on a recurring basis (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Level 2&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;December 31, &lt;br /&gt; 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Assets:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Derivative financial instruments&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;64&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 50%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Derivative financial instruments consist of an interest rate swap for which fair value is determined through the use of a pricing model that utilizes verifiable inputs such as market interest rates that are observable at commonly quoted intervals for the full term of the swap agreement.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company has financial instruments, such as accounts receivable, accounts payable, and accrued expenses, that are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company&amp;#x2019;s long-term debt approximates fair value as the interest rate on the debt approximates the estimated borrowing rate currently available to the Company.&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
  <us-gaap:FairValueMeasurementPolicyPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418420">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(c)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Fair Value Measurement&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company defines fair value as the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value for assets and liabilities, which are required to be recorded at fair value, the Company considers the principal or most advantageous market in which the Company would transact and the market-based risk measurement or assumptions that market participants would use in pricing the asset or liability, such as inherent risk, transfer restrictions, and credit risk.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company has &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; elected fair value accounting for any financial instruments for which fair value accounting is optional.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
  <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="d_2018-01-01_2018-12-31" id="c44418421">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(d)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Fair Value of Financial Instruments&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Cash and cash equivalents, accounts receivable, accounts payable, accrued expenses and other liabilities are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company&amp;#x2019;s long-term debt approximates fair value as the interest rate on the debt approximates the Company&amp;#x2019;s current incremental borrowing rate.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-01-01_2018-12-31_RangeAxis-MinimumMember" id="c44416301">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-01-01_2018-12-31_RangeAxis-MaximumMember" id="c44416303">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNameAndBrandMember" decimals="-3" id="c44416583" unitRef="iso4217-usd">33000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c44416584" unitRef="iso4217-usd">85000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" decimals="-3" id="c44416585" unitRef="iso4217-usd">1034000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2018-12-31" decimals="-3" id="c44416586" unitRef="iso4217-usd">1152000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive contextRef="i_2018-12-31" decimals="-3" id="c44416596" unitRef="iso4217-usd">16032000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="i_2018-12-31" decimals="-3" id="c44416591" unitRef="iso4217-usd">1257000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="i_2018-12-31" decimals="-3" id="c44416595" unitRef="iso4217-usd">1172000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="i_2018-12-31" decimals="-3" id="c44416594" unitRef="iso4217-usd">1257000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="i_2018-12-31" decimals="-3" id="c44416593" unitRef="iso4217-usd">1257000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="i_2018-12-31" decimals="-3" id="c44416592" unitRef="iso4217-usd">1257000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNameAndBrandMember" decimals="-3" id="c44416579" unitRef="iso4217-usd">367000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c44416580" unitRef="iso4217-usd">462000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" decimals="-3" id="c44416581" unitRef="iso4217-usd">22555000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2018-12-31" decimals="-3" id="c44416582" unitRef="iso4217-usd">23384000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="i_2018-12-31" decimals="-3" id="c44416597" unitRef="iso4217-usd">22232000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:GainLossOnDispositionOfAssets contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416174" unitRef="iso4217-usd">47000</us-gaap:GainLossOnDispositionOfAssets>
  <us-gaap:GainLossOnDispositionOfAssets contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416175" unitRef="iso4217-usd">-7000</us-gaap:GainLossOnDispositionOfAssets>
  <us-gaap:GainLossOnDispositionOfAssets contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416176" unitRef="iso4217-usd">-2000</us-gaap:GainLossOnDispositionOfAssets>
  <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44415995" unitRef="iso4217-usd">47000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
  <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44415996" unitRef="iso4217-usd">-7000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
  <us-gaap:GainLossOnSaleOfPropertyPlantEquipment contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44415997" unitRef="iso4217-usd">-2000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
  <us-gaap:GainLossRelatedToLitigationSettlement contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44415992" unitRef="iso4217-usd">104000</us-gaap:GainLossRelatedToLitigationSettlement>
  <us-gaap:GainLossRelatedToLitigationSettlement contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44415993" unitRef="iso4217-usd">121000</us-gaap:GainLossRelatedToLitigationSettlement>
  <us-gaap:GainLossRelatedToLitigationSettlement contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44415994" unitRef="iso4217-usd">2114000</us-gaap:GainLossRelatedToLitigationSettlement>
  <us-gaap:Goodwill contextRef="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="-3" id="c44417145" unitRef="iso4217-usd">44516000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2017-12-31" decimals="-3" id="c44416396" unitRef="iso4217-usd">7322000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2018-12-31" decimals="-3" id="c44416398" unitRef="iso4217-usd">51838000</us-gaap:Goodwill>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416397" unitRef="iso4217-usd">44516000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy contextRef="d_2018-01-01_2018-12-31" id="c44418427">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(i)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Goodwill&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 1in; font-size: 10pt"&gt;Goodwill is tested for impairment annually and will be tested for impairment between annual tests if an event occurs or circumstances change that would indicate that the carrying amount &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be impaired. Impairment testing for goodwill is done at a reporting unit level. Reporting units are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; level below the business segment level but can be combined when reporting units within the same segment have similar economic characteristics. An impairment loss generally would be recognized when the carrying amount of the reporting unit&amp;#x2019;s net assets exceeds the estimated fair value of the reporting unit. The Company consists of a single reporting unit. In testing goodwill for impairment at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;the Company primarily utilized the guideline public company (&amp;#x201c;GPC&amp;#x201d;) method under the market approach and the discounted cash flows method (&amp;#x201c;DCF&amp;#x201d;) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting unit&amp;#x2019;s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value of a series of estimated future cash flows at the valuation date by the application of a discount rate, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; that a prudent investor would require before making an investment in our equity securities. The key assumptions used in our approach included:&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 1in; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 1in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-family: Symbol"&gt;&amp;middot;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;The reporting unit&amp;#x2019;s estimated financials and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt;-year projections of financial results, which were based on our strategic plans and long-range forecasts. Sales growth rates represent estimates based on current and forecasted sales mix and market conditions. The profit margins were projected based on historical margins, projected sales mix, current expense structure and anticipated expense modifications.&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;!-- Field: Page; Sequence: 41; Value: 1 --&gt; &lt;!-- Field: /Page --&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 1in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-family: Symbol"&gt;&amp;middot;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;The projected terminal value which reflects the total present value of projected cash flows beyond the last period in the DCF. This value reflects a growth rate for the reporting unit, which is approximately the same growth rate of expected inflation into perpetuity.&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" margin: 0pt 0; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 1in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-family: Symbol"&gt;&amp;middot;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;The discount rate determined using a Weighted Average Cost of Capital method (&amp;#x201c;WACC&amp;#x201d;), which considered market and industry data as well as Company-specific risk factors.&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" margin: 0pt 0; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 1in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-family: Symbol"&gt;&amp;middot;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;Selection of guideline public companies which are similar in size and market capitalization to each other and to the Company.&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" margin: 0pt 0; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;As of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;based on our calculations under the above noted approach, the fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations, management used its most reasonable estimates of the key assumptions discussed above. If our actual operating results and/or the key assumptions utilized in management&amp;#x2019;s calculations differ from our expectations, it is possible that a future impairment charge &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be necessary.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The net carrying amounts of goodwill for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; are as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0 0pt 1in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Goodwill&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 65%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;December 31, 2017&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;7,322&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 20%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; white-space: nowrap"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Acquired in Dielectrics business combination (See Note 22)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;44,516&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;December 31, 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;51,838&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0; text-indent: 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0; text-indent: 1in"&gt;Approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$47.9&lt;/div&gt; million of goodwill is deductible for tax purposes.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
  <us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy contextRef="d_2018-01-01_2018-12-31" id="c44418428">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(j)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Intangible Assets&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Intangible assets with a definite life are amortized on a straight-line basis, with estimated useful lives ranging from &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20&lt;/div&gt; years. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that their carrying values &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be recoverable. &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No&lt;/div&gt; events or changes in circumstances arose during the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;which required management to perform an impairment analysis.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy>
  <us-gaap:GrossProfit contextRef="d_2018-01-01_2018-03-31" decimals="-3" id="c44417061" unitRef="iso4217-usd">10185000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2018-04-01_2018-06-30" decimals="-3" id="c44417062" unitRef="iso4217-usd">12986000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2018-07-01_2018-09-30" decimals="-3" id="c44417063" unitRef="iso4217-usd">12431000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2018-10-01_2018-12-31" decimals="-3" id="c44417064" unitRef="iso4217-usd">12706000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2017-01-01_2017-03-31" decimals="-3" id="c44417081" unitRef="iso4217-usd">9516000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2017-04-01_2017-06-30" decimals="-3" id="c44417082" unitRef="iso4217-usd">9941000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2017-07-01_2017-09-30" decimals="-3" id="c44417083" unitRef="iso4217-usd">8193000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2017-10-01_2017-12-31" decimals="-3" id="c44417084" unitRef="iso4217-usd">7837000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44415980" unitRef="iso4217-usd">48308000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44415981" unitRef="iso4217-usd">35487000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44415982" unitRef="iso4217-usd">34650000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2018-01-01_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" decimals="-3" id="c44416513" unitRef="iso4217-usd">48186000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2018-01-01_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" decimals="-3" id="c44416514" unitRef="iso4217-usd">122000</us-gaap:GrossProfit>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416010" unitRef="iso4217-usd">18403000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416011" unitRef="iso4217-usd">11859000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416012" unitRef="iso4217-usd">12317000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
  <us-gaap:IncomeTaxDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131833">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Income Taxes&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company&amp;#x2019;s income tax provision for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt; consists of the following (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;Current&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; font-size: 10pt; padding-left: 10pt"&gt;Federal&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,772&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,117&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,120&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt"&gt;State&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;439&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;551&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;651&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,211&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,668&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,771&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Deferred&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-left: 10pt"&gt;Federal&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,917&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,091&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;546&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt"&gt;State&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(36&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;72&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,881&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,019&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;576&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Total income tax provision&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,092&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,649&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,347&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 51; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;The approximate tax effects of temporary differences that give rise to significant portions of the deferred tax assets and liabilities are as follows (in thousands):&lt;/div&gt;&lt;div style="display: inline; font-family: Sans-Serif; font-size: 9pt; color: Red"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&lt;div style="display: inline; font: 9pt Sans-Serif; color: Red"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred tax assets:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Reserves&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;367&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;398&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Inventory capitalization&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;421&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;228&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Compensation programs&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;447&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;394&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Retirement liability&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Equity-based compensation&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;290&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;158&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Deferred rent&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Intangible assets&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;141&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;274&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Tax credits&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;257&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 20pt"&gt;Total deferred tax assets&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,936&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,465&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred tax liabilities:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Excess of book over tax basis of fixed assets&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,668&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,305&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Goodwill&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,397&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(600&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt"&gt;Total deferred tax liabilities&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(6,065&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,905&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 20pt"&gt;Net long-term deferred tax liabilities&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,129&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,440&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;The amounts recorded as deferred tax assets as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017,&lt;/div&gt; represent the amount of tax benefits of existing deductible temporary differences or carryforwards that are more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to be realized through the generation of sufficient future taxable income within the carryforward period. The Company has total deferred tax assets of approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.9&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;that it believes are more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to be realized in the carryforward period. Management reviews the recoverability of deferred tax assets during each reporting period.&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;The Company has approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$325,000&lt;/div&gt; of tax credit carryforwards related to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; state jurisdiction that expire in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2022.&lt;/div&gt;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;The actual tax provision for the years presented differs from the &amp;#x201c;expected&amp;#x201d; tax provision for those years, computed by applying the U.S. federal corporate rate of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21%&lt;/div&gt; to income before income tax expense as follows:&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Computed &amp;#x201c;expected&amp;#x201d; tax rate&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Increase (decrease) in income taxes resulting from:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;State taxes, net of federal tax benefit&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2.8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3.7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Meals and entertainment&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Tax credits&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1.9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(0.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(0.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Domestic production deduction&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Non-deductible ISO stock option expense&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Unrecognized tax benefits&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(0.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Excess tax benefits on equity awards&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Excess compensation&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Impact on deferred taxes of new legislation&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(11.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Other&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Effective tax rate&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 52; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;The Company files income tax returns in the U.S. federal jurisdiction and various state jurisdictions. The&amp;nbsp;Company has &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; been audited by any state for income taxes with the exception of returns filed in Michigan which have been audited through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2004,&lt;/div&gt; income tax returns filed in Massachusetts which have been audited through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2007,&lt;/div&gt; income tax returns filed in Florida which have been audited through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2009,&lt;/div&gt; income tax returns filed in New Jersey which have been audited through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2012,&lt;/div&gt; and income tax returns in Colorado which have been audited through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2013.&lt;/div&gt; Income tax returns in Colorado are currently being audited for the years &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2014&lt;/div&gt; through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017.&lt;/div&gt; Federal and state tax returns for the years &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2015&lt;/div&gt; through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; remain open to examination by the IRS and various state jurisdictions.&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;A reconciliation of the beginning and ending amount of gross unrecognized tax benefits (&amp;#x201c;UTB&amp;#x201d;) resulting from uncertain tax positions is as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left"&gt;Gross UTB balance at beginning of fiscal year&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Reductions for tax positions of prior years&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Gross UTB balance at end of fiscal year&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$150,000&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$150,000,&lt;/div&gt; respectively.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;In addition, the total amount of accrued interest and penalties on uncertain tax positions at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$153,000&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$153,000,&lt;/div&gt; respectively.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;At &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;all of the unrecognized tax benefits relate to tax returns of a specific state jurisdiction that are currently under examination. On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 17, 2019 &lt;/div&gt;the Company came to an agreement with the state and on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 21, 2019 &lt;/div&gt;the Company received a check in the amount of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$156,000&lt;/div&gt; as settlement of the unrecognized tax benefits. Therefore, the Company anticipates a reduction to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;zero&lt;/div&gt; of its gross UTB balance in the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; quarter of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 22, 2017, &lt;/div&gt;the United States enacted tax reform legislation commonly known as the Tax Cuts and Jobs Act (the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;#x201c;2017&lt;/div&gt; Tax Act&amp;#x201d;), resulting in significant modifications to existing law.&amp;nbsp; Also on this date, the Securities and Exchange Commission issued Staff Accounting Bulletin (SAB) &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No.&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;118&lt;/div&gt; to provide guidance to companies on how to implement the accounting and disclosure changes in situations when a registrant does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; have the necessary information available, prepared, or analyzed (including computations) in reasonable detail to complete the accounting for certain income tax effects of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;H.R.1,&lt;/div&gt; also known as the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; Tax Act. Consistent with SAB &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;118,&lt;/div&gt; &amp;nbsp;the Company provisionally recorded an income tax benefit of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.5&lt;/div&gt; million related to the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; Tax Act, including remeasurement of its deferred tax assets and liabilities, and executive compensation limitations under Internal Revenue Code Section &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;162&lt;/div&gt;(m), among others.&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: justify; text-indent: 0.5in; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;As of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; the Company has completed its assessment of the total impact of the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; Tax Act, which resulted in a reduction in our deferred tax assets and liabilities for the change in the domestic tax rate and a reduction of deferred tax assets related to executive stock-based compensation that would &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be realized under the provisions of Internal Revenue Code Section &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;162&lt;/div&gt;(m). In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; we revised our overall reduction in our deferred tax assets by &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$50,000&lt;/div&gt; to reflect our analysis over stock- based compensation.&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416013" unitRef="iso4217-usd">4092000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416014" unitRef="iso4217-usd">2649000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416015" unitRef="iso4217-usd">4347000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability contextRef="d_2017-01-01_2017-12-31" decimals="INF" id="c44416706" unitRef="iso4217-usd">-1500000</us-gaap:IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability>
  <us-gaap:IncomeTaxPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418433">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(o)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Income Taxes&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company&amp;#x2019;s income taxes are accounted for under the asset and liability method. Under the asset and liability method, deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis and operating loss and tax credit carryforwards. Deferred tax expense or benefit results from the net change during the year in deferred tax assets and liabilities. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company evaluates the need for a valuation allowance to reduce its deferred tax assets to the amount that is more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to be realized. The Company has considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance. Should the Company determine that it would &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be able to realize all or part of its deferred tax assets in the future, an adjustment to the deferred tax assets would be charged to income in the period such determination was made.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company recognizes the tax benefit from an uncertain tax position only if it is more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from such positions are then measured based on the largest benefit that has a greater than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50%&lt;/div&gt; likelihood of being realized upon settlement. The Company recognizes interest and penalties accrued related to unrecognized tax benefits in tax expense.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
  <us-gaap:IncomeTaxesPaidNet contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416542" unitRef="iso4217-usd">3463000</us-gaap:IncomeTaxesPaidNet>
  <us-gaap:IncomeTaxesPaidNet contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416543" unitRef="iso4217-usd">3878000</us-gaap:IncomeTaxesPaidNet>
  <us-gaap:IncomeTaxesPaidNet contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416544" unitRef="iso4217-usd">3562000</us-gaap:IncomeTaxesPaidNet>
  <us-gaap:IncomeTaxesReceivable contextRef="i_2018-12-31" decimals="-3" id="c44415896" unitRef="iso4217-usd">2285000</us-gaap:IncomeTaxesReceivable>
  <us-gaap:IncomeTaxesReceivable contextRef="i_2017-12-31" decimals="-3" id="c44415897" unitRef="iso4217-usd">1017000</us-gaap:IncomeTaxesReceivable>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416202" unitRef="iso4217-usd">1113000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416203" unitRef="iso4217-usd">93000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416204" unitRef="iso4217-usd">-683000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="d_2018-01-01_2018-12-31_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis-ReclassificationOfDeferredRevenueMember_StatementScenarioAxis-ScenarioAdjustmentMember" decimals="INF" id="c44416381" unitRef="iso4217-usd">-206000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416205" unitRef="iso4217-usd">1472000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416206" unitRef="iso4217-usd">974000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416207" unitRef="iso4217-usd">-567000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="d_2018-01-01_2018-12-31_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis-ReclassificationOfDeferredRevenueMember_StatementScenarioAxis-ScenarioAdjustmentMember" decimals="INF" id="c44416380" unitRef="iso4217-usd">91000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
  <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416208" unitRef="iso4217-usd">35000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
  <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416209" unitRef="iso4217-usd">91000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
  <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416210" unitRef="iso4217-usd">206000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
  <us-gaap:IncreaseDecreaseInIncomeTaxesReceivable contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416196" unitRef="iso4217-usd">1268000</us-gaap:IncreaseDecreaseInIncomeTaxesReceivable>
  <us-gaap:IncreaseDecreaseInIncomeTaxesReceivable contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416197" unitRef="iso4217-usd">210000</us-gaap:IncreaseDecreaseInIncomeTaxesReceivable>
  <us-gaap:IncreaseDecreaseInIncomeTaxesReceivable contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416198" unitRef="iso4217-usd">-209000</us-gaap:IncreaseDecreaseInIncomeTaxesReceivable>
  <us-gaap:IncreaseDecreaseInInventories contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416190" unitRef="iso4217-usd">2295000</us-gaap:IncreaseDecreaseInInventories>
  <us-gaap:IncreaseDecreaseInInventories contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416191" unitRef="iso4217-usd">-1288000</us-gaap:IncreaseDecreaseInInventories>
  <us-gaap:IncreaseDecreaseInInventories contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416192" unitRef="iso4217-usd">-51000</us-gaap:IncreaseDecreaseInInventories>
  <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416199" unitRef="iso4217-usd">76000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
  <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416200" unitRef="iso4217-usd">228000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
  <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416201" unitRef="iso4217-usd">97000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
  <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416211" unitRef="iso4217-usd">-44000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
  <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416212" unitRef="iso4217-usd">246000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
  <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416213" unitRef="iso4217-usd">213000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
  <us-gaap:IncreaseDecreaseInPrepaidExpense contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416193" unitRef="iso4217-usd">249000</us-gaap:IncreaseDecreaseInPrepaidExpense>
  <us-gaap:IncreaseDecreaseInPrepaidExpense contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416194" unitRef="iso4217-usd">-446000</us-gaap:IncreaseDecreaseInPrepaidExpense>
  <us-gaap:IncreaseDecreaseInPrepaidExpense contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416195" unitRef="iso4217-usd">1351000</us-gaap:IncreaseDecreaseInPrepaidExpense>
  <us-gaap:IncreaseDecreaseInReceivables contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416187" unitRef="iso4217-usd">2556000</us-gaap:IncreaseDecreaseInReceivables>
  <us-gaap:IncreaseDecreaseInReceivables contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416188" unitRef="iso4217-usd">132000</us-gaap:IncreaseDecreaseInReceivables>
  <us-gaap:IncreaseDecreaseInReceivables contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416189" unitRef="iso4217-usd">3768000</us-gaap:IncreaseDecreaseInReceivables>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416821" unitRef="xbrli-shares">83000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416822" unitRef="xbrli-shares">89000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416823" unitRef="xbrli-shares">85000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131824">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Other Intangible Assets&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The carrying values of the Company&amp;#x2019;s definite-lived intangible assets as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;are as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Tradename &lt;br /&gt; &amp;amp; Brand&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Non-&lt;br /&gt; Compete&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Customer&lt;br /&gt; List&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Total&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;Estimated useful life&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid"&gt;10 years&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid"&gt;5 years&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid"&gt;20 years&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%; font-size: 10pt; text-align: left"&gt;Gross amount&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;367&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;462&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22,555&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,384&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Accumulated amortization&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(33&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(85&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,034&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,152&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Net balance&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;334&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;377&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21,521&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22,232&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The weighted-average amortization period for all intangible assets is &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19.6&lt;/div&gt; years. Amortization expense related to intangible assets was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$1.2&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.3&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.3&lt;/div&gt; million for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; respectively. The estimated remaining amortization expense as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;is as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-indent: -0.35pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 35%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2019&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,257&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 50%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2020&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,257&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2021&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,257&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2022&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,257&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2023&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,172&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Thereafter&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;16,032&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;22,232&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNameAndBrandMember" decimals="-3" id="c44416587" unitRef="iso4217-usd">334000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c44416588" unitRef="iso4217-usd">377000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember" decimals="-3" id="c44416589" unitRef="iso4217-usd">21521000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="i_2018-12-31" decimals="-3" id="c44416590" unitRef="iso4217-usd">22232000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="i_2017-12-31" id="c44415909" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:InterestExpense contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416004" unitRef="iso4217-usd">1320000</us-gaap:InterestExpense>
  <us-gaap:InterestExpense contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416005" unitRef="iso4217-usd">50000</us-gaap:InterestExpense>
  <us-gaap:InterestExpense contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416006" unitRef="iso4217-usd">69000</us-gaap:InterestExpense>
  <us-gaap:InterestPaidNet contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416539" unitRef="iso4217-usd">1303000</us-gaap:InterestPaidNet>
  <us-gaap:InterestPaidNet contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416540" unitRef="iso4217-usd">47000</us-gaap:InterestPaidNet>
  <us-gaap:InterestPaidNet contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416541" unitRef="iso4217-usd">66000</us-gaap:InterestPaidNet>
  <us-gaap:InventoryDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131822">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Inventories&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Inventories consist of the following (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left"&gt;Raw materials&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,727&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,898&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Work in process&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,521&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,207&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Finished goods&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,328&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,758&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Total Inventory&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19,576&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,863&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
  <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="i_2018-12-31" decimals="-3" id="c44416567" unitRef="iso4217-usd">5328000</us-gaap:InventoryFinishedGoodsNetOfReserves>
  <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="i_2017-12-31" decimals="-3" id="c44416568" unitRef="iso4217-usd">4758000</us-gaap:InventoryFinishedGoodsNetOfReserves>
  <us-gaap:InventoryNet contextRef="i_2018-12-31" decimals="-3" id="c44416569" unitRef="iso4217-usd">19576000</us-gaap:InventoryNet>
  <us-gaap:InventoryNet contextRef="i_2017-12-31" decimals="-3" id="c44416570" unitRef="iso4217-usd">12863000</us-gaap:InventoryNet>
  <us-gaap:InventoryPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418425">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(g)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Inventories&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Inventories include material, labor, and manufacturing overhead and are valued at the lower of cost or net realizable value. Cost is determined using the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt;-in, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt;-out (&amp;#x201c;FIFO&amp;#x201d;) method.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company periodically reviews the realizability of its inventory for potential excess or obsolescence. Determining the net realizable value of inventory requires management&amp;#x2019;s judgment. Conditions impacting the realizability of the Company&amp;#x2019;s inventory could cause actual asset write-offs to be materially different than the Company&amp;#x2019;s current estimates as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
  <us-gaap:InventoryRawMaterialsNetOfReserves contextRef="i_2018-12-31" decimals="-3" id="c44416563" unitRef="iso4217-usd">11727000</us-gaap:InventoryRawMaterialsNetOfReserves>
  <us-gaap:InventoryRawMaterialsNetOfReserves contextRef="i_2017-12-31" decimals="-3" id="c44416564" unitRef="iso4217-usd">6898000</us-gaap:InventoryRawMaterialsNetOfReserves>
  <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="i_2018-12-31" decimals="-3" id="c44416565" unitRef="iso4217-usd">2521000</us-gaap:InventoryWorkInProcessNetOfReserves>
  <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="i_2017-12-31" decimals="-3" id="c44416566" unitRef="iso4217-usd">1207000</us-gaap:InventoryWorkInProcessNetOfReserves>
  <us-gaap:InvestmentIncomeInterest contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416001" unitRef="iso4217-usd">47000</us-gaap:InvestmentIncomeInterest>
  <us-gaap:InvestmentIncomeInterest contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416002" unitRef="iso4217-usd">216000</us-gaap:InvestmentIncomeInterest>
  <us-gaap:InvestmentIncomeInterest contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416003" unitRef="iso4217-usd">149000</us-gaap:InvestmentIncomeInterest>
  <us-gaap:LeaseAndRentalExpense contextRef="d_2018-01-01_2018-12-31" decimals="-5" id="c44416966" unitRef="iso4217-usd">1200000</us-gaap:LeaseAndRentalExpense>
  <us-gaap:LeaseAndRentalExpense contextRef="d_2017-01-01_2017-12-31" decimals="-5" id="c44416967" unitRef="iso4217-usd">900000</us-gaap:LeaseAndRentalExpense>
  <us-gaap:LeaseAndRentalExpense contextRef="d_2016-01-01_2016-12-31" decimals="-5" id="c44416968" unitRef="iso4217-usd">800000</us-gaap:LeaseAndRentalExpense>
  <us-gaap:LegalMattersAndContingenciesTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131859">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Material Overcharge Settlement&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company was a participant in a class action lawsuit against a number of polyurethane foam suppliers (&amp;#x201c;Defendants&amp;#x201d;) that was settled during the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;second&lt;/div&gt; quarter of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016.&lt;/div&gt; The suit was filed to recover damages and obtain injunctive relief for Defendants&amp;#x2019; alleged violations of the federal antitrust laws with respect to the fixing of prices of polyurethane foam sold from &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 1, 1999 &lt;/div&gt;through &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; August 2010. &lt;/div&gt;During the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; the Company received settlement amounts of approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.1&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.1&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$2.1&lt;/div&gt; million, respectively. These settlement amounts are recorded as &amp;#x201c;Material overcharge settlement&amp;#x201d; in the operating income section of the Consolidated Statements of Income.&lt;/div&gt;&lt;/div&gt;</us-gaap:LegalMattersAndContingenciesTextBlock>
  <us-gaap:LesseeOperatingLeaseTermOfContract contextRef="i_2018-02-01_LeaseArrangementTypeAxis-DielectricsMember" id="c44417123">P5Y</us-gaap:LesseeOperatingLeaseTermOfContract>
  <us-gaap:Liabilities contextRef="i_2018-12-31" decimals="-3" id="c44415936" unitRef="iso4217-usd">49141000</us-gaap:Liabilities>
  <us-gaap:Liabilities contextRef="i_2017-12-31" decimals="-3" id="c44415937" unitRef="iso4217-usd">14495000</us-gaap:Liabilities>
  <us-gaap:LiabilitiesAndStockholdersEquity contextRef="i_2018-12-31" decimals="-3" id="c44415972" unitRef="iso4217-usd">189598000</us-gaap:LiabilitiesAndStockholdersEquity>
  <us-gaap:LiabilitiesAndStockholdersEquity contextRef="i_2017-12-31" decimals="-3" id="c44415973" unitRef="iso4217-usd">138207000</us-gaap:LiabilitiesAndStockholdersEquity>
  <us-gaap:LiabilitiesCurrent contextRef="i_2018-12-31" decimals="-3" id="c44415926" unitRef="iso4217-usd">20658000</us-gaap:LiabilitiesCurrent>
  <us-gaap:LiabilitiesCurrent contextRef="i_2017-12-31" decimals="-3" id="c44415927" unitRef="iso4217-usd">9943000</us-gaap:LiabilitiesCurrent>
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="i_2013-12-02_CreditFacilityAxis-RevolvingCreditFacilityMember" decimals="INF" id="c44416619" unitRef="iso4217-usd">40000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="i_2018-02-01_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_DebtInstrumentAxis-UnsecuredRevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember" decimals="INF" id="c44416626" unitRef="iso4217-usd">50000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="i_2018-02-01_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_DebtInstrumentAxis-StandbyLettersOfCreditMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember" decimals="INF" id="c44416632" unitRef="iso4217-usd">600000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <us-gaap:LitigationSettlementAmountAwardedFromOtherParty contextRef="d_2018-01-01_2018-12-31_LitigationCaseAxis-PolyurethaneFoamAntitrustLawsuitMember" decimals="-5" id="c44417115" unitRef="iso4217-usd">100000</us-gaap:LitigationSettlementAmountAwardedFromOtherParty>
  <us-gaap:LitigationSettlementAmountAwardedFromOtherParty contextRef="d_2017-01-01_2017-12-31_LitigationCaseAxis-PolyurethaneFoamAntitrustLawsuitMember" decimals="-5" id="c44417116" unitRef="iso4217-usd">100000</us-gaap:LitigationSettlementAmountAwardedFromOtherParty>
  <us-gaap:LitigationSettlementAmountAwardedFromOtherParty contextRef="d_2016-01-01_2016-12-31_LitigationCaseAxis-PolyurethaneFoamAntitrustLawsuitMember" decimals="-5" id="c44417117" unitRef="iso4217-usd">2100000</us-gaap:LitigationSettlementAmountAwardedFromOtherParty>
  <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131820">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Receivables&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Receivables consist of the following (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left"&gt;Accounts receivable&amp;#x2013;trade&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28,885&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22,033&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Less allowance for doubtful receivables&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(564&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(652&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Receivables, net&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28,321&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21,381&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Receivables are written off against these reserves in the period they are determined to be uncollectable, and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt provision. The Company performs credit evaluations on its customers and obtains credit insurance on a large percentage of its accounts but does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; generally require collateral. The Company recorded a (reversal of) provision for doubtful accounts of approximately $(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50,000&lt;/div&gt;) and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$116,000&lt;/div&gt; for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017,&lt;/div&gt; respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
  <us-gaap:LongTermDebt contextRef="i_2018-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember" decimals="-3" id="c44416645" unitRef="iso4217-usd">8000000</us-gaap:LongTermDebt>
  <us-gaap:LongTermDebt contextRef="i_2018-12-31_DebtInstrumentAxis-TermLoanMember" decimals="-3" id="c44416646" unitRef="iso4217-usd">17143000</us-gaap:LongTermDebt>
  <us-gaap:LongTermDebt contextRef="i_2018-12-31" decimals="-3" id="c44416647" unitRef="iso4217-usd">25143000</us-gaap:LongTermDebt>
  <us-gaap:LongTermDebtCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416648" unitRef="iso4217-usd">2857000</us-gaap:LongTermDebtCurrent>
  <us-gaap:LongTermDebtCurrent contextRef="i_2017-12-31" id="c44415925" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:LongTermDebtNoncurrent contextRef="i_2018-12-31" decimals="-3" id="c44416649" unitRef="iso4217-usd">22286000</us-gaap:LongTermDebtNoncurrent>
  <us-gaap:LongTermDebtNoncurrent contextRef="i_2017-12-31" id="c44415929" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416252" unitRef="iso4217-usd">26269000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416253" unitRef="iso4217-usd">-475000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416254" unitRef="iso4217-usd">-559000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416227" unitRef="iso4217-usd">-82329000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416228" unitRef="iso4217-usd">-10375000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416229" unitRef="iso4217-usd">-7192000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416214" unitRef="iso4217-usd">21320000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416215" unitRef="iso4217-usd">17469000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416216" unitRef="iso4217-usd">9306000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:NetIncomeLoss contextRef="d_2018-01-01_2018-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="INF" id="c44417130" unitRef="iso4217-usd">6300000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416167" unitRef="iso4217-usd">14311000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416168" unitRef="iso4217-usd">9210000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416169" unitRef="iso4217-usd">7970000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c44416071" unitRef="iso4217-usd">7970000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c44416106" unitRef="iso4217-usd">9210000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c44416155" unitRef="iso4217-usd">14311000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="d_2018-01-01_2018-03-31" decimals="-3" id="c44417065" unitRef="iso4217-usd">1777000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
  <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="d_2018-04-01_2018-06-30" decimals="-3" id="c44417066" unitRef="iso4217-usd">3990000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
  <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="d_2018-07-01_2018-09-30" decimals="-3" id="c44417067" unitRef="iso4217-usd">4134000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
  <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="d_2018-10-01_2018-12-31" decimals="-3" id="c44417068" unitRef="iso4217-usd">4410000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
  <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="d_2017-01-01_2017-03-31" decimals="-3" id="c44417085" unitRef="iso4217-usd">2171000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
  <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="d_2017-04-01_2017-06-30" decimals="-3" id="c44417086" unitRef="iso4217-usd">2630000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
  <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="d_2017-07-01_2017-09-30" decimals="-3" id="c44417087" unitRef="iso4217-usd">1695000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
  <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic contextRef="d_2017-10-01_2017-12-31" decimals="-3" id="c44417088" unitRef="iso4217-usd">2714000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
  <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418436">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font-size: 10pt; margin: 0pt 0; text-indent: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Recent Accounting Pronouncements&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; May 2014, &lt;/div&gt;the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No.&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2014&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;09,&lt;/div&gt; &lt;div style="display: inline; font-style: italic;"&gt;Revenue from Contracts with Customers&lt;/div&gt;, which was subsequently updated (&amp;#x201c;Accounting Standards Codification (ASC) &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&amp;#x201d;&lt;/div&gt;). The Company adopted ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 1, 2018. &lt;/div&gt;See Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt; for further details.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; background-color: white"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 2016, &lt;/div&gt;the FASB issued ASU&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No.&lt;/div&gt;&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;02,&lt;/div&gt;&amp;nbsp;&amp;#x201c;&lt;div style="display: inline; font-style: italic;"&gt;Leases (ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt;),&lt;/div&gt;&amp;#x201d; and issued subsequent amendments to the initial guidance in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 2018 &lt;/div&gt;within ASU&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No.&lt;/div&gt;&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;01&lt;/div&gt;&amp;nbsp;and in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; July 2018 &lt;/div&gt;within ASU Nos.&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10&lt;/div&gt;&amp;nbsp;and&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11.&lt;/div&gt;&amp;nbsp;The standard requires lessees to recognize leases on the balance sheet as a&amp;nbsp;right-of-use (&amp;#x201c;ROU&amp;#x201d;)&amp;nbsp;asset and a lease liability, other than leases that meet the definition of a short-term lease. The liability will be equal to the present value of the lease payments. The asset will be based on the liability, subject to adjustment. Currently, under existing U.S. generally accepted accounting principles, the Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; recognize on the balance sheet a&amp;nbsp;right-of-use&amp;nbsp;asset or lease liability related to its operating leases. For income statement purposes, the leases will continue to be classified as either operating or finance. Operating leases will result in straight-line expense (similar to current operating leases) and finance leases will result in a front-loaded expense pattern (similar to current capital leases). The standard is effective for fiscal years, and interim periods within those fiscal years, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018.&lt;/div&gt; Early adoption is permitted. The standard allows an entity to elect to have a date of initial application as of the beginning of the period of adoption. The standard provides for the option to elect a package of practical expedients upon adoption. &lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 44; Value: 1 --&gt; &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company adopted ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt; as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 1, 2019, &lt;/div&gt;using a modified retrospective approach and applying the standard&amp;#x2019;s transition provisions at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 1, 2019, &lt;/div&gt;the effective date. The Company elected the package of practical expedients permitted under the transition guidance, which among other things, allows us to carryforward the historical lease classification.&amp;nbsp; In addition, the Company elected to combine the lease and non-lease components into a single lease component for its leases and is making an accounting policy election to exclude from balance sheet reporting those leases with initial terms of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt; months or less. The Company estimates that adoption of the standard will result in recognition of operating lease ROU assets and lease liabilities of approximately&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$4.0&lt;/div&gt; million&amp;nbsp;and&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$4.1&lt;/div&gt; million, respectively, with the difference due to deferred rent that will be reclassified to the ROU asset value. We do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expect adoption of the standard to materially affect our results of operations or cash flows.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; background-color: white"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 2017, &lt;/div&gt;the FASB issued ASU&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No.&lt;/div&gt;&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;04,&lt;/div&gt;&amp;nbsp;&lt;div style="display: inline; font-style: italic;"&gt;Intangibles&amp;#x2014;Goodwill and Other (ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350&lt;/div&gt;), Simplifying the Test for Goodwill Impairment&lt;/div&gt;. The guidance removes Step &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt; of the goodwill impairment test and eliminates the need to determine the fair value of individual assets and liabilities to measure goodwill impairment. A goodwill impairment will now be the amount by which a reporting unit&amp;#x2019;s carrying value exceeds its fair value, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to exceed the carrying amount of goodwill. Entities will continue to have the option to perform a qualitative assessment to determine if a quantitative impairment test is necessary. The guidance will be applied prospectively and is effective for annual and interim goodwill impairment tests in fiscal years beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019.&lt;/div&gt; Early adoption is permitted for any impairment tests performed on testing dates after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017.&lt;/div&gt; The Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; believe adoption will have a material impact on its financial condition or results of operations.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
  <us-gaap:NumberOfOperatingSegments contextRef="d_2018-01-01_2018-12-31" decimals="INF" id="c44417013" unitRef="xbrli-pure">1</us-gaap:NumberOfOperatingSegments>
  <us-gaap:NumberOfReportableSegments contextRef="d_2018-01-01_2018-12-31" decimals="INF" id="c44417012" unitRef="xbrli-pure">1</us-gaap:NumberOfReportableSegments>
  <us-gaap:OpenTaxYear contextRef="d_2018-01-01_2018-12-31_IncomeTaxAuthorityAxis-DomesticCountryMember" id="c44416684">2015 2016 2017 2018</us-gaap:OpenTaxYear>
  <us-gaap:OpenTaxYear contextRef="d_2018-01-01_2018-12-31_IncomeTaxAuthorityAxis-StateAndLocalJurisdictionMember" id="c44416685">2015 2016 2017 2018</us-gaap:OpenTaxYear>
  <us-gaap:OperatingIncomeLoss contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44415998" unitRef="iso4217-usd">19612000</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingIncomeLoss contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44415999" unitRef="iso4217-usd">11693000</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingIncomeLoss contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416000" unitRef="iso4217-usd">12237000</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingLeaseLiability contextRef="i_2019-01-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201602Member_SubsequentEventTypeAxis-SubsequentEventMember" decimals="INF" id="c44416363" unitRef="iso4217-usd">4100000</us-gaap:OperatingLeaseLiability>
  <us-gaap:OperatingLeaseRightOfUseAsset contextRef="i_2019-01-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201602Member_SubsequentEventTypeAxis-SubsequentEventMember" decimals="INF" id="c44418106" unitRef="iso4217-usd">4000000</us-gaap:OperatingLeaseRightOfUseAsset>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDue contextRef="i_2018-12-31" decimals="-3" id="c44416978" unitRef="iso4217-usd">4195000</us-gaap:OperatingLeasesFutureMinimumPaymentsDue>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416973" unitRef="iso4217-usd">1051000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears contextRef="i_2018-12-31" decimals="-3" id="c44416977" unitRef="iso4217-usd">36000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears contextRef="i_2018-12-31" decimals="-3" id="c44416976" unitRef="iso4217-usd">975000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears contextRef="i_2018-12-31" decimals="-3" id="c44416975" unitRef="iso4217-usd">1063000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears contextRef="i_2018-12-31" decimals="-3" id="c44416974" unitRef="iso4217-usd">1070000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears>
  <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416659" unitRef="iso4217-usd">2632000</us-gaap:OtherAccruedLiabilitiesCurrent>
  <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="i_2017-12-31" decimals="-3" id="c44416660" unitRef="iso4217-usd">1297000</us-gaap:OtherAccruedLiabilitiesCurrent>
  <us-gaap:OtherAssetsNoncurrent contextRef="i_2018-12-31" decimals="-3" id="c44415912" unitRef="iso4217-usd">201000</us-gaap:OtherAssetsNoncurrent>
  <us-gaap:OtherAssetsNoncurrent contextRef="i_2017-12-31" decimals="-3" id="c44415913" unitRef="iso4217-usd">144000</us-gaap:OtherAssetsNoncurrent>
  <us-gaap:OtherLiabilitiesNoncurrent contextRef="i_2018-12-31" decimals="-3" id="c44415934" unitRef="iso4217-usd">24000</us-gaap:OtherLiabilitiesNoncurrent>
  <us-gaap:OtherLiabilitiesNoncurrent contextRef="i_2017-12-31" decimals="-3" id="c44415935" unitRef="iso4217-usd">82000</us-gaap:OtherLiabilitiesNoncurrent>
  <us-gaap:OtherNonoperatingIncomeExpense contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416007" unitRef="iso4217-usd">64000</us-gaap:OtherNonoperatingIncomeExpense>
  <us-gaap:OtherNonoperatingIncomeExpense contextRef="d_2017-01-01_2017-12-31" id="c44416008" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OtherNonoperatingIncomeExpense contextRef="d_2016-01-01_2016-12-31" id="c44416009" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PaymentsForRestructuring contextRef="d_2015-03-18_2015-03-18_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember" decimals="INF" id="c44417103" unitRef="iso4217-usd">2000000</us-gaap:PaymentsForRestructuring>
  <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416246" unitRef="iso4217-usd">144000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
  <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416247" unitRef="iso4217-usd">296000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
  <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416248" unitRef="iso4217-usd">219000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
  <us-gaap:PaymentsToAcquireBusinessesGross contextRef="d_2018-02-01_2018-02-01_BusinessAcquisitionAxis-DielectricsMember" decimals="INF" id="c44417120" unitRef="iso4217-usd">80000000</us-gaap:PaymentsToAcquireBusinessesGross>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416221" unitRef="iso4217-usd">76978000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2017-01-01_2017-12-31" id="c44416222" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2016-01-01_2016-12-31" id="c44416223" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416218" unitRef="iso4217-usd">5428000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416219" unitRef="iso4217-usd">10382000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416220" unitRef="iso4217-usd">7206000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="i_2018-12-31" decimals="INF" id="c44415944" unitRef="iso4217-usd-per-xbrli-shares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
  <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="i_2017-12-31" decimals="INF" id="c44415945" unitRef="iso4217-usd-per-xbrli-shares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
  <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="i_2009-03-18_StatementClassOfStockAxis-SeriesAJuniorParticipatingPreferredStockMember" decimals="INF" id="c44416951" unitRef="iso4217-usd-per-xbrli-shares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
  <us-gaap:PreferredStockSharesAuthorized contextRef="i_2018-12-31" decimals="INF" id="c44415946" unitRef="xbrli-shares">1000000</us-gaap:PreferredStockSharesAuthorized>
  <us-gaap:PreferredStockSharesAuthorized contextRef="i_2017-12-31" decimals="INF" id="c44415947" unitRef="xbrli-shares">1000000</us-gaap:PreferredStockSharesAuthorized>
  <us-gaap:PreferredStockSharesIssued contextRef="i_2018-12-31" decimals="INF" id="c44415948" unitRef="xbrli-shares">0</us-gaap:PreferredStockSharesIssued>
  <us-gaap:PreferredStockSharesIssued contextRef="i_2017-12-31" decimals="INF" id="c44415949" unitRef="xbrli-shares">0</us-gaap:PreferredStockSharesIssued>
  <us-gaap:PreferredStockSharesOutstanding contextRef="i_2018-12-31" decimals="INF" id="c44415950" unitRef="xbrli-shares">0</us-gaap:PreferredStockSharesOutstanding>
  <us-gaap:PreferredStockSharesOutstanding contextRef="i_2017-12-31" decimals="INF" id="c44415951" unitRef="xbrli-shares">0</us-gaap:PreferredStockSharesOutstanding>
  <us-gaap:PreferredStockValue contextRef="i_2018-12-31" id="c44415942" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PreferredStockValue contextRef="i_2017-12-31" id="c44415943" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PrepaidExpenseCurrent contextRef="i_2018-12-31" decimals="-3" id="c44415894" unitRef="iso4217-usd">2206000</us-gaap:PrepaidExpenseCurrent>
  <us-gaap:PrepaidExpenseCurrent contextRef="i_2017-12-31" decimals="-3" id="c44415895" unitRef="iso4217-usd">1835000</us-gaap:PrepaidExpenseCurrent>
  <us-gaap:ProceedsFromIssuanceOfLongTermDebt contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416237" unitRef="iso4217-usd">20000000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
  <us-gaap:ProceedsFromIssuanceOfLongTermDebt contextRef="d_2017-01-01_2017-12-31" id="c44416238" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:ProceedsFromIssuanceOfLongTermDebt contextRef="d_2016-01-01_2016-12-31" id="c44416239" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:ProceedsFromLongTermLinesOfCredit contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416231" unitRef="iso4217-usd">36000000</us-gaap:ProceedsFromLongTermLinesOfCredit>
  <us-gaap:ProceedsFromLongTermLinesOfCredit contextRef="d_2017-01-01_2017-12-31" id="c44416232" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:ProceedsFromLongTermLinesOfCredit contextRef="d_2016-01-01_2016-12-31" id="c44416233" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416224" unitRef="iso4217-usd">77000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
  <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416225" unitRef="iso4217-usd">7000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
  <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416226" unitRef="iso4217-usd">14000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416851" unitRef="iso4217-usd">1300000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416852" unitRef="iso4217-usd">800000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416853" unitRef="iso4217-usd">700000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131827">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Property, Plant and Equipment&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Property, plant and equipment consist of the following (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left"&gt;Land and improvements&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,191&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,191&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Buildings and improvements&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35,187&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28,939&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Leasehold improvements&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,843&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,553&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Machinery &amp;amp; Equipment&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;62,441&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;58,602&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Furniture, fixtures, computers &amp;amp; software&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,119&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,820&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Construction in progress&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;999&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,611&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;111,780&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;106,716&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Depreciation and amortization expense of Property, Plant and Equipment for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; were approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$6.6&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$5.3&lt;/div&gt; million, and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$5.3&lt;/div&gt; million, respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
  <us-gaap:PropertyPlantAndEquipmentEstimatedUsefulLives contextRef="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" id="c44416385">Shorter of estimated useful life or remaining lease term</us-gaap:PropertyPlantAndEquipmentEstimatedUsefulLives>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember" decimals="-3" id="c44416604" unitRef="iso4217-usd">3191000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember" decimals="-3" id="c44416605" unitRef="iso4217-usd">3191000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember" decimals="-3" id="c44416606" unitRef="iso4217-usd">35187000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember" decimals="-3" id="c44416607" unitRef="iso4217-usd">28939000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" decimals="-3" id="c44416608" unitRef="iso4217-usd">2843000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" decimals="-3" id="c44416609" unitRef="iso4217-usd">2553000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember" decimals="-3" id="c44416610" unitRef="iso4217-usd">62441000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember" decimals="-3" id="c44416611" unitRef="iso4217-usd">58602000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureFixturesAndComputersMember" decimals="-3" id="c44416612" unitRef="iso4217-usd">7119000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureFixturesAndComputersMember" decimals="-3" id="c44416613" unitRef="iso4217-usd">6820000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember" decimals="-3" id="c44416614" unitRef="iso4217-usd">999000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember" decimals="-3" id="c44416615" unitRef="iso4217-usd">6611000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-12-31" decimals="-3" id="c44416616" unitRef="iso4217-usd">111779000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2017-12-31" decimals="-3" id="c44416617" unitRef="iso4217-usd">106716000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-01-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c44416466" unitRef="iso4217-usd">1027000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-01-01" decimals="-3" id="c44416467" unitRef="iso4217-usd">107743000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" decimals="-3" id="c44416487" unitRef="iso4217-usd">110372000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" decimals="-3" id="c44416488" unitRef="iso4217-usd">1407000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="i_2018-12-31" decimals="-3" id="c44415904" unitRef="iso4217-usd">57667000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="i_2017-12-31" decimals="-3" id="c44415905" unitRef="iso4217-usd">53652000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="i_2018-01-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c44416472" unitRef="iso4217-usd">479000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="i_2018-01-01" decimals="-3" id="c44416473" unitRef="iso4217-usd">54131000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="i_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" decimals="-3" id="c44416493" unitRef="iso4217-usd">57262000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="i_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" decimals="-3" id="c44416494" unitRef="iso4217-usd">405000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418426">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(h)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Property, Plant, and Equipment&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Property, plant, and equipment are stated at cost and are depreciated or amortized using the straight-line method over the estimated useful lives of the assets or the related lease term, if shorter.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Estimated useful lives of property, plant, and equipment are as follows:&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: justify; text-indent: -9pt; margin: 0pt 0 0pt 63pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in; text-align: left; vertical-align: top"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Leasehold improvements&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="text-align: center; white-space: nowrap"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0; text-align: center"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Shorter of estimated useful life or remaining lease term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in; width: 63%"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Buildings and improvements (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; width: 1%"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;20 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; width: 12%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; 40&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Machinery &amp;amp; Equipment&lt;/div&gt; (in years)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;7 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;15&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Furniture, fixtures, computers &amp;amp; software&lt;/div&gt; (in years)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;3 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; 7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Property, plant, and equipment amounts are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be recoverable. An impairment loss would be recognized when the carrying amount of an asset exceeds the estimated undiscounted future cash flows expected to result from the use of the asset and its eventual disposition. The amount of the impairment loss to be recorded is calculated by the excess of the asset&amp;#x2019;s carrying value over its fair value. &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No&lt;/div&gt; events or changes in circumstances arose during the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;which required management to perform an impairment analysis.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
  <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-32">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left"&gt;Land and improvements&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,191&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,191&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Buildings and improvements&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35,187&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28,939&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Leasehold improvements&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,843&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,553&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Machinery &amp;amp; Equipment&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;62,441&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;58,602&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Furniture, fixtures, computers &amp;amp; software&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,119&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,820&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Construction in progress&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;999&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,611&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;111,780&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;106,716&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MinimumMember" id="c44416387">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MaximumMember" id="c44416389">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MinimumMember" id="c44416390">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MaximumMember" id="c44416392">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureFixturesAndComputersMember_RangeAxis-MinimumMember" id="c44416393">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureFixturesAndComputersMember_RangeAxis-MaximumMember" id="c44416395">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:ProvisionForDoubtfulAccounts contextRef="d_2018-01-01_2018-12-31" decimals="INF" id="c44416551" unitRef="iso4217-usd">-50000</us-gaap:ProvisionForDoubtfulAccounts>
  <us-gaap:ProvisionForDoubtfulAccounts contextRef="d_2017-01-01_2017-12-31" decimals="INF" id="c44416552" unitRef="iso4217-usd">116000</us-gaap:ProvisionForDoubtfulAccounts>
  <us-gaap:QuarterlyFinancialInformationTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131854">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Quarterly Financial Information (unaudited)&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Summarized quarterly financial data is as follows (in thousands, except per share data):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q1&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q2&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q3&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q4&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%; font-size: 10pt; text-align: left"&gt;Net sales&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;42,931&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;49,019&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;47,808&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50,697&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Gross profit&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,185&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,986&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,431&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,706&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Net income&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,777&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,990&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,134&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,410&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Basic net income per share&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.24&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.54&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.56&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.60&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Diluted net income per share&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.24&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.54&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.56&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.59&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q1&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q2&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q3&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q4&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%; font-size: 10pt; text-align: left"&gt;Net sales&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,053&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,886&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35,684&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,220&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Gross profit&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,516&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,941&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,193&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,837&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Net income&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,171&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,630&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,695&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,714&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Basic net income per share&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.36&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.23&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.38&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Diluted net income per share&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.36&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.23&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.37&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:QuarterlyFinancialInformationTextBlock>
  <us-gaap:ReceivablesNetCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416560" unitRef="iso4217-usd">28321000</us-gaap:ReceivablesNetCurrent>
  <us-gaap:ReceivablesNetCurrent contextRef="i_2017-12-31" decimals="-3" id="c44416561" unitRef="iso4217-usd">21381000</us-gaap:ReceivablesNetCurrent>
  <us-gaap:RepaymentsOfLongTermDebt contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416240" unitRef="iso4217-usd">2857000</us-gaap:RepaymentsOfLongTermDebt>
  <us-gaap:RepaymentsOfLongTermDebt contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416241" unitRef="iso4217-usd">856000</us-gaap:RepaymentsOfLongTermDebt>
  <us-gaap:RepaymentsOfLongTermDebt contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416242" unitRef="iso4217-usd">1014000</us-gaap:RepaymentsOfLongTermDebt>
  <us-gaap:RepaymentsOfLongTermLinesOfCredit contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416234" unitRef="iso4217-usd">28000000</us-gaap:RepaymentsOfLongTermLinesOfCredit>
  <us-gaap:RepaymentsOfLongTermLinesOfCredit contextRef="d_2017-01-01_2017-12-31" id="c44416235" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:RepaymentsOfLongTermLinesOfCredit contextRef="d_2016-01-01_2016-12-31" id="c44416236" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:RestructuringAndRelatedCostExpectedCost1 contextRef="i_2015-03-18_RestructuringCostAndReserveAxis-EmployeeSeverancePaymentsAndRelocationCostsMember_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember" decimals="INF" id="c44417100" unitRef="iso4217-usd">180000</us-gaap:RestructuringAndRelatedCostExpectedCost1>
  <us-gaap:RestructuringAndRelatedCostExpectedCost1 contextRef="i_2015-03-18_RestructuringCostAndReserveAxis-MovingAndVacatingExpenseMember_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember" decimals="INF" id="c44417101" unitRef="iso4217-usd">1600000</us-gaap:RestructuringAndRelatedCostExpectedCost1>
  <us-gaap:RestructuringAndRelatedCostExpectedCost1 contextRef="i_2015-03-18_RestructuringCostAndReserveAxis-LeaseTerminationMember_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember" decimals="INF" id="c44417102" unitRef="iso4217-usd">360000</us-gaap:RestructuringAndRelatedCostExpectedCost1>
  <us-gaap:RestructuringCharges contextRef="d_2015-03-18_2015-03-18_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember" decimals="INF" id="c44417098" unitRef="iso4217-usd">2100000</us-gaap:RestructuringCharges>
  <us-gaap:RestructuringCharges contextRef="d_2018-01-01_2018-12-31" id="c44415989" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:RestructuringCharges contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44415990" unitRef="iso4217-usd">63000</us-gaap:RestructuringCharges>
  <us-gaap:RestructuringCharges contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44415991" unitRef="iso4217-usd">420000</us-gaap:RestructuringCharges>
  <us-gaap:RestructuringCosts contextRef="d_2017-01-01_2017-12-31_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember" decimals="-3" id="c44417108" unitRef="iso4217-usd">63000</us-gaap:RestructuringCosts>
  <us-gaap:RestructuringCosts contextRef="d_2016-01-01_2016-12-31_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember" decimals="-3" id="c44417109" unitRef="iso4217-usd">420000</us-gaap:RestructuringCosts>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2018-12-31" decimals="-3" id="c44415964" unitRef="iso4217-usd">111802000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2017-12-31" decimals="-3" id="c44415965" unitRef="iso4217-usd">97562000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2018-01-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c44416483" unitRef="iso4217-usd">-70000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2018-01-01" decimals="-3" id="c44416484" unitRef="iso4217-usd">97492000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" decimals="-3" id="c44416504" unitRef="iso4217-usd">111750000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" decimals="-3" id="c44416505" unitRef="iso4217-usd">52000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_BusinessAcquisitionAxis-DielectricsMember" decimals="INF" id="c44417129" unitRef="iso4217-usd">36200000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-03-31" decimals="-3" id="c44417057" unitRef="iso4217-usd">42931000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-04-01_2018-06-30" decimals="-3" id="c44417058" unitRef="iso4217-usd">49019000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-07-01_2018-09-30" decimals="-3" id="c44417059" unitRef="iso4217-usd">47808000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-10-01_2018-12-31" decimals="-3" id="c44417060" unitRef="iso4217-usd">50697000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-03-31" decimals="-3" id="c44417077" unitRef="iso4217-usd">37053000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-04-01_2017-06-30" decimals="-3" id="c44417078" unitRef="iso4217-usd">37886000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-07-01_2017-09-30" decimals="-3" id="c44417079" unitRef="iso4217-usd">35684000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-10-01_2017-12-31" decimals="-3" id="c44417080" unitRef="iso4217-usd">37220000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44415974" unitRef="iso4217-usd">190455000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44415975" unitRef="iso4217-usd">147843000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44415976" unitRef="iso4217-usd">146132000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" decimals="-3" id="c44416507" unitRef="iso4217-usd">190259000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" decimals="-3" id="c44416508" unitRef="iso4217-usd">196000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_ProductOrServiceAxis-ProductMember" decimals="-3" id="c44416515" unitRef="iso4217-usd">183186000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-12-31_ProductOrServiceAxis-ProductMember" decimals="-3" id="c44416516" unitRef="iso4217-usd">146275000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2016-01-01_2016-12-31_ProductOrServiceAxis-ProductMember" decimals="-3" id="c44416517" unitRef="iso4217-usd">144210000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_ProductOrServiceAxis-ToolingAndMachineryMember" decimals="-3" id="c44416518" unitRef="iso4217-usd">4302000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-12-31_ProductOrServiceAxis-ToolingAndMachineryMember" decimals="-3" id="c44416519" unitRef="iso4217-usd">1181000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2016-01-01_2016-12-31_ProductOrServiceAxis-ToolingAndMachineryMember" decimals="-3" id="c44416520" unitRef="iso4217-usd">1633000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_ProductOrServiceAxis-EngineeringAndDevelopmentMember" decimals="-3" id="c44416521" unitRef="iso4217-usd">2967000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-12-31_ProductOrServiceAxis-EngineeringAndDevelopmentMember" decimals="-3" id="c44416522" unitRef="iso4217-usd">387000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2016-01-01_2016-12-31_ProductOrServiceAxis-EngineeringAndDevelopmentMember" decimals="-3" id="c44416523" unitRef="iso4217-usd">289000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-MedicalMember" decimals="-3" id="c44417014" unitRef="iso4217-usd">110282000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-MedicalMember" decimals="-3" id="c44417016" unitRef="iso4217-usd">70087000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-MedicalMember" decimals="-3" id="c44417018" unitRef="iso4217-usd">64733000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-ConsumerMember" decimals="-3" id="c44417020" unitRef="iso4217-usd">24989000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-ConsumerMember" decimals="-3" id="c44417022" unitRef="iso4217-usd">21328000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-ConsumerMember" decimals="-3" id="c44417024" unitRef="iso4217-usd">20721000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-AutomotiveMember" decimals="-3" id="c44417026" unitRef="iso4217-usd">20012000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-AutomotiveMember" decimals="-3" id="c44417028" unitRef="iso4217-usd">23118000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-AutomotiveMember" decimals="-3" id="c44417030" unitRef="iso4217-usd">27255000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-AerospaceDefenseMember" decimals="-3" id="c44417032" unitRef="iso4217-usd">13133000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-AerospaceDefenseMember" decimals="-3" id="c44417034" unitRef="iso4217-usd">11521000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-AerospaceDefenseMember" decimals="-3" id="c44417036" unitRef="iso4217-usd">10951000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-ElectronicsMember" decimals="-3" id="c44417038" unitRef="iso4217-usd">11453000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-ElectronicsMember" decimals="-3" id="c44417040" unitRef="iso4217-usd">11960000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-ElectronicsMember" decimals="-3" id="c44417042" unitRef="iso4217-usd">11675000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-01-01_2018-12-31_MajorCustomersAxis-IndustrialMember" decimals="-3" id="c44417044" unitRef="iso4217-usd">10586000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2017-01-01_2017-12-31_MajorCustomersAxis-IndustrialMember" decimals="-3" id="c44417046" unitRef="iso4217-usd">9829000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2016-01-01_2016-12-31_MajorCustomersAxis-IndustrialMember" decimals="-3" id="c44417048" unitRef="iso4217-usd">10797000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418429">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(k)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Revenue Recognition&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Beginning in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; the Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; which include (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1&lt;/div&gt;) identifying the contract with a customer, (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;) identifying separate performance obligations within the contract, (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;) determining the transaction price, (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4&lt;/div&gt;) allocating the transaction price to the performance obligations, and (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; transfer to the customer, which results in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services as the services are performed. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company&amp;#x2019;s promise to transfer the good and are expensed when revenue is recognized.&lt;/div&gt; &lt;div style=" font-size: 10pt; text-indent: -1in; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 42; Value: 1 --&gt; &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;For the years &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; prior to ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606,&lt;/div&gt; the Company recognized revenue at the time of shipment when title and risk of loss have passed to the customer, persuasive evidence of an arrangement exists, performance of its obligation is complete, its price to the buyer is fixed or determinable, and the Company is reasonably assured of collection. Determination of these criteria, in some cases, requires management&amp;#x2019;s judgment.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
  <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131812">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Revenue Recognition&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 1, 2018, &lt;/div&gt;the Company adopted ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606,&lt;/div&gt; &lt;div style="display: inline; font-style: italic;"&gt;Revenue from Contracts with Customers&lt;/div&gt;, using the modified retrospective transition method. Under this method, the Company applied ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; to contracts under which all performance obligations were &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; completed as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 1, 2018 &lt;/div&gt;and recognized the cumulative effect of initially applying the standard as an adjustment to the opening balance of retained earnings. Results for reporting periods beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 1, 2018 &lt;/div&gt;are presented in accordance with ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606.&lt;/div&gt; Prior period amounts are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; adjusted and are reported in accordance with requirements in ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;605,&lt;/div&gt; &lt;div style="display: inline; font-style: italic;"&gt;Revenue Recognition&lt;/div&gt;, which is also referred to herein as &amp;#x201c;legacy GAAP&amp;#x201d;.&lt;/div&gt; &lt;!-- Field: Page; Sequence: 45; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The cumulative effect of the adoption on our condensed consolidated balance sheet, by applying the modified retrospective method as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; is as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red; text-indent: 0.5in"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;As Reported&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;As Adjusted&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31, &lt;br /&gt; 2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Cumulative &lt;br /&gt; Adjustments&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;January 1, &lt;br /&gt; 2018&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Assets:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Property, plant and equipment&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;106,716&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,027&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;107,743&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Accumulated depreciation and amortization&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(53,064&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(548&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(53,612&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Net property, plant and equipment&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;53,652&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;479&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;54,131&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Liabilities:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred revenue&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;297&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;574&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;871&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred income taxes&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,440&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(25&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,415&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Stockholders' equity:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Retained earnings&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;97,562&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(70&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;97,492&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The following reflects the Company&amp;#x2019;s condensed consolidated balance sheet and condensed consolidated statement of income on an as-reported basis and as if we had continued to recognize revenue under legacy GAAP (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31, 2018&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;As Reported&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Balances &lt;br /&gt; without &lt;br /&gt; adoption of &lt;br /&gt; ASC 606&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Difference&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;Assets:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Property, plant and equipment&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;111,779&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;110,372&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,407&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Accumulated depreciation and amortization&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(54,112&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(53,110&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,002&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Net property, plant and equipment&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;57,667&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;57,262&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;405&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Liabilities:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred revenue&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,507&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,129&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;378&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred income taxes&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,129&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,154&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(25&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Stockholders' equity:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Retained earnings&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;111,802&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;111,750&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;52&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0; color: Red; text-indent: 0.5in"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;For the Year Ended December 31, 2018&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;As Reported&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Balances &lt;br /&gt; without &lt;br /&gt; adoption of &lt;br /&gt; ASC 606&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Difference&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Net sales&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;190,455&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;190,259&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;196&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;Cost of sales&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;142,147&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;142,073&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;74&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Gross profit&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;48,308&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;48,186&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;122&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The following summarizes the significant changes under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; as compared to legacy GAAP:&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-family: Symbol"&gt;&amp;middot;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;Under legacy GAAP, the Company recognized revenue for certain customer tooling at the time the tooling was complete and accepted by the customer. Under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606,&lt;/div&gt; as &amp;#x201c;control&amp;#x201d; of this tooling does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; transfer to the customer, the related purchase orders do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; qualify as an &amp;#x201c;accounting contract&amp;#x201d; and as a result the consideration received is recorded as deferred revenue and recognized over the estimated time for which parts are produced on each respective tool (approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt; years). The related costs to produce the tooling are capitalized and depreciated over the estimated useful life of the tool (approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;two&lt;/div&gt; years).&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;!-- Field: Page; Sequence: 46; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-family: Symbol"&gt;&amp;middot;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;Under legacy GAAP, the Company recognized revenue on certain long-term agreements with variable pricing at the selling price that was in effect for the current period at the time of shipment. Under ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606,&lt;/div&gt; the Company will recognize revenue for these contracts at the weighted average selling price for each part over the term of the agreement for any agreements where the Company estimates that we will &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be able to achieve the corresponding cost changes necessary to maintain a consistent margin over the term of the agreement. The Company has a small number of long-term agreements with variable pricing.&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; which include (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1&lt;/div&gt;) identifying the contract with a customer, (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;) identifying separate performance obligations within the contract, (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;) determining the transaction price, (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4&lt;/div&gt;) allocating the transaction price to the performance obligations, and (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; transfer to the customer, which results in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services as the services are performed. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company&amp;#x2019;s promise to transfer the good and are expensed when revenue is recognized.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Disaggregated Revenue&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The following table presents the Company&amp;#x2019;s revenue disaggregated by the major types of goods and services sold to our customers (in thousands) (See Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9&lt;/div&gt; for further information regarding net sales by market):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: #0070C0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-style: italic; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left; border-bottom: Black 1pt solid"&gt;Net sales of:&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt"&gt;Products&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;183,186&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;146,275&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;144,210&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Tooling and Machinery&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,302&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,181&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,633&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Engineering services&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,967&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;387&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;289&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Total net sales&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;190,455&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;147,843&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;146,132&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Contract balances&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The timing of revenue recognition &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;differ from the timing of invoicing to customers. When invoicing occurs prior to revenue recognition, the Company has deferred revenue (contract liabilities), included within &amp;#x201c;deferred revenue&amp;#x201d; on the condensed consolidated balance sheets.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 47; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The following table presents opening and closing balances of contract liabilities for the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 (&lt;/div&gt;in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: #0070C0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Contract Liabilities&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 85%; font-size: 10pt"&gt;Deferred revenue - January 1, 2018&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;871&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Acquired in Dielectrics business combination&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,175&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Increases due to consideration received from customers&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,188&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Revenue recognized&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,727&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;Deferred revenue - December 31, 2018&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,507&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Revenue recognized during the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;from amounts included in deferred revenue at the beginning of the period was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$615,000.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;When invoicing occurs after revenue recognition, the Company has unbilled receivables (contract assets) included within &amp;#x201c;receivables&amp;#x201d; on the condensed consolidated balance sheet. Unbilled receivables were approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$65,000&lt;/div&gt; at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;and was generated as a result of revenue recognized during the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;that had &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; yet been billed.&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
  <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-28">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left"&gt;Accounts receivable&amp;#x2013;trade&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28,885&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22,033&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Less allowance for doubtful receivables&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(564&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(652&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Receivables, net&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;28,321&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21,381&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
  <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-34">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left"&gt;Compensation&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,529&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,536&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Benefits / self-insurance reserve&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;782&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;334&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Paid time off&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,131&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;990&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Commissions payable&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;384&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;309&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;Other&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,632&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,297&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,458&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,466&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
  <us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-27">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;(in thousands)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Cash paid for:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; font-size: 10pt; padding-left: 10pt"&gt;Interest&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,303&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;47&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;66&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Income taxes, net of refunds&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,463&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,878&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,562&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Non-cash investing and financing activities:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Capital additions accrued but not yet paid&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;218&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;85&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;87&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock>
  <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-35">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;Current&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; font-size: 10pt; padding-left: 10pt"&gt;Federal&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,772&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,117&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,120&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt"&gt;State&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;439&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;551&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;651&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,211&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,668&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,771&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Deferred&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-left: 10pt"&gt;Federal&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,917&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,091&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;546&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt"&gt;State&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(36&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;72&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,881&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,019&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;576&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Total income tax provision&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,092&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,649&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,347&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
  <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-33">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;December 31, &lt;br /&gt; 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 35%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Revolving credit facility&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;8,000&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 50%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Term loan&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;17,143&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total long-term debt&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;25,143&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Current portion&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(2,857&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Long-term debt, excluding current portion&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;22,286&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
  <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-36">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred tax assets:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Reserves&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;367&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;398&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Inventory capitalization&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;421&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;228&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Compensation programs&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;447&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;394&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Retirement liability&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Equity-based compensation&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;290&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;158&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Deferred rent&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Intangible assets&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;141&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;274&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Tax credits&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;257&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 20pt"&gt;Total deferred tax assets&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,936&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,465&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred tax liabilities:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Excess of book over tax basis of fixed assets&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,668&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,305&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Goodwill&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,397&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(600&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt"&gt;Total deferred tax liabilities&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(6,065&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(3,905&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 20pt"&gt;Net long-term deferred tax liabilities&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(4,129&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2,440&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
  <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-37">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Computed &amp;#x201c;expected&amp;#x201d; tax rate&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;34.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Increase (decrease) in income taxes resulting from:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;State taxes, net of federal tax benefit&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2.8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3.7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Meals and entertainment&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Tax credits&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1.9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(0.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(0.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Domestic production deduction&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(2.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Non-deductible ISO stock option expense&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Unrecognized tax benefits&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(0.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Excess tax benefits on equity awards&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Excess compensation&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Impact on deferred taxes of new legislation&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(11.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Other&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Effective tax rate&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
  <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-22">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 1in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Share-based compensation expense&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,212&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,068&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,056&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
  <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-30">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Tradename &lt;br /&gt; &amp;amp; Brand&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Non-&lt;br /&gt; Compete&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Customer&lt;br /&gt; List&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Total&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;Estimated useful life&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid"&gt;10 years&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid"&gt;5 years&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid"&gt;20 years&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%; font-size: 10pt; text-align: left"&gt;Gross amount&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;367&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;462&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22,555&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,384&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Accumulated amortization&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(33&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(85&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,034&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,152&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Net balance&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;334&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;377&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21,521&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;22,232&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
  <us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-44">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Years Ending December 31,&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Operating &lt;br /&gt; Leases&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 35%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2019&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,051&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 50%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2020&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,070&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2021&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,063&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2022&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;975&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2023&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;36&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total minimum lease payments&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;4,195&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock>
  <us-gaap:ScheduleOfGoodwillTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-21">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Goodwill&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 65%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;December 31, 2017&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;7,322&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 20%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; white-space: nowrap"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Acquired in Dielectrics business combination (See Note 22)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;44,516&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;December 31, 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;51,838&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
  <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-29">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left"&gt;Raw materials&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,727&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6,898&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Work in process&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,521&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,207&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Finished goods&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5,328&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,758&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Total Inventory&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19,576&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,863&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
  <us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-24">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;As Reported&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;As Adjusted&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31, &lt;br /&gt; 2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Cumulative &lt;br /&gt; Adjustments&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;January 1, &lt;br /&gt; 2018&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Assets:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Property, plant and equipment&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;106,716&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,027&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;107,743&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Accumulated depreciation and amortization&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(53,064&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(548&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(53,612&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Net property, plant and equipment&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;53,652&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;479&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;54,131&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Liabilities:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred revenue&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;297&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;574&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;871&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred income taxes&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,440&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(25&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,415&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Stockholders' equity:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Retained earnings&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;97,562&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(70&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;97,492&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31, 2018&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;As Reported&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Balances &lt;br /&gt; without &lt;br /&gt; adoption of &lt;br /&gt; ASC 606&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Difference&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;Assets:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Property, plant and equipment&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;111,779&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;110,372&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,407&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Accumulated depreciation and amortization&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(54,112&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(53,110&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(1,002&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Net property, plant and equipment&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;57,667&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;57,262&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;405&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Liabilities:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred revenue&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,507&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,129&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;378&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Deferred income taxes&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,129&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,154&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(25&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Stockholders' equity:&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Retained earnings&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;111,802&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;111,750&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;52&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;For the Year Ended December 31, 2018&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;As Reported&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Balances &lt;br /&gt; without &lt;br /&gt; adoption of &lt;br /&gt; ASC 606&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Difference&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Net sales&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;190,455&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;190,259&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;196&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;Cost of sales&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;142,147&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;142,073&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;74&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;Gross profit&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;48,308&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;48,186&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;122&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
  <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-47">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q1&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q2&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q3&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q4&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%; font-size: 10pt; text-align: left"&gt;Net sales&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;42,931&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;49,019&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;47,808&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50,697&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Gross profit&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,185&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,986&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,431&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12,706&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Net income&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,777&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3,990&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,134&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4,410&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Basic net income per share&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.24&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.54&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.56&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.60&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Diluted net income per share&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.24&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.54&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.56&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.59&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q1&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q2&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q3&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Q4&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%; font-size: 10pt; text-align: left"&gt;Net sales&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,053&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,886&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;35,684&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;37,220&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Gross profit&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,516&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,941&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8,193&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,837&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Net income&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,171&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,630&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,695&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2,714&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Basic net income per share&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.36&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.23&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.38&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Diluted net income per share&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.30&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.36&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.23&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;0.37&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
  <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-49">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Consideration Paid:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Cash paid at closing&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;80,000&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 50%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 20pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Working capital adjustment&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;250&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Cash from Dielectrics&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(3,272&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total consideration&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;76,978&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Purchase Price Allocation:&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Accounts receivable&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;4,384&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Inventory&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;4,418&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Other current assets&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;122&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Property, plant and equipment&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;4,600&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Customer list&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;22,555&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Non-compete&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;462&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Trade name and brand&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;367&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Goodwill&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;44,516&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total identifiable assets&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;81,424&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Accounts payable&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(1,325&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Accrued expenses&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(946&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Deferred revenue&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;(2,175&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Net assets acquired&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;76,978&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
  <us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-48">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2017&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2016&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Restructuring Costs&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Massachusetts&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 50%; font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Relocation&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;63&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;420&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 20%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total restructuring costs&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;63&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;420&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock>
  <us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-46">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Market&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Net Sales&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Net Sales&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Net Sales&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 28%; font-size: 10pt"&gt;Medical&lt;/td&gt; &lt;td style="width: 3%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;110,282&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;57.9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="width: 3%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;70,087&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;47.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="width: 3%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;64,733&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;44.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;Consumer&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;24,989&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21,328&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,721&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Automotive&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,012&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,118&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27,255&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18.7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Aerospace &amp;amp; Defense&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,133&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,521&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7.8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,951&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Electronics&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,453&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,960&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,675&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;Industrial&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,586&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,829&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,797&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Net Sales&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;190,455&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;147,843&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;146,132&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock>
  <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-42">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Restricted &lt;br /&gt; Stock Units&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Weighted &lt;br /&gt; Average Award &lt;br /&gt; Date Fair Value&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt"&gt;Outstanding at December 31, 2017&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;57,395&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21.03&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Awarded&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;30,831&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;29.36&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Shares vested&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(16,050&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.55&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;Outstanding at December 31, 2018&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;72,176&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23.60&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
  <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-41">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Shares Under &lt;br /&gt; Options&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted &lt;br /&gt; Average &lt;br /&gt; Exercise &lt;br /&gt; Price&lt;/div&gt;&lt;br /&gt; &lt;div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal"&gt;&amp;nbsp;(per share)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted &lt;br /&gt; Average &lt;br /&gt; Remaining &lt;br /&gt; Contractual &lt;br /&gt; Life&lt;/div&gt;&lt;br /&gt; &lt;div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal"&gt;(in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate &lt;br /&gt; Intrinsic &lt;br /&gt; Value&lt;/div&gt;&lt;br /&gt; &lt;div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal"&gt;(in thousands)&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%; font-size: 10pt"&gt;Outstanding December 31, 2017&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;202,739&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18.23&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Granted&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,344&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31.20&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Exercised&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;(78,680&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31.43&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;Outstanding December 31, 2018&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;134,403&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20.46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.50&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,296&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;Exercisable at December 31, 2018&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;126,543&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;19.97&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.53&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,286&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Vested and expected to vest at December 31, 2018&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;134,403&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20.46&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4.50&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,296&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
  <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-23">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="13" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Years Ended December 31,&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2018&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="5" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2017&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2016&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 52%; font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Expected volatility&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;27.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 5%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;27.4% &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 5%; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;- &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 5%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;29.1%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;29.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Expected dividends&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;None&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;None&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;None&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Risk-free interest rate&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.56%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; - &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.84%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;0.9&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Exercise price&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;31.20&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$27.05 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;#x2013; &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$28.70&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;22.02&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Expected term (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;6.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; to &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;5.8 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;5.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Weighted-average grant-date fair value&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;10.15&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;5.59&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 6.75pt 0pt 5.5pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; -&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; $8.51&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;6.11&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
  <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-38">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; font-size: 10pt; text-align: left"&gt;Gross UTB balance at beginning of fiscal year&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Reductions for tax positions of prior years&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Gross UTB balance at end of fiscal year&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
  <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-39">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left"&gt;Basic weighted average common shares outstanding during the year&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,347&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,248&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,190&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;Weighted average common equivalent shares due to stock options and restricted stock units&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;83&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;89&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;85&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Diluted weighted average common shares outstanding during the year&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,430&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,337&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7,275&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
  <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="d_2018-01-01_2018-12-31" id="c-31">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 35%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2019&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,257&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 50%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2020&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,257&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2021&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,257&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2022&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,257&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2023&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1,172&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Thereafter&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;16,032&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Total&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;22,232&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
  <us-gaap:SegmentReportingDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131852">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Segment Data&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company consists of a &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;single &lt;/div&gt;&lt;/div&gt;operating and reportable segment.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Revenues from customers outside of the United States are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; material. &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No&lt;/div&gt; customer comprised more than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10%&lt;/div&gt; of the Company&amp;#x2019;s consolidated revenues for the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018. &lt;/div&gt;A vast majority of the Company&amp;#x2019;s assets are located in the United States.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 58; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company&amp;#x2019;s custom products are primarily sold to customers within the Medical, Consumer, Automotive, Aerospace and Defense, Electronics, and Industrial markets. Sales by market for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt; are as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Market&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Net Sales&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Net Sales&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Net Sales&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 28%; font-size: 10pt"&gt;Medical&lt;/td&gt; &lt;td style="width: 3%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;110,282&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;57.9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="width: 3%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;70,087&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;47.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="width: 3%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;64,733&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 8%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;44.3&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt"&gt;Consumer&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;24,989&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;21,328&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,721&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;14.2&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Automotive&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20,012&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;23,118&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;27,255&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18.7&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;Aerospace &amp;amp; Defense&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13,133&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.9&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,521&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7.8&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,951&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7.5&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt"&gt;Electronics&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,453&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,960&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.1&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11,675&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;8.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;Industrial&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,586&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;9,829&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;6.6&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10,797&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;7.4&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Net Sales&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;190,455&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;147,843&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;146,132&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;100.0&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Certain amounts for the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt; were reclassified between markets to conform to the current year presentation.&lt;/div&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
  <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="d_2018-01-01_2018-12-31" id="c44418434">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(p)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Segments and Related Information&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company follows the provisions of Accounting Standards Codification (ASC) &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;280,&lt;/div&gt; &lt;div style="display: inline; font-style: italic;"&gt;Segment Reporting&lt;/div&gt;, which establish standards for the way public business enterprises report information and operating segments in annual financial statements (see Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18&lt;/div&gt;).&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
  <us-gaap:SelfInsuranceReserveCurrent contextRef="i_2018-12-31" decimals="-3" id="c44416653" unitRef="iso4217-usd">782000</us-gaap:SelfInsuranceReserveCurrent>
  <us-gaap:SelfInsuranceReserveCurrent contextRef="i_2017-12-31" decimals="-3" id="c44416654" unitRef="iso4217-usd">334000</us-gaap:SelfInsuranceReserveCurrent>
  <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44415983" unitRef="iso4217-usd">27758000</us-gaap:SellingGeneralAndAdministrativeExpense>
  <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44415984" unitRef="iso4217-usd">23845000</us-gaap:SellingGeneralAndAdministrativeExpense>
  <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44415985" unitRef="iso4217-usd">24105000</us-gaap:SellingGeneralAndAdministrativeExpense>
  <us-gaap:ShareBasedCompensation contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416177" unitRef="iso4217-usd">1212000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416178" unitRef="iso4217-usd">1068000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416179" unitRef="iso4217-usd">1056000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416921" unitRef="xbrli-shares">30831</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416922" unitRef="iso4217-usd-per-xbrli-shares">29.36</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="i_2017-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416919" unitRef="xbrli-shares">57395</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="i_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416925" unitRef="xbrli-shares">72176</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2017-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416920" unitRef="iso4217-usd-per-xbrli-shares">21.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416926" unitRef="iso4217-usd-per-xbrli-shares">23.60</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416923" unitRef="xbrli-shares">16050</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416924" unitRef="iso4217-usd-per-xbrli-shares">23.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice contextRef="i_2018-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="INF" id="c44416417" unitRef="iso4217-usd-per-xbrli-shares">31.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice contextRef="i_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember" decimals="INF" id="c44416418" unitRef="iso4217-usd-per-xbrli-shares">27.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice contextRef="i_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember" decimals="INF" id="c44416420" unitRef="iso4217-usd-per-xbrli-shares">28.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice contextRef="i_2016-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="INF" id="c44416421" unitRef="iso4217-usd-per-xbrli-shares">22.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="4" id="c44416402" unitRef="xbrli-pure">0.277</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember" decimals="4" id="c44416403" unitRef="xbrli-pure">0.274</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember" decimals="4" id="c44416405" unitRef="xbrli-pure">0.291</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="4" id="c44416406" unitRef="xbrli-pure">0.297</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="4" id="c44416412" unitRef="xbrli-pure">0.027</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember" decimals="4" id="c44416413" unitRef="xbrli-pure">0.0156</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember" decimals="4" id="c44416415" unitRef="xbrli-pure">0.0184</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="4" id="c44416416" unitRef="xbrli-pure">0.009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized contextRef="d_2018-01-01_2018-12-31_PlanNameAxis-The2003IncentivePlanMember" decimals="INF" id="c44416834" unitRef="xbrli-shares">73392</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized contextRef="i_2011-06-08_PlanNameAxis-The2003IncentivePlanMember" decimals="INF" id="c44416829" unitRef="xbrli-shares">2250000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized contextRef="i_2018-12-31_PlanNameAxis-NonemployeeDirectorStockIncentivePlanMember" decimals="INF" id="c44416841" unitRef="xbrli-shares">975000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="i_2018-12-31_PlanNameAxis-The2003IncentivePlanMember" decimals="INF" id="c44416837" unitRef="xbrli-shares">854077</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="i_2018-12-31" decimals="INF" id="c44416845" unitRef="xbrli-shares">101626</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416911" unitRef="xbrli-shares">126543</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416912" unitRef="iso4217-usd-per-xbrli-shares">19.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416848" unitRef="iso4217-usd">1200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416849" unitRef="iso4217-usd">600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416850" unitRef="iso4217-usd">700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember_PlanNameAxis-NonemployeeDirectorStockIncentivePlanMember" decimals="INF" id="c44416842" unitRef="xbrli-shares">348490</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416899" unitRef="xbrli-shares">10344</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="INF" id="c44416427" unitRef="iso4217-usd-per-xbrli-shares">10.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember" decimals="INF" id="c44416428" unitRef="iso4217-usd-per-xbrli-shares">5.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember" decimals="INF" id="c44416430" unitRef="iso4217-usd-per-xbrli-shares">8.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="INF" id="c44416431" unitRef="iso4217-usd-per-xbrli-shares">6.11</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="-3" id="c44416910" unitRef="iso4217-usd">1296000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2018-12-31_PlanNameAxis-The2003IncentivePlanMember" decimals="INF" id="c44416836" unitRef="xbrli-shares">49375</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember_PlanNameAxis-NonemployeeDirectorStockIncentivePlanMember" decimals="INF" id="c44416843" unitRef="xbrli-shares">106543</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416895" unitRef="xbrli-shares">202739</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416907" unitRef="xbrli-shares">134403</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="i_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416896" unitRef="iso4217-usd-per-xbrli-shares">18.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416908" unitRef="iso4217-usd-per-xbrli-shares">20.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416916" unitRef="iso4217-usd-per-xbrli-shares">20.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="-3" id="c44416918" unitRef="iso4217-usd">1296000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416915" unitRef="xbrli-shares">134403</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod contextRef="d_2018-06-06_2018-06-06_AwardTypeAxis-CommonStockMember_PlanNameAxis-The2003IncentivePlanMember_RelatedPartyTransactionsByRelatedPartyAxis-ChairmanChiefExecutiveOfficerAndPresidentMember" decimals="INF" id="c44416867" unitRef="xbrli-shares">3366</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416904" unitRef="iso4217-usd-per-xbrli-shares">31.43</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416900" unitRef="iso4217-usd-per-xbrli-shares">31.20</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="d_2018-01-01_2018-12-31" id="c44418430">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(l)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Share-Based Compensation&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;When accounting for equity instruments exchanged for employee services, share-based compensation cost is measured at the grant date, based on the calculated fair value of the award, and is recognized as an expense over the employee&amp;#x2019;s requisite service period (generally the vesting period of the equity grant). Forfeitures are expensed as they occur.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company issues share-based awards through several plans that are described in detail in Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12.&lt;/div&gt; The compensation cost charged against income for those plans is included in selling, general &amp;amp; administrative expenses as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse;margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Share-based compensation expense&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,212&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,068&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,056&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The compensation expense for stock options granted during the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt;-year period ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; was determined as the fair value of the options using the Black Scholes valuation model. The assumptions are noted as follows:&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="13" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Years Ended December 31,&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2018&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="5" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2017&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2016&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 52%; font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Expected volatility&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;27.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 5%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;27.4% &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 5%; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;- &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 5%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;29.1%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;29.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Expected dividends&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;None&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;None&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;None&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Risk-free interest rate&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.56%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; - &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.84%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;0.9&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Exercise price&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;31.20&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$27.05 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;#x2013; &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$28.70&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;22.02&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Expected term (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;6.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; to &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;5.8 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;5.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Weighted-average grant-date fair value&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;10.15&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;5.59&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 6.75pt 0pt 5.5pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; -&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; $8.51&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;6.11&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The stock volatility for each grant is determined based on a review of the experience of the weighted average of historical daily price changes of the Company&amp;#x2019;s common stock over the expected option term, and the risk-free interest rate is based on the U.S. Treasury yield curve in effect at the time of grant for periods corresponding with the expected term of the option. The expected term is estimated based on historical option exercise activity.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The total income tax benefit recognized in the consolidated statements of income for share-based compensation arrangements was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$544,000,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$525,000&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$318,000&lt;/div&gt; for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; respectively.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeStockOptionMember" id="c44416422">P6Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember" id="c44416423">P2Y255D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember" id="c44416425">P5Y292D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeStockOptionMember" id="c44416426">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1 contextRef="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="-3" id="c44416914" unitRef="iso4217-usd">1286000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" id="c44416913">P4Y193D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" id="c44416909">P4Y182D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" id="c44416917">P4Y182D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
  <us-gaap:SharesOutstanding contextRef="i_2015-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416033" unitRef="xbrli-shares">7140000</us-gaap:SharesOutstanding>
  <us-gaap:SharesOutstanding contextRef="i_2015-12-31_StatementEquityComponentsAxis-TreasuryStockMember" decimals="-3" id="c44416037" unitRef="xbrli-shares">30000</us-gaap:SharesOutstanding>
  <us-gaap:SharesOutstanding contextRef="i_2016-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416075" unitRef="xbrli-shares">7212000</us-gaap:SharesOutstanding>
  <us-gaap:SharesOutstanding contextRef="i_2016-12-31_StatementEquityComponentsAxis-TreasuryStockMember" decimals="-3" id="c44416079" unitRef="xbrli-shares">30000</us-gaap:SharesOutstanding>
  <us-gaap:SharesOutstanding contextRef="i_2017-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416110" unitRef="xbrli-shares">7280000</us-gaap:SharesOutstanding>
  <us-gaap:SharesOutstanding contextRef="i_2017-12-31_StatementEquityComponentsAxis-TreasuryStockMember" decimals="-3" id="c44416114" unitRef="xbrli-shares">30000</us-gaap:SharesOutstanding>
  <us-gaap:SharesOutstanding contextRef="i_2018-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416159" unitRef="xbrli-shares">7385000</us-gaap:SharesOutstanding>
  <us-gaap:SharesOutstanding contextRef="i_2018-12-31_StatementEquityComponentsAxis-TreasuryStockMember" decimals="-3" id="c44416163" unitRef="xbrli-shares">30000</us-gaap:SharesOutstanding>
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416857" unitRef="xbrli-shares">0</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416863" unitRef="xbrli-shares">0</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416871" unitRef="xbrli-shares">5238</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416874" unitRef="xbrli-shares">4377</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c44416875" unitRef="xbrli-shares">3389</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416054" unitRef="xbrli-shares">-9000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-TreasuryStockMember" id="c44416058" unitRef="xbrli-shares" xs:nil="true"/>
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416096" unitRef="xbrli-shares">11000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416131" unitRef="xbrli-shares">5000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131807">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Summary of Significant Accounting Policies&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;UFP Technologies, Inc. (&amp;#x201c;the Company&amp;#x201d;) is an innovative designer and custom converter of foams, plastics, composites and natural fiber products principally serving the medical, automotive, aerospace and defense, consumer, electronics and industrial markets. The Company was incorporated in the State of Delaware in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1993.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(a)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Principles of Consolidation&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The consolidated financial statements include the accounts and results of operations of UFP Technologies, Inc., its wholly-owned subsidiaries, Moulded Fibre Technology, Inc., Simco Industries, Inc. Dielectrics, Inc. and Stephenson &amp;amp; Lawyer, Inc. and its wholly-owned subsidiary, Patterson Properties Corporation. All significant intercompany balances and transactions have been eliminated in consolidation. The Company has evaluated all subsequent events through the date of this filing.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(b)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Use of Estimates&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, including allowance for doubtful accounts and the net realizable value of inventory, and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(c)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Fair Value Measurement&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company defines fair value as the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value for assets and liabilities, which are required to be recorded at fair value, the Company considers the principal or most advantageous market in which the Company would transact and the market-based risk measurement or assumptions that market participants would use in pricing the asset or liability, such as inherent risk, transfer restrictions, and credit risk.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company has &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; elected fair value accounting for any financial instruments for which fair value accounting is optional.&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(d)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Fair Value of Financial Instruments&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Cash and cash equivalents, accounts receivable, accounts payable, accrued expenses and other liabilities are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company&amp;#x2019;s long-term debt approximates fair value as the interest rate on the debt approximates the Company&amp;#x2019;s current incremental borrowing rate.&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(e)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Cash and Cash Equivalents&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company considers all highly liquid investments with original maturities of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt; months or less to be cash equivalents. At &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;the Company did &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; have any cash equivalents and at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017, &lt;/div&gt;cash equivalents primarily consisted of money market accounts and certificates of deposit that are readily convertible into cash.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company maintains its cash in bank deposit accounts, money market funds, and certificates of deposit that at times exceed federally insured limits. The Company periodically reviews the financial stability of institutions holding its accounts and does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; believe it is exposed to any significant custodial credit risk on cash. The amounts contained within the Company&amp;#x2019;s main operating accounts at Bank of America and TD Bank at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;exceed the federal depository insurance limit by approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$3.8&lt;/div&gt;&amp;nbsp;million.&lt;/div&gt; &lt;!-- Field: Page; Sequence: 40; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(f)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Accounts Receivable&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company periodically reviews the collectability of its accounts receivable. Provisions are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable requires management&amp;#x2019;s judgment. Conditions impacting the realizability of the Company&amp;#x2019;s receivables could cause actual asset write-offs to be materially different than the reserved balances as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(g)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Inventories&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Inventories include material, labor, and manufacturing overhead and are valued at the lower of cost or net realizable value. Cost is determined using the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt;-in, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt;-out (&amp;#x201c;FIFO&amp;#x201d;) method.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company periodically reviews the realizability of its inventory for potential excess or obsolescence. Determining the net realizable value of inventory requires management&amp;#x2019;s judgment. Conditions impacting the realizability of the Company&amp;#x2019;s inventory could cause actual asset write-offs to be materially different than the Company&amp;#x2019;s current estimates as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(h)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Property, Plant, and Equipment&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Property, plant, and equipment are stated at cost and are depreciated or amortized using the straight-line method over the estimated useful lives of the assets or the related lease term, if shorter.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Estimated useful lives of property, plant, and equipment are as follows:&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: justify; text-indent: -9pt; margin: 0pt 0 0pt 63pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in; text-align: left; vertical-align: top"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Leasehold improvements&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="text-align: center; white-space: nowrap"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0; text-align: center"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0; text-align: center"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Shorter of estimated useful life or remaining lease term&lt;/div&gt;&lt;/div&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in; width: 63%"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Buildings and improvements (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; width: 1%"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;20 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; width: 12%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; 40&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Machinery &amp;amp; Equipment&lt;/div&gt; (in years)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;7 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;15&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Furniture, fixtures, computers &amp;amp; software&lt;/div&gt; (in years)&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;3 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; 7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Property, plant, and equipment amounts are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be recoverable. An impairment loss would be recognized when the carrying amount of an asset exceeds the estimated undiscounted future cash flows expected to result from the use of the asset and its eventual disposition. The amount of the impairment loss to be recorded is calculated by the excess of the asset&amp;#x2019;s carrying value over its fair value. &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No&lt;/div&gt; events or changes in circumstances arose during the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;which required management to perform an impairment analysis.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(i)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Goodwill&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 1in; font-size: 10pt"&gt;Goodwill is tested for impairment annually and will be tested for impairment between annual tests if an event occurs or circumstances change that would indicate that the carrying amount &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be impaired. Impairment testing for goodwill is done at a reporting unit level. Reporting units are &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; level below the business segment level but can be combined when reporting units within the same segment have similar economic characteristics. An impairment loss generally would be recognized when the carrying amount of the reporting unit&amp;#x2019;s net assets exceeds the estimated fair value of the reporting unit. The Company consists of a single reporting unit. In testing goodwill for impairment at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;the Company primarily utilized the guideline public company (&amp;#x201c;GPC&amp;#x201d;) method under the market approach and the discounted cash flows method (&amp;#x201c;DCF&amp;#x201d;) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting unit&amp;#x2019;s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value of a series of estimated future cash flows at the valuation date by the application of a discount rate, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; that a prudent investor would require before making an investment in our equity securities. The key assumptions used in our approach included:&lt;/div&gt; &lt;div style=" margin: 0pt 0 0pt 1in; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 1in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-family: Symbol"&gt;&amp;middot;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;The reporting unit&amp;#x2019;s estimated financials and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;five&lt;/div&gt;-year projections of financial results, which were based on our strategic plans and long-range forecasts. Sales growth rates represent estimates based on current and forecasted sales mix and market conditions. The profit margins were projected based on historical margins, projected sales mix, current expense structure and anticipated expense modifications.&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;!-- Field: Page; Sequence: 41; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 1in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-family: Symbol"&gt;&amp;middot;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;The projected terminal value which reflects the total present value of projected cash flows beyond the last period in the DCF. This value reflects a growth rate for the reporting unit, which is approximately the same growth rate of expected inflation into perpetuity.&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" margin: 0pt 0; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 1in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-family: Symbol"&gt;&amp;middot;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;The discount rate determined using a Weighted Average Cost of Capital method (&amp;#x201c;WACC&amp;#x201d;), which considered market and industry data as well as Company-specific risk factors.&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" margin: 0pt 0; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 1in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-family: Symbol"&gt;&amp;middot;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;Selection of guideline public companies which are similar in size and market capitalization to each other and to the Company.&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" margin: 0pt 0; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;As of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;based on our calculations under the above noted approach, the fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations, management used its most reasonable estimates of the key assumptions discussed above. If our actual operating results and/or the key assumptions utilized in management&amp;#x2019;s calculations differ from our expectations, it is possible that a future impairment charge &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;be necessary.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The net carrying amounts of goodwill for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; are as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 0 0pt 1in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Goodwill&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 65%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;December 31, 2017&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;7,322&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 20%; background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; white-space: nowrap"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Acquired in Dielectrics business combination (See Note 22)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;44,516&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;December 31, 2018&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; padding-bottom: 2.25pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;51,838&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="background-color: White"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0; text-indent: 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0; text-indent: 1in"&gt;Approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$47.9&lt;/div&gt; million of goodwill is deductible for tax purposes.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(j)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Intangible Assets&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Intangible assets with a definite life are amortized on a straight-line basis, with estimated useful lives ranging from &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;20&lt;/div&gt; years. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that their carrying values &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; may &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be recoverable. &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No&lt;/div&gt; events or changes in circumstances arose during the year ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;which required management to perform an impairment analysis.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(k)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Revenue Recognition&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Beginning in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; the Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; which include (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1&lt;/div&gt;) identifying the contract with a customer, (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt;) identifying separate performance obligations within the contract, (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;3&lt;/div&gt;) determining the transaction price, (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;4&lt;/div&gt;) allocating the transaction price to the performance obligations, and (&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;5&lt;/div&gt;) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; transfer to the customer, which results in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services as the services are performed. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company&amp;#x2019;s promise to transfer the good and are expensed when revenue is recognized.&lt;/div&gt; &lt;div style=" font-size: 10pt; text-indent: -1in; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 42; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;For the years &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; prior to ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606,&lt;/div&gt; the Company recognized revenue at the time of shipment when title and risk of loss have passed to the customer, persuasive evidence of an arrangement exists, performance of its obligation is complete, its price to the buyer is fixed or determinable, and the Company is reasonably assured of collection. Determination of these criteria, in some cases, requires management&amp;#x2019;s judgment.&lt;/div&gt; &lt;div style=" font-size: 10pt; text-indent: -1in; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(l)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Share-Based Compensation&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;When accounting for equity instruments exchanged for employee services, share-based compensation cost is measured at the grant date, based on the calculated fair value of the award, and is recognized as an expense over the employee&amp;#x2019;s requisite service period (generally the vesting period of the equity grant). Forfeitures are expensed as they occur.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company issues share-based awards through several plans that are described in detail in Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12.&lt;/div&gt; The compensation cost charged against income for those plans is included in selling, general &amp;amp; administrative expenses as follows (in thousands):&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse;margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Years Ended December 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2018&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2017&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;2016&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 55%; font-size: 10pt; text-align: left; padding-bottom: 2.25pt"&gt;Share-based compensation expense&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,212&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,068&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,056&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The compensation expense for stock options granted during the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;three&lt;/div&gt;-year period ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;31,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018,&lt;/div&gt; was determined as the fair value of the options using the Black Scholes valuation model. The assumptions are noted as follows:&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="13" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Years Ended December 31,&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="white-space: nowrap; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2018&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="5" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2017&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2016&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 52%; font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Expected volatility&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;27.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 5%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;27.4% &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 5%; font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;- &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 5%; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;29.1%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 12%; font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;29.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Expected dividends&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;None&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;None&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;None&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Risk-free interest rate&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.56%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; - &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;1.84%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;0.9&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;%&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Exercise price&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;31.20&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$27.05 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;#x2013; &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$28.70&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;22.02&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Expected term (in years)&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;6.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;2.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; to &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;5.8 &lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;5.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;Weighted-average grant-date fair value&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;10.15&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;5.59&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style=" font-size: 10pt; text-align: center; margin: 0pt 6.75pt 0pt 5.5pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; -&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt; $8.51&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;$&lt;/div&gt;&lt;/td&gt; &lt;td style="font-size: 10pt; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;6.11&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-size: 10pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The stock volatility for each grant is determined based on a review of the experience of the weighted average of historical daily price changes of the Company&amp;#x2019;s common stock over the expected option term, and the risk-free interest rate is based on the U.S. Treasury yield curve in effect at the time of grant for periods corresponding with the expected term of the option. The expected term is estimated based on historical option exercise activity.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The total income tax benefit recognized in the consolidated statements of income for share-based compensation arrangements was approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$544,000,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$525,000&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$318,000&lt;/div&gt; for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; respectively.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(m)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Deferred Rent&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company accounts for escalating rental payments on a straight-line basis over the term of the lease.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(n)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Shipping and Handling Costs&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;Costs incurred related to shipping and handling are included in cost of sales. Amounts charged to customers pertaining to these costs are included in net sales.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 43; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(o)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Income Taxes&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company&amp;#x2019;s income taxes are accounted for under the asset and liability method. Under the asset and liability method, deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis and operating loss and tax credit carryforwards. Deferred tax expense or benefit results from the net change during the year in deferred tax assets and liabilities. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company evaluates the need for a valuation allowance to reduce its deferred tax assets to the amount that is more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to be realized. The Company has considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance. Should the Company determine that it would &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; be able to realize all or part of its deferred tax assets in the future, an adjustment to the deferred tax assets would be charged to income in the period such determination was made.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company recognizes the tax benefit from an uncertain tax position only if it is more likely than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from such positions are then measured based on the largest benefit that has a greater than &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;50%&lt;/div&gt; likelihood of being realized upon settlement. The Company recognizes interest and penalties accrued related to unrecognized tax benefits in tax expense.&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(p)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Segments and Related Information&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company follows the provisions of Accounting Standards Codification (ASC) &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;280,&lt;/div&gt; &lt;div style="display: inline; font-style: italic;"&gt;Segment Reporting&lt;/div&gt;, which establish standards for the way public business enterprises report information and operating segments in annual financial statements (see Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;18&lt;/div&gt;).&lt;/div&gt; &lt;div style=" font-size: 10pt; text-indent: 4.3pt; margin: 0pt 0 0pt 22.3pt"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top; text-align: justify"&gt; &lt;td style="width: 0.5in; text-align: right"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(q)&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: justify"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Treasury Stock&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company accounts for treasury stock under the cost method, using the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt;-in, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;first&lt;/div&gt; out flow assumption, and we include treasury stock as a component of stockholders&amp;#x2019; equity. The Company did &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; repurchase any shares of common stock during the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0; text-indent: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Recent Accounting Pronouncements&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; May 2014, &lt;/div&gt;the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No.&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2014&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;09,&lt;/div&gt; &lt;div style="display: inline; font-style: italic;"&gt;Revenue from Contracts with Customers&lt;/div&gt;, which was subsequently updated (&amp;#x201c;Accounting Standards Codification (ASC) &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&amp;#x201d;&lt;/div&gt;). The Company adopted ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;606&lt;/div&gt; on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 1, 2018. &lt;/div&gt;See Note &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt; for further details.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; background-color: white"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; February 2016, &lt;/div&gt;the FASB issued ASU&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No.&lt;/div&gt;&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;02,&lt;/div&gt;&amp;nbsp;&amp;#x201c;&lt;div style="display: inline; font-style: italic;"&gt;Leases (ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt;),&lt;/div&gt;&amp;#x201d; and issued subsequent amendments to the initial guidance in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 2018 &lt;/div&gt;within ASU&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No.&lt;/div&gt;&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;01&lt;/div&gt;&amp;nbsp;and in &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; July 2018 &lt;/div&gt;within ASU Nos.&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;10&lt;/div&gt;&amp;nbsp;and&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;11.&lt;/div&gt;&amp;nbsp;The standard requires lessees to recognize leases on the balance sheet as a&amp;nbsp;right-of-use (&amp;#x201c;ROU&amp;#x201d;)&amp;nbsp;asset and a lease liability, other than leases that meet the definition of a short-term lease. The liability will be equal to the present value of the lease payments. The asset will be based on the liability, subject to adjustment. Currently, under existing U.S. generally accepted accounting principles, the Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; recognize on the balance sheet a&amp;nbsp;right-of-use&amp;nbsp;asset or lease liability related to its operating leases. For income statement purposes, the leases will continue to be classified as either operating or finance. Operating leases will result in straight-line expense (similar to current operating leases) and finance leases will result in a front-loaded expense pattern (similar to current capital leases). The standard is effective for fiscal years, and interim periods within those fiscal years, beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2018.&lt;/div&gt; Early adoption is permitted. The standard allows an entity to elect to have a date of initial application as of the beginning of the period of adoption. The standard provides for the option to elect a package of practical expedients upon adoption. &lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 44; Value: 1 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;The Company adopted ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;842&lt;/div&gt; as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 1, 2019, &lt;/div&gt;using a modified retrospective approach and applying the standard&amp;#x2019;s transition provisions at &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 1, 2019, &lt;/div&gt;the effective date. The Company elected the package of practical expedients permitted under the transition guidance, which among other things, allows us to carryforward the historical lease classification.&amp;nbsp; In addition, the Company elected to combine the lease and non-lease components into a single lease component for its leases and is making an accounting policy election to exclude from balance sheet reporting those leases with initial terms of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;12&lt;/div&gt; months or less. The Company estimates that adoption of the standard will result in recognition of operating lease ROU assets and lease liabilities of approximately&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$4.0&lt;/div&gt; million&amp;nbsp;and&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$4.1&lt;/div&gt; million, respectively, with the difference due to deferred rent that will be reclassified to the ROU asset value. We do &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; expect adoption of the standard to materially affect our results of operations or cash flows.&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; background-color: white"&gt;In &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January 2017, &lt;/div&gt;the FASB issued ASU&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;No.&lt;/div&gt;&amp;nbsp;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;04,&lt;/div&gt;&amp;nbsp;&lt;div style="display: inline; font-style: italic;"&gt;Intangibles&amp;#x2014;Goodwill and Other (ASC &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;350&lt;/div&gt;), Simplifying the Test for Goodwill Impairment&lt;/div&gt;. The guidance removes Step &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2&lt;/div&gt; of the goodwill impairment test and eliminates the need to determine the fair value of individual assets and liabilities to measure goodwill impairment. A goodwill impairment will now be the amount by which a reporting unit&amp;#x2019;s carrying value exceeds its fair value, &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to exceed the carrying amount of goodwill. Entities will continue to have the option to perform a qualitative assessment to determine if a quantitative impairment test is necessary. The guidance will be applied prospectively and is effective for annual and interim goodwill impairment tests in fiscal years beginning after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;15,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2019.&lt;/div&gt; Early adoption is permitted for any impairment tests performed on testing dates after &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; January&amp;nbsp;&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;1,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2017.&lt;/div&gt; The Company does &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; believe adoption will have a material impact on its financial condition or results of operations.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Revisions&lt;/div&gt;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;Certain revisions have been made to the &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017 &lt;/div&gt;Condensed Consolidated Balance Sheet to conform to the current year presentation relating to a reclassification of deferred revenue. The reclassification resulted in an increase in deferred revenue and a decrease in accrued expenses in the amount of approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$297,000.&lt;/div&gt; In addition, certain revisions have been made to the Condensed Consolidated Statements of Cash Flows for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; also due to a reclassification of deferred revenue. The reclassification resulted in an increase to the change in deferred revenue and a decrease in the change in accrued expenses in the amount of approximately &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$91,000&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$206,000&lt;/div&gt; for the years ended &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2017 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;2016,&lt;/div&gt; respectively. These revisions had &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;no&lt;/div&gt; impact on previously reported net income and are deemed immaterial to the previously issued financial statements.&lt;/div&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
  <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416040" unitRef="xbrli-shares">33000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416082" unitRef="xbrli-shares">32000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416117" unitRef="xbrli-shares">31000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember" decimals="INF" id="c44416903" unitRef="xbrli-shares">78680</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416047" unitRef="xbrli-shares">48000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416089" unitRef="xbrli-shares">47000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416124" unitRef="xbrli-shares">79000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="d_2016-02-21_2016-02-21_AwardTypeAxis-CommonStockMember_PlanNameAxis-The2003IncentivePlanMember_RelatedPartyTransactionsByRelatedPartyAxis-ChairmanChiefExecutiveOfficerAndPresidentMember" decimals="INF" id="c44416865" unitRef="iso4217-usd">400000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-CommonStockMember" id="c44416041" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416042" unitRef="iso4217-usd">1056000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416046" unitRef="iso4217-usd">1056000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416083" unitRef="iso4217-usd">1000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416084" unitRef="iso4217-usd">1067000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416088" unitRef="iso4217-usd">1068000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-CommonStockMember" id="c44416118" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416119" unitRef="iso4217-usd">1212000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416123" unitRef="iso4217-usd">1212000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-CommonStockMember" id="c44416048" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416049" unitRef="iso4217-usd">529000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416053" unitRef="iso4217-usd">529000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416090" unitRef="iso4217-usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416091" unitRef="iso4217-usd">676000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416095" unitRef="iso4217-usd">677000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416125" unitRef="iso4217-usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416126" unitRef="iso4217-usd">1269000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416130" unitRef="iso4217-usd">1270000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockholdersEquity contextRef="i_2018-12-31" decimals="-3" id="c44415970" unitRef="iso4217-usd">140457000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2017-12-31" decimals="-3" id="c44415971" unitRef="iso4217-usd">123712000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2015-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416034" unitRef="iso4217-usd">72000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2015-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416035" unitRef="iso4217-usd">23705000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2015-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c44416036" unitRef="iso4217-usd">80382000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2015-12-31_StatementEquityComponentsAxis-TreasuryStockMember" decimals="-3" id="c44416038" unitRef="iso4217-usd">-587000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2015-12-31" decimals="-3" id="c44416039" unitRef="iso4217-usd">103572000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2016-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416076" unitRef="iso4217-usd">72000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2016-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416077" unitRef="iso4217-usd">25216000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2016-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c44416078" unitRef="iso4217-usd">88352000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2016-12-31_StatementEquityComponentsAxis-TreasuryStockMember" decimals="-3" id="c44416080" unitRef="iso4217-usd">-587000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2016-12-31" decimals="-3" id="c44416081" unitRef="iso4217-usd">113053000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2017-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416111" unitRef="iso4217-usd">73000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2017-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416112" unitRef="iso4217-usd">26664000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2017-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c44416113" unitRef="iso4217-usd">97562000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2017-12-31_StatementEquityComponentsAxis-TreasuryStockMember" decimals="-3" id="c44416115" unitRef="iso4217-usd">-587000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-12-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c44416160" unitRef="iso4217-usd">74000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c44416161" unitRef="iso4217-usd">29168000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-12-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c44416162" unitRef="iso4217-usd">111802000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-12-31_StatementEquityComponentsAxis-TreasuryStockMember" decimals="-3" id="c44416164" unitRef="iso4217-usd">-587000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="d_2018-01-01_2018-12-31" id="s1131845">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;  &lt;tr style="vertical-align: top"&gt; &lt;td style="width: 0"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;13&lt;/div&gt;)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Preferred Stock&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; March 18, 2009, &lt;/div&gt;the Company declared a dividend of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one&lt;/div&gt; preferred share purchase right (a &amp;#x201c;Right&amp;#x201d;) for each outstanding share of common stock, par value &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.01&lt;/div&gt; per share on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; March 20, 2009, &lt;/div&gt;to the stockholders of record on that date. Each Right entitles the registered holder to purchase from the Company &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one one&lt;/div&gt;-thousandth of a share of Series A Junior Participating Preferred Stock, par value &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$0.01&lt;/div&gt; per share (the &amp;#x201c;Preferred Share&amp;#x201d;), of the Company, at a price of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;$25.00&lt;/div&gt; per &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;one one&lt;/div&gt;-thousandth of a Preferred Share subject to adjustment and the terms of the Rights Agreement. The rights expire on &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; March 19, 2019. &lt;/div&gt;On &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; March 13, 2019, &lt;/div&gt;the Company&amp;#x2019;s Board of Directors voted &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt;not&lt;/div&gt; to replace the rights when they expire.&lt;/div&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
  <us-gaap:TaxCreditCarryforwardAmount contextRef="i_2018-12-31_TaxCreditCarryforwardAxis-OneStateJurisdictionMember" decimals="INF" id="c44416671" unitRef="iso4217-usd">325000</us-gaap:TaxCreditCarryforwardAmount>
  <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="d_2018-01-01_2018-12-31" id="c44418424">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(f)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Accounts Receivable&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The Company periodically reviews the collectability of its accounts receivable. Provisions are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable requires management&amp;#x2019;s judgment. Conditions impacting the realizability of the Company&amp;#x2019;s receivables could cause actual asset write-offs to be materially different than the reserved balances as of &lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"&gt; December 31, 2018.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
  <us-gaap:TreasuryStockShares contextRef="i_2018-12-31" decimals="INF" id="c44415968" unitRef="xbrli-shares">29559</us-gaap:TreasuryStockShares>
  <us-gaap:TreasuryStockShares contextRef="i_2017-12-31" decimals="INF" id="c44415969" unitRef="xbrli-shares">29559</us-gaap:TreasuryStockShares>
  <us-gaap:TreasuryStockSharesAcquired contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416337" unitRef="xbrli-shares">0</us-gaap:TreasuryStockSharesAcquired>
  <us-gaap:TreasuryStockSharesAcquired contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416338" unitRef="xbrli-shares">0</us-gaap:TreasuryStockSharesAcquired>
  <us-gaap:TreasuryStockValue contextRef="i_2018-12-31" decimals="-3" id="c44415966" unitRef="iso4217-usd">587000</us-gaap:TreasuryStockValue>
  <us-gaap:TreasuryStockValue contextRef="i_2017-12-31" decimals="-3" id="c44415967" unitRef="iso4217-usd">587000</us-gaap:TreasuryStockValue>
  <us-gaap:UnrecognizedTaxBenefits contextRef="i_2018-12-31" decimals="INF" id="c44416688" unitRef="iso4217-usd">150000</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:UnrecognizedTaxBenefits contextRef="i_2017-12-31" decimals="INF" id="c44416689" unitRef="iso4217-usd">150000</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:UnrecognizedTaxBenefits contextRef="i_2019-03-31_StatementScenarioAxis-ScenarioForecastMember" decimals="INF" id="c44416696" unitRef="iso4217-usd">0</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:UnrecognizedTaxBenefits contextRef="i_2016-12-31" decimals="-4" id="c44416805" unitRef="iso4217-usd">150000</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions contextRef="d_2018-01-01_2018-12-31" id="c44416806" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions contextRef="d_2017-01-01_2017-12-31" id="c44416807" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities contextRef="d_2019-01-17_2019-01-17_SubsequentEventTypeAxis-SubsequentEventMember" decimals="INF" id="c44416695" unitRef="iso4217-usd">156000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities>
  <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued contextRef="i_2018-12-31" decimals="INF" id="c44416693" unitRef="iso4217-usd">153000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
  <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued contextRef="i_2017-12-31" decimals="INF" id="c44416694" unitRef="iso4217-usd">153000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
  <us-gaap:UseOfEstimates contextRef="d_2018-01-01_2018-12-31" id="c44418419">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;&lt;tr style="vertical-align: top"&gt;&lt;td style="width: 0.5in"&gt;&lt;/td&gt; &lt;td style="width: 0.5in"&gt;&lt;div style="display: inline; font-style: italic;"&gt;(b)&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&lt;div style="display: inline; font-style: italic;"&gt;Use of Estimates&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"&gt;The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, including allowance for doubtful accounts and the net realizable value of inventory, and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
  <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount contextRef="d_2018-01-01_2018-12-31" decimals="INF" id="c44416715" unitRef="iso4217-usd">-50000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
  <us-gaap:ValuationAllowancesAndReservesBalance contextRef="i_2017-12-31" decimals="-3" id="c44417164" unitRef="iso4217-usd">652000</us-gaap:ValuationAllowancesAndReservesBalance>
  <us-gaap:ValuationAllowancesAndReservesBalance contextRef="i_2016-12-31" decimals="-3" id="c44417165" unitRef="iso4217-usd">567000</us-gaap:ValuationAllowancesAndReservesBalance>
  <us-gaap:ValuationAllowancesAndReservesBalance contextRef="i_2015-12-31" decimals="-3" id="c44417166" unitRef="iso4217-usd">499000</us-gaap:ValuationAllowancesAndReservesBalance>
  <us-gaap:ValuationAllowancesAndReservesBalance contextRef="i_2018-12-31" decimals="-3" id="c44417173" unitRef="iso4217-usd">564000</us-gaap:ValuationAllowancesAndReservesBalance>
  <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44417167" unitRef="iso4217-usd">-50000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
  <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44417168" unitRef="iso4217-usd">116000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
  <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44417169" unitRef="iso4217-usd">126000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
  <us-gaap:ValuationAllowancesAndReservesDeductions contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44417170" unitRef="iso4217-usd">38000</us-gaap:ValuationAllowancesAndReservesDeductions>
  <us-gaap:ValuationAllowancesAndReservesDeductions contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44417171" unitRef="iso4217-usd">31000</us-gaap:ValuationAllowancesAndReservesDeductions>
  <us-gaap:ValuationAllowancesAndReservesDeductions contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44417172" unitRef="iso4217-usd">58000</us-gaap:ValuationAllowancesAndReservesDeductions>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416824" unitRef="xbrli-shares">7430000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416825" unitRef="xbrli-shares">7337000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416826" unitRef="xbrli-shares">7275000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="d_2018-01-01_2018-12-31" decimals="-3" id="c44416818" unitRef="xbrli-shares">7347000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="d_2017-01-01_2017-12-31" decimals="-3" id="c44416819" unitRef="xbrli-shares">7248000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="d_2016-01-01_2016-12-31" decimals="-3" id="c44416820" unitRef="xbrli-shares">7190000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <link:footnoteLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended"/>
  <xbrli:unit id="xbrli-shares">
    <xbrli:measure>xbrli:shares</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="xbrli-pure">
    <xbrli:measure>xbrli:pure</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="iso4217-usd">
    <xbrli:measure>iso4217:USD</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="iso4217-usd-per-xbrli-shares">
    <xbrli:divide>
      <xbrli:unitNumerator>
        <xbrli:measure>iso4217:USD</xbrli:measure>
      </xbrli:unitNumerator>
      <xbrli:unitDenominator>
        <xbrli:measure>xbrli:shares</xbrli:measure>
      </xbrli:unitDenominator>
    </xbrli:divide>
  </xbrli:unit>
  <xbrli:context id="d_2009-03-18_2009-03-18">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2009-03-18</xbrli:startDate>
      <xbrli:endDate>2009-03-18</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2013-12-02_2013-12-02_CreditFacilityAxis-RevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2013-12-02</xbrli:startDate>
      <xbrli:endDate>2013-12-02</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2013-12-02_2013-12-02_CreditFacilityAxis-RevolvingCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-PrimeRateMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2013-12-02</xbrli:startDate>
      <xbrli:endDate>2013-12-02</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2013-12-02_2013-12-02_CreditFacilityAxis-RevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2013-12-02</xbrli:startDate>
      <xbrli:endDate>2013-12-02</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2013-12-02_2013-12-02_CreditFacilityAxis-RevolvingCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-PrimeRateMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2013-12-02</xbrli:startDate>
      <xbrli:endDate>2013-12-02</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2015-03-18_2015-03-18_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ufpt:NewburyportMassachusettsFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2015-03-18</xbrli:startDate>
      <xbrli:endDate>2015-03-18</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_AwardTypeAxis-CommonStockMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ufpt:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ufpt:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_LitigationCaseAxis-PolyurethaneFoamAntitrustLawsuitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">ufpt:PolyurethaneFoamAntitrustLawsuitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_MajorCustomersAxis-AerospaceDefenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:AerospaceDefenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_MajorCustomersAxis-AutomotiveMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:AutomotiveMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_MajorCustomersAxis-ConsumerMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:ConsumerMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_MajorCustomersAxis-ElectronicsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:ElectronicsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_MajorCustomersAxis-IndustrialMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:IndustrialMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_MajorCustomersAxis-MedicalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:MedicalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_ProductOrServiceAxis-EngineeringAndDevelopmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ufpt:EngineeringAndDevelopmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_ProductOrServiceAxis-ProductMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_ProductOrServiceAxis-ToolingAndMachineryMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ufpt:ToolingAndMachineryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_RetirementPlanTypeAxis-SupplementalEmployeeRetirementPlanDefinedBenefitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:SupplementalEmployeeRetirementPlanDefinedBenefitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-01-01_2016-12-31_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ufpt:NewburyportMassachusettsFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-01-01</xbrli:startDate>
      <xbrli:endDate>2016-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2016-02-21_2016-02-21_AwardTypeAxis-CommonStockMember_PlanNameAxis-The2003IncentivePlanMember_RelatedPartyTransactionsByRelatedPartyAxis-ChairmanChiefExecutiveOfficerAndPresidentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ufpt:The2003IncentivePlanMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">ufpt:ChairmanChiefExecutiveOfficerAndPresidentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-02-21</xbrli:startDate>
      <xbrli:endDate>2016-02-21</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-03-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_AwardTypeAxis-CommonStockMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ufpt:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ufpt:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_BusinessAcquisitionAxis-DielectricsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ufpt:DielectricsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_LitigationCaseAxis-PolyurethaneFoamAntitrustLawsuitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">ufpt:PolyurethaneFoamAntitrustLawsuitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_MajorCustomersAxis-AerospaceDefenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:AerospaceDefenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_MajorCustomersAxis-AutomotiveMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:AutomotiveMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_MajorCustomersAxis-ConsumerMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:ConsumerMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_MajorCustomersAxis-ElectronicsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:ElectronicsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_MajorCustomersAxis-IndustrialMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:IndustrialMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_MajorCustomersAxis-MedicalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:MedicalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_ProductOrServiceAxis-EngineeringAndDevelopmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ufpt:EngineeringAndDevelopmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_ProductOrServiceAxis-ProductMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_ProductOrServiceAxis-ToolingAndMachineryMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ufpt:ToolingAndMachineryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_RetirementPlanTypeAxis-SupplementalEmployeeRetirementPlanDefinedBenefitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:SupplementalEmployeeRetirementPlanDefinedBenefitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-01-01_2017-12-31_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ufpt:NewburyportMassachusettsFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-04-01_2017-06-30">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-04-01</xbrli:startDate>
      <xbrli:endDate>2017-06-30</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-07-01_2017-09-30">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-07-01</xbrli:startDate>
      <xbrli:endDate>2017-09-30</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2017-10-01_2017-12-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-10-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-03-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis">us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_AwardTypeAxis-CommonStockMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ufpt:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ufpt:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember_PlanNameAxis-NonemployeeDirectorStockIncentivePlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ufpt:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ufpt:NonemployeeDirectorStockIncentivePlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_BalanceSheetLocationAxis-OtherAssetsMember_IncomeStatementLocationAxis-OtherNonoperatingIncomeExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherNonoperatingIncomeExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_BusinessAcquisitionAxis-DielectricsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ufpt:DielectricsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis-ReclassificationOfDeferredRevenueMember_StatementScenarioAxis-ScenarioAdjustmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">ufpt:ReclassificationOfDeferredRevenueMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">us-gaap:ScenarioAdjustmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_FairValueByAssetClassAxis-DeferredRevenueMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">ufpt:DeferredRevenueMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_IncomeStatementLocationAxis-SellingGeneralAndAdministrativeExpensesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_IncomeTaxAuthorityAxis-DomesticCountryMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_IncomeTaxAuthorityAxis-StateAndLocalJurisdictionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis">us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_LitigationCaseAxis-PolyurethaneFoamAntitrustLawsuitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">ufpt:PolyurethaneFoamAntitrustLawsuitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_MajorCustomersAxis-AerospaceDefenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:AerospaceDefenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_MajorCustomersAxis-AutomotiveMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:AutomotiveMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_MajorCustomersAxis-ConsumerMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:ConsumerMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_MajorCustomersAxis-ElectronicsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:ElectronicsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_MajorCustomersAxis-IndustrialMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:IndustrialMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_MajorCustomersAxis-MedicalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">ufpt:MedicalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_PlanNameAxis-The2003IncentivePlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ufpt:The2003IncentivePlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_ProductOrServiceAxis-EngineeringAndDevelopmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ufpt:EngineeringAndDevelopmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_ProductOrServiceAxis-ProductMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_ProductOrServiceAxis-ToolingAndMachineryMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">ufpt:ToolingAndMachineryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureFixturesAndComputersMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">ufpt:FurnitureFixturesAndComputersMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureFixturesAndComputersMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">ufpt:FurnitureFixturesAndComputersMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_RetirementPlanTypeAxis-SupplementalEmployeeRetirementPlanDefinedBenefitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:SupplementalEmployeeRetirementPlanDefinedBenefitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-01-01_2018-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2018-02-01_BusinessAcquisitionAxis-DielectricsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ufpt:DielectricsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2018-02-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2018-02-01_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember_RangeAxis-MaximumMember_VariableRateAxis-PrimeRateMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ufpt:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ufpt:SubsidiaryGuarantorsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2018-02-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2018-02-01_CreditFacilityAxis-UnsecuredRevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember_RangeAxis-MaximumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ufpt:UnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ufpt:SubsidiaryGuarantorsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2018-02-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2018-02-01_CreditFacilityAxis-UnsecuredRevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember_RangeAxis-MinimumMember_VariableRateAxis-LondonInterbankOfferedRateLIBORMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ufpt:UnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ufpt:SubsidiaryGuarantorsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2018-02-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2018-02-01_DerivativeInstrumentRiskAxis-InterestRateSwapMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2018-02-01</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-04-01_2018-06-30">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-04-01</xbrli:startDate>
      <xbrli:endDate>2018-06-30</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-06-06_2018-06-06_AwardTypeAxis-CommonStockMember_PlanNameAxis-The2003IncentivePlanMember_RelatedPartyTransactionsByRelatedPartyAxis-ChairmanChiefExecutiveOfficerAndPresidentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ufpt:The2003IncentivePlanMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">ufpt:ChairmanChiefExecutiveOfficerAndPresidentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-06-06</xbrli:startDate>
      <xbrli:endDate>2018-06-06</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-07-01_2018-09-30">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-07-01</xbrli:startDate>
      <xbrli:endDate>2018-09-30</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-10-01_2018-12-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-10-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-17_2019-01-17_SubsequentEventTypeAxis-SubsequentEventMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-17</xbrli:startDate>
      <xbrli:endDate>2019-01-17</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2009-03-18">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2009-03-18</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2009-03-18_ClassOfWarrantOrRightAxis-PreferredSharePurchaseRightMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">ufpt:PreferredSharePurchaseRightMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2009-03-18</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2009-03-18_StatementClassOfStockAxis-SeriesAJuniorParticipatingPreferredStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">ufpt:SeriesAJuniorParticipatingPreferredStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2009-03-18</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2011-06-08_PlanNameAxis-The2003IncentivePlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ufpt:The2003IncentivePlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2011-06-08</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2013-12-02_CreditFacilityAxis-RevolvingCreditFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2013-12-02</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2015-03-18_RestructuringCostAndReserveAxis-EmployeeSeverancePaymentsAndRelocationCostsMember_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">ufpt:EmployeeSeverancePaymentsAndRelocationCostsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ufpt:NewburyportMassachusettsFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2015-03-18</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2015-03-18_RestructuringCostAndReserveAxis-LeaseTerminationMember_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">ufpt:LeaseTerminationMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ufpt:NewburyportMassachusettsFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2015-03-18</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2015-03-18_RestructuringCostAndReserveAxis-MovingAndVacatingExpenseMember_StatementGeographicalAxis-NewburyportMassachusettsFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">ufpt:MovingAndVacatingExpenseMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">ufpt:NewburyportMassachusettsFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2015-03-18</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2015-12-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2015-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2015-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2015-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2015-12-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2015-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2015-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2015-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2015-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2015-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2016-12-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2016-12-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2016-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2016-12-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2016-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2016-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ufpt:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis-ReclassificationOfDeferredRevenueMember_StatementScenarioAxis-ScenarioAdjustmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis">ufpt:ReclassificationOfDeferredRevenueMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">us-gaap:ScenarioAdjustmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureFixturesAndComputersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">ufpt:FurnitureFixturesAndComputersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandAndLandImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2017-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-01">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ufpt:DielectricsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ufpt:DielectricsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerListsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ufpt:DielectricsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_BusinessAcquisitionAxis-DielectricsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNameAndBrandMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">ufpt:DielectricsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">ufpt:TradeNameAndBrandMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_DebtInstrumentAxis-StandbyLettersOfCreditMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ufpt:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:StandbyLettersOfCreditMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ufpt:SubsidiaryGuarantorsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_DebtInstrumentAxis-UnsecuredRevolvingCreditFacilityMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ufpt:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ufpt:UnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ufpt:SubsidiaryGuarantorsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_DebtInstrumentAxis-UnsecuredTermLoanMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ufpt:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ufpt:UnsecuredTermLoanMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ufpt:SubsidiaryGuarantorsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ufpt:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ufpt:SubsidiaryGuarantorsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_DerivativeInstrumentRiskAxis-InterestRateSwapMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_LeaseArrangementTypeAxis-DielectricsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:LeaseArrangementTypeAxis">ufpt:DielectricsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-06-29">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-06-29</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member_InitialApplicationPeriodCumulativeEffectTransitionAxis-DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis">us-gaap:DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_AwardTypeAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ufpt:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_AwardTypeAxis-EmployeeAndNonemployeeStockOptionMember_PlanNameAxis-NonemployeeDirectorStockIncentivePlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">ufpt:EmployeeAndNonemployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ufpt:NonemployeeDirectorStockIncentivePlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_BalanceSheetLocationAxis-OtherAssetsMember_DerivativeInstrumentRiskAxis-InterestRateSwapMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_BalanceSheetLocationAxis-ReceivablesNetMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">ufpt:ReceivablesNetMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_CreditFacilityAxis-AmendedAndRestatedCreditAgreementMember_LineOfCreditFacilityAxis-SubsidiaryGuarantorsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">ufpt:AmendedAndRestatedCreditAgreementMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">ufpt:SubsidiaryGuarantorsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_CreditFacilityAxis-RevolvingCreditFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_DebtInstrumentAxis-TermLoanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">ufpt:TermLoanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel2Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerListsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerListsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNameAndBrandMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">ufpt:TradeNameAndBrandMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_InitialApplicationPeriodCumulativeEffectTransitionAxis-CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:InitialApplicationPeriodCumulativeEffectTransitionAxis">us-gaap:CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_PlanNameAxis-NonemployeeDirectorStockIncentivePlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ufpt:NonemployeeDirectorStockIncentivePlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_PlanNameAxis-The2003IncentivePlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">ufpt:The2003IncentivePlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-BuildingAndBuildingImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-ConstructionInProgressMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureFixturesAndComputersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">ufpt:FurnitureFixturesAndComputersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-LandAndLandImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandAndLandImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_PropertyPlantAndEquipmentByTypeAxis-MachineryAndEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_RetirementPlanTypeAxis-SupplementalEmployeeRetirementPlanDefinedBenefitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:SupplementalEmployeeRetirementPlanDefinedBenefitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_StatementEquityComponentsAxis-TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-12-31_TaxCreditCarryforwardAxis-OneStateJurisdictionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">ufpt:OneStateJurisdictionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201602Member_SubsequentEventTypeAxis-SubsequentEventMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-03-05">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-03-05</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-03-31_StatementScenarioAxis-ScenarioForecastMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0000914156</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">us-gaap:ScenarioForecastMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
</xbrli:xbrl>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>8
<FILENAME>ufpt-20181231.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:23AM UTC 2019-03-15--><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2017-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2018-01-31" xmlns:exch="http://xbrl.sec.gov/exch/2018-01-31" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2011-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:srt="http://fasb.org/srt/2018-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2011-01-31" xmlns:ufpt="http://www.ufpt.com/20181231" xmlns:us-gaap="http://fasb.org/us-gaap/2018-01-31" xmlns:us-types="http://fasb.org/us-types/2018-01-31" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.ufpt.com/20181231">
  <xsd:import namespace="http://xbrl.sec.gov/country/2017-01-31" schemaLocation="http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/naics/2011-01-31" schemaLocation="http://xbrl.sec.gov/naics/2011/naics-2011-01-31.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xsd:import namespace="http://fasb.org/us-gaap/2018-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/sic/2011-01-31" schemaLocation="http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/exch/2018-01-31" schemaLocation="https://xbrl.sec.gov/exch/2018/exch-2018-01-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2011-01-31" schemaLocation="http://xbrl.sec.gov/stpr/2011/stpr-2011-01-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/currency/2017-01-31" schemaLocation="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/invest/2013-01-31" schemaLocation="http://xbrl.sec.gov/invest/2013/invest-2013-01-31.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd"/>
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xsd:import namespace="http://fasb.org/us-types/2018-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2018/elts/us-types-2018-01-31.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd"/>
  <xsd:import namespace="http://fasb.org/srt/2018-01-31" schemaLocation="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/dei/2018-01-31" schemaLocation="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="ufpt-20181231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="ufpt-20181231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="ufpt-20181231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="ufpt-20181231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="statement-document-and-entity-information" roleURI="http://www.ufpt.com/20181231/role/statement-document-and-entity-information">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">000 - Document - Document And Entity Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-balance-sheets" roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">001 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-balance-sheets-parentheticals" roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">002 - Statement - Consolidated Balance Sheets (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-income" roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-income">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">003 - Statement - Consolidated Statements of Income</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-stockholders-equity" roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-stockholders-equity">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">004 - Statement - Consolidated Statements of Stockholders' Equity</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-consolidated-statements-of-cash-flows" roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-cash-flows">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">005 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-summary-of-significant-accounting-policies" roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">006 - Disclosure - Note 1 - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-revenue-recognition" roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">007 - Disclosure - Note 2 - Revenue Recognition</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-supplemental-cash-flow-information-" roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">008 - Disclosure - Note 3 - Supplemental Cash Flow Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-receivables" roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">009 - Disclosure - Note 4 - Receivables</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-inventories-" roleURI="http://www.ufpt.com/20181231/role/statement-note-5-inventories-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">010 - Disclosure - Note 5 - Inventories</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-other-intangible-assets-" roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">011 - Disclosure - Note 6 - Other Intangible Assets</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-property-plant-and-equipment" roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">012 - Disclosure - Note 7 - Property, Plant, and Equipment</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-indebtedness" roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">013 - Disclosure - Note 8 - Indebtedness</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-accrued-expenses" roleURI="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">014 - Disclosure - Note 9 - Accrued Expenses</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-income-taxes" roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">015 - Disclosure - Note 10 - Income Taxes</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-net-income-per-share-" roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">016 - Disclosure - Note 11 - Net Income Per Share</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-stock-option-and-equity-incentive-plans" roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">017 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-preferred-stock-" roleURI="http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">018 - Disclosure - Note 13 - Preferred Stock</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-supplemental-retirement-benefits" roleURI="http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">019 - Disclosure - Note 14 - Supplemental Retirement Benefits</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-commitments-and-contingencies" roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">020 - Disclosure - Note 15 - Commitments and Contingencies</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-employee-benefit-plans" roleURI="http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">021 - Disclosure - Note 16 - Employee Benefit Plans</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-fair-value-of-financial-instruments-" roleURI="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">022 - Disclosure - Note 17 - Fair Value of Financial Instruments</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-segment-data" roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">023 - Disclosure - Note 18 - Segment Data</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-quarterly-financial-information-unaudited" roleURI="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">024 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-plant-consolidation" roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">025 - Disclosure - Note 20 - Plant Consolidation</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-21-material-overcharge-settlement" roleURI="http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">026 - Disclosure - Note 21 - Material Overcharge Settlement</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-acquisition" roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">027 - Disclosure - Note 22 - Acquisition</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-schedule-ii-valuation-and-qualifying-accounts" roleURI="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">028 - Disclosure - Schedule II - Valuation and Qualifying Accounts</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-significant-accounting-policies-policies" roleURI="http://www.ufpt.com/20181231/role/statement-significant-accounting-policies-policies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">029 - Disclosure - Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-summary-of-significant-accounting-policies-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">030 - Disclosure - Note 1 - Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-revenue-recognition-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">031 - Disclosure - Note 2 - Revenue Recognition (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-supplemental-cash-flow-information-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">032 - Disclosure - Note 3 - Supplemental Cash Flow Information (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-receivables-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">033 - Disclosure - Note 4 - Receivables (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-inventories-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-5-inventories-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">034 - Disclosure - Note 5 - Inventories (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-other-intangible-assets-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">035 - Disclosure - Note 6 - Other Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-property-plant-and-equipment-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">036 - Disclosure - Note 7 - Property, Plant, and Equipment (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-indebtedness-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">037 - Disclosure - Note 8 - Indebtedness (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-accrued-expenses-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">038 - Disclosure - Note 9 - Accrued Expenses (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-income-taxes-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">039 - Disclosure - Note 10 - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-net-income-per-share-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">040 - Disclosure - Note 11 - Net Income Per Share (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-stock-option-and-equity-incentive-plans-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">041 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-commitments-and-contingencies-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">042 - Disclosure - Note 15 - Commitments and Contingencies (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-fair-value-of-financial-instruments-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">043 - Disclosure - Note 17 - Fair Value of Financial Instruments (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-segment-data-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">044 - Disclosure - Note 18 - Segment Data (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-quarterly-financial-information-unaudited-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">045 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited) (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-plant-consolidation-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">046 - Disclosure - Note 20 - Plant Consolidation (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-acquisition-tables" roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">047 - Disclosure - Note 22 - Acquisition (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-schedule-ii-valuation-and-qualifying-accounts-tables" roleURI="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">048 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-summary-of-significant-accounting-policies-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">049 - Disclosure - Note 1 - Summary of Significant Accounting Policies (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">050 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">051 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Schedule of Goodwill (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">052 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Compensation Cost Charged Against Income (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">053 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Fair Value Assumptions (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-revenue-recognition-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">054 - Disclosure - Note 2 - Revenue Recognition (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-revenue-recognition-adoption-of-asc-606-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-adoption-of-asc-606-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">055 - Disclosure - Note 2 - Revenue Recognition - Adoption of ASC 606 (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">056 - Disclosure - Note 2 - Revenue Recognition - Revenue Disaggregated by the Major Types of Good and Services Sold (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-revenue-recognition-contract-liabilities-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-contract-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">057 - Disclosure - Note 2 - Revenue Recognition - Contract Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-supplemental-cash-flow-information-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">058 - Disclosure - Note 3 - Supplemental Cash Flow Information (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">059 - Disclosure - Note 3 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-receivables-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">060 - Disclosure - Note 4 - Receivables (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-receivables-receivables-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables-receivables-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">061 - Disclosure - Note 4 - Receivables - Receivables (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-inventories-summary-of-inventory-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-5-inventories-summary-of-inventory-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">062 - Disclosure - Note 5 - Inventories - Summary of Inventory (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-other-intangible-assets-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">063 - Disclosure - Note 6 - Other Intangible Assets (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-definitelived-intangible-assets-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">064 - Disclosure - Note 6 - Other Intangible Assets - Definite-lived Intangible Assets (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">065 - Disclosure - Note 6 - Other Intangible Assets - Future Amortization of Intangible Assets (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-property-plant-and-equipment-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">066 - Disclosure - Note 7 - Property, Plant, and Equipment (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">067 - Disclosure - Note 7 - Property, Plant, and Equipment - Property, Plant, and Equipment (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-indebtedness-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">068 - Disclosure - Note 8 - Indebtedness (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-indebtedness-longterm-debt-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-longterm-debt-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">069 - Disclosure - Note 8 - Indebtedness - Long-term Debt (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-accrued-expenses-accrued-expenses-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-accrued-expenses-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">070 - Disclosure - Note 9 - Accrued Expenses - Accrued Expenses (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-income-taxes-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">071 - Disclosure - Note 10 - Income Taxes (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-income-taxes-income-tax-provision-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-provision-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">072 - Disclosure - Note 10 - Income Taxes - Income Tax Provision (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">073 - Disclosure - Note 10 - Income Taxes - Deferred Tax Assets and Liabilities (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-income-taxes-income-tax-rate-reconciliation-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-rate-reconciliation-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">074 - Disclosure - Note 10 - Income Taxes - Income Tax Rate Reconciliation (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-income-taxes-unrecognized-tax-benefits-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-unrecognized-tax-benefits-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">075 - Disclosure - Note 10 - Income Taxes - Unrecognized Tax Benefits (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-net-income-per-share-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">076 - Disclosure - Note 11 - Net Income Per Share (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">077 - Disclosure - Note 11 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-stock-option-and-equity-incentive-plans-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">078 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">079 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans - Compensation Cost (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">080 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans - Summary of Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">081 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans - Restricted Stock Unit Activity (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">082 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans - Future Share-based Compensation Expense (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-preferred-stock-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">083 - Disclosure - Note 13 - Preferred Stock (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-14-supplemental-retirement-benefits-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">084 - Disclosure - Note 14 - Supplemental Retirement Benefits (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-commitments-and-contingencies-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">085 - Disclosure - Note 15 - Commitments and Contingencies (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">086 - Disclosure - Note 15 - Commitments and Contingencies - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-16-employee-benefit-plans-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">087 - Disclosure - Note 16 - Employee Benefit Plans (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">088 - Disclosure - Note 17 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-segment-data-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">089 - Disclosure - Note 18 - Segment Data (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-18-segment-data-net-sales-by-market-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-net-sales-by-market-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">090 - Disclosure - Note 18 - Segment Data - Net Sales by Market (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">091 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-plant-consolidation-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">092 - Disclosure - Note 20 - Plant Consolidation (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-20-plant-consolidation-restructuring-costs-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-restructuring-costs-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">093 - Disclosure - Note 20 - Plant Consolidation - Restructuring Costs (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-21-material-overcharge-settlement-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">094 - Disclosure - Note 21 - Material Overcharge Settlement (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-acquisition-details-textual" roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">095 - Disclosure - Note 22 - Acquisition (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">096 - Disclosure - Note 22 - Acquisition - Assets Acquires and Liabilities Assumed (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-22-acquisition-pro-forma-information-unaudited-details" roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-pro-forma-information-unaudited-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">097 - Disclosure - Note 22 - Acquisition - Pro Forma Information (Unaudited) (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-schedule-ii-valuation-and-qualifying-accounts-details" roleURI="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">098 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element abstract="true" id="ufpt_AerospaceDefenseMember" name="AerospaceDefenseMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" name="AggregateDeferredTaxLiabilitiesNoncurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="ufpt_AmendedAndRestatedCreditAgreementMember" name="AmendedAndRestatedCreditAgreementMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_AutomotiveMember" name="AutomotiveMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" name="BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="ufpt_CashlessExerciseOfStockOptions" name="CashlessExerciseOfStockOptions" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" name="ChairmanChiefExecutiveOfficerAndPresidentMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_ConsumerMember" name="ConsumerMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" name="ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_DeferredRevenueMember" name="DeferredRevenueMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" name="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="ufpt_DielectricsMember" name="DielectricsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_DocumentAndEntityInformation" name="DocumentAndEntityInformation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" name="EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" name="EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_ElectronicsMember" name="ElectronicsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_EmployeeAndNonemployeeStockOptionMember" name="EmployeeAndNonemployeeStockOptionMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" name="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" name="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" name="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element id="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" name="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" name="EmployeeSeverancePaymentsAndRelocationCostsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_EngineeringAndDevelopmentMember" name="EngineeringAndDevelopmentMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_FurnitureFixturesAndComputersMember" name="FurnitureFixturesAndComputersMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_IndustrialMember" name="IndustrialMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_LeaseTerminationMember" name="LeaseTerminationMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_MedicalMember" name="MedicalMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_MovingAndVacatingExpenseMember" name="MovingAndVacatingExpenseMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_NewburyportMassachusettsFacilityMember" name="NewburyportMassachusettsFacilityMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_NonemployeeDirectorStockIncentivePlanMember" name="NonemployeeDirectorStockIncentivePlanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_NoteToFinancialStatementDetailsTextual" name="NoteToFinancialStatementDetailsTextual" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_NotesToFinancialStatements" name="NotesToFinancialStatements" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_NotesToFinancialStatementsAbstract" name="NotesToFinancialStatementsAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_NumberOfLeaseTermOptions" name="NumberOfLeaseTermOptions" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="ufpt_OneStateJurisdictionMember" name="OneStateJurisdictionMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_PlantConsolidationDisclosureTextBlock" name="PlantConsolidationDisclosureTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_PolyurethaneFoamAntitrustLawsuitMember" name="PolyurethaneFoamAntitrustLawsuitMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_PreferredSharePurchaseRightMember" name="PreferredSharePurchaseRightMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding" name="PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_ProceedsFromStockOptionsExercisedNet" name="ProceedsFromStockOptionsExercisedNet" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" name="PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_ReceivablesNetMember" name="ReceivablesNetMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_ReclassificationOfDeferredRevenueMember" name="ReclassificationOfDeferredRevenueMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" name="RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_RevisionsPolicyPolicyTextBlock" name="RevisionsPolicyPolicyTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" name="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" name="ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount" name="SelfIinsuredHealthInsuranceProgramStopLossAmount" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_SeriesAJuniorParticipatingPreferredStockMember" name="SeriesAJuniorParticipatingPreferredStockMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="instant"/>
  <xsd:element id="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation" name="SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice" name="SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice" nillable="true" substitutionGroup="xbrli:item" type="num:perShareItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_SharesPaidForExercisePriceOfAwards" name="SharesPaidForExercisePriceOfAwards" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice" name="SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice" nillable="true" substitutionGroup="xbrli:item" type="num:perShareItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_ShippingAndHandlingCostsPolicyTextBlock" name="ShippingAndHandlingCostsPolicyTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_StockholdersEquityTreasuryStockPolicyTextBlock" name="StockholdersEquityTreasuryStockPolicyTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_SubsidiaryGuarantorsMember" name="SubsidiaryGuarantorsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" name="SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element id="ufpt_SupplementalRetirementBenefitsDisclosureTextBlock" name="SupplementalRetirementBenefitsDisclosureTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_TermLoanMember" name="TermLoanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_The2003IncentivePlanMember" name="The2003IncentivePlanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_ToolingAndMachineryMember" name="ToolingAndMachineryMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_TradeNameAndBrandMember" name="TradeNameAndBrandMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_UnsecuredRevolvingCreditFacilityMember" name="UnsecuredRevolvingCreditFacilityMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_UnsecuredTermLoanMember" name="UnsecuredTermLoanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" name="statement-statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" name="statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" name="statement-statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" name="statement-statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-tables" name="statement-statement-note-1-summary-of-significant-accounting-policies-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" name="statement-statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-10-income-taxes-income-tax-provision-details" name="statement-statement-note-10-income-taxes-income-tax-provision-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-10-income-taxes-income-tax-rate-reconciliation-details" name="statement-statement-note-10-income-taxes-income-tax-rate-reconciliation-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-10-income-taxes-tables" name="statement-statement-note-10-income-taxes-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-10-income-taxes-unrecognized-tax-benefits-details" name="statement-statement-note-10-income-taxes-unrecognized-tax-benefits-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-11-net-income-per-share-tables" name="statement-statement-note-11-net-income-per-share-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" name="statement-statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" name="statement-statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" name="statement-statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" name="statement-statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" name="statement-statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-tables" name="statement-statement-note-12-stock-option-and-equity-incentive-plans-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" name="statement-statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-15-commitments-and-contingencies-tables" name="statement-statement-note-15-commitments-and-contingencies-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" name="statement-statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-tables" name="statement-statement-note-17-fair-value-of-financial-instruments-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-18-segment-data-net-sales-by-market-details" name="statement-statement-note-18-segment-data-net-sales-by-market-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-18-segment-data-tables" name="statement-statement-note-18-segment-data-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" name="statement-statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-tables" name="statement-statement-note-19-quarterly-financial-information-unaudited-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-2-revenue-recognition-adoption-of-asc-606-details" name="statement-statement-note-2-revenue-recognition-adoption-of-asc-606-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-2-revenue-recognition-contract-liabilities-details" name="statement-statement-note-2-revenue-recognition-contract-liabilities-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" name="statement-statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-2-revenue-recognition-tables" name="statement-statement-note-2-revenue-recognition-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-20-plant-consolidation-restructuring-costs-details" name="statement-statement-note-20-plant-consolidation-restructuring-costs-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-20-plant-consolidation-tables" name="statement-statement-note-20-plant-consolidation-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" name="statement-statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-22-acquisition-pro-forma-information-unaudited-details" name="statement-statement-note-22-acquisition-pro-forma-information-unaudited-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-22-acquisition-tables" name="statement-statement-note-22-acquisition-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" name="statement-statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-3-supplemental-cash-flow-information-tables" name="statement-statement-note-3-supplemental-cash-flow-information-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-4-receivables-receivables-details" name="statement-statement-note-4-receivables-receivables-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-4-receivables-tables" name="statement-statement-note-4-receivables-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-5-inventories-summary-of-inventory-details" name="statement-statement-note-5-inventories-summary-of-inventory-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-5-inventories-tables" name="statement-statement-note-5-inventories-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" name="statement-statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" name="statement-statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-6-other-intangible-assets-tables" name="statement-statement-note-6-other-intangible-assets-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" name="statement-statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-7-property-plant-and-equipment-tables" name="statement-statement-note-7-property-plant-and-equipment-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-8-indebtedness-longterm-debt-details" name="statement-statement-note-8-indebtedness-longterm-debt-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-8-indebtedness-tables" name="statement-statement-note-8-indebtedness-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-9-accrued-expenses-accrued-expenses-details" name="statement-statement-note-9-accrued-expenses-accrued-expenses-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-note-9-accrued-expenses-tables" name="statement-statement-note-9-accrued-expenses-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-details" name="statement-statement-schedule-ii-valuation-and-qualifying-accounts-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables" name="statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="ufpt_statement-statement-significant-accounting-policies-policies" name="statement-statement-significant-accounting-policies-policies" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>9
<FILENAME>ufpt-20181231_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:25AM UTC 2019-03-15--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:type="extended">
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:href="ufpt-20181231.xsd#statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:type="extended">
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_CashAcquiredFromAcquisition" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-cash-flows" xlink:href="ufpt-20181231.xsd#statement-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ProceedsFromStockOptionsExercisedNet" xlink:label="ufpt_ProceedsFromStockOptionsExercisedNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="us-gaap_IncreaseDecreaseInReceivables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnDispositionOfAssets" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="9" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities" xlink:type="arc"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc"/>
    <link:calculationArc order="13" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:calculationArc order="14" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInReceivables" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="ufpt_ProceedsFromStockOptionsExercisedNet" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:type="arc"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables-receivables-details" xlink:href="ufpt-20181231.xsd#statement-note-4-receivables-receivables-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-4-receivables-receivables-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ReceivablesNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ReceivablesNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-5-inventories-summary-of-inventory-details" xlink:href="ufpt-20181231.xsd#statement-note-5-inventories-summary-of-inventory-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-5-inventories-summary-of-inventory-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-accrued-expenses-details" xlink:href="ufpt-20181231.xsd#statement-note-9-accrued-expenses-accrued-expenses-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-accrued-expenses-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="us-gaap_AccruedSalesCommissionCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedVacationCurrent" xlink:label="us-gaap_AccruedVacationCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SelfInsuranceReserveCurrent" xlink:label="us-gaap_SelfInsuranceReserveCurrent" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedSalesCommissionCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_SelfInsuranceReserveCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedVacationCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedSalariesCurrent" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:type="extended">
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:type="arc"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:type="arc"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="arc"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:href="ufpt-20181231.xsd#statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets" xlink:href="ufpt-20181231.xsd#statement-consolidated-balance-sheets" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:label="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredCompensationPlanAssets" xlink:label="us-gaap_DeferredCompensationPlanAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_ReceivablesNetCurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_IncomeTaxesReceivable" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_DeferredCompensationPlanAssets" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_PreferredStockValue" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_TreasuryStockValue" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-income" xlink:href="ufpt-20181231.xsd#statement-consolidated-statements-of-income" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-income" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossRelatedToLitigationSettlement" xlink:label="us-gaap_GainLossRelatedToLitigationSettlement" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_RestructuringCharges" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GainLossRelatedToLitigationSettlement" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_InvestmentIncomeInterest" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-provision-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-income-tax-provision-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-provision-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:label="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:label="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsInventory" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:type="arc"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:type="arc"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:to="us-gaap_DeferredTaxAssetsGross" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-restructuring-costs-details" xlink:href="ufpt-20181231.xsd#statement-note-20-plant-consolidation-restructuring-costs-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-restructuring-costs-details" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessExitCosts1" xlink:label="us-gaap_BusinessExitCosts1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_RestructuringCosts" xlink:to="us-gaap_BusinessExitCosts1" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>10
<FILENAME>ufpt-20181231_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:24AM UTC 2019-03-15--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts" xlink:href="ufpt-20181231.xsd#statement-schedule-ii-valuation-and-qualifying-accounts" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited" xlink:href="ufpt-20181231.xsd#statement-note-19-quarterly-financial-information-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-" xlink:href="ufpt-20181231.xsd#statement-note-17-fair-value-of-financial-instruments-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses" xlink:href="ufpt-20181231.xsd#statement-note-9-accrued-expenses" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-5-inventories-" xlink:href="ufpt-20181231.xsd#statement-note-5-inventories-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-5-inventories-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-document-and-entity-information" xlink:href="ufpt-20181231.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityVoluntaryFilers" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityWellKnownSeasonedIssuer" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityPublicFloat" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets-parentheticals" xlink:href="ufpt-20181231.xsd#statement-consolidated-balance-sheets-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockShares" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ReclassificationOfDeferredRevenueMember" xlink:label="ufpt_ReclassificationOfDeferredRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioAdjustmentMember" xlink:label="us-gaap_ScenarioAdjustmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="us-gaap_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:to="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:to="ufpt_ReclassificationOfDeferredRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:to="us-gaap_AdjustmentsForErrorCorrectionDomain-default" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementScenarioAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ScenarioUnspecifiedDomain" xlink:to="us-gaap_ScenarioAdjustmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain-default" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DeferredRevenueMember" xlink:label="ufpt_DeferredRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ReceivablesNetMember" xlink:label="ufpt_ReceivablesNetMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByAssetClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="ufpt_DeferredRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="ufpt_ReceivablesNetMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-" xlink:href="ufpt-20181231.xsd#statement-note-3-supplemental-cash-flow-information-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables" xlink:href="ufpt-20181231.xsd#statement-note-4-receivables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-4-receivables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment" xlink:href="ufpt-20181231.xsd#statement-note-7-property-plant-and-equipment" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness" xlink:href="ufpt-20181231.xsd#statement-note-8-indebtedness" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AmendedAndRestatedCreditAgreementMember" xlink:label="ufpt_AmendedAndRestatedCreditAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SubsidiaryGuarantorsMember" xlink:label="ufpt_SubsidiaryGuarantorsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:label="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_UnsecuredTermLoanMember" xlink:label="ufpt_UnsecuredTermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StandbyLettersOfCreditMember" xlink:label="us-gaap_StandbyLettersOfCreditMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_PrimeRateMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="ufpt_SubsidiaryGuarantorsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="ufpt_AmendedAndRestatedCreditAgreementMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="ufpt_UnsecuredTermLoanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_StandbyLettersOfCreditMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherAssetsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_OneStateJurisdictionMember" xlink:label="ufpt_OneStateJurisdictionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioForecastMember" xlink:label="us-gaap_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="us-gaap_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="us-gaap_TaxCreditCarryforwardAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_TaxCreditCarryforwardAxis" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_TaxCreditCarryforwardAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxCreditCarryforwardNameDomain" xlink:to="ufpt_OneStateJurisdictionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_TaxCreditCarryforwardAxis" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementScenarioAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ScenarioUnspecifiedDomain" xlink:to="us-gaap_ScenarioForecastMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-" xlink:href="ufpt-20181231.xsd#statement-note-11-net-income-per-share-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:label="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:label="ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_The2003IncentivePlanMember" xlink:label="ufpt_The2003IncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="ufpt_The2003IncentivePlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-" xlink:href="ufpt-20181231.xsd#statement-note-13-preferred-stock-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PreferredSharePurchaseRightMember" xlink:label="ufpt_PreferredSharePurchaseRightMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:label="ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis" xlink:label="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="ufpt_PreferredSharePurchaseRightMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits" xlink:href="ufpt-20181231.xsd#statement-note-14-supplemental-retirement-benefits" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SupplementalRetirementBenefitsDisclosureTextBlock" xlink:label="ufpt_SupplementalRetirementBenefitsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:label="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="ufpt_SupplementalRetirementBenefitsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies" xlink:href="ufpt-20181231.xsd#statement-note-15-commitments-and-contingencies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans" xlink:href="ufpt-20181231.xsd#statement-note-16-employee-benefit-plans" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data" xlink:href="ufpt-20181231.xsd#statement-note-18-segment-data" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-18-segment-data" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation" xlink:href="ufpt-20181231.xsd#statement-note-20-plant-consolidation" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:label="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_LeaseTerminationMember" xlink:label="ufpt_LeaseTerminationMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_MovingAndVacatingExpenseMember" xlink:label="ufpt_MovingAndVacatingExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NewburyportMassachusettsFacilityMember" xlink:label="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PlantConsolidationDisclosureTextBlock" xlink:label="ufpt_PlantConsolidationDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="ufpt_MovingAndVacatingExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="ufpt_LeaseTerminationMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="ufpt_PlantConsolidationDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement" xlink:href="ufpt-20181231.xsd#statement-note-21-material-overcharge-settlement" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:label="ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LegalMattersAndContingenciesTextBlock" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_LitigationCaseAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DielectricsMember" xlink:label="ufpt_DielectricsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeAxis" xlink:label="us-gaap_LeaseArrangementTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseArrangementTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseArrangementTypeDomain" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-significant-accounting-policies-policies" xlink:href="ufpt-20181231.xsd#statement-significant-accounting-policies-policies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-significant-accounting-policies-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_RevisionsPolicyPolicyTextBlock" xlink:label="ufpt_RevisionsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ShippingAndHandlingCostsPolicyTextBlock" xlink:label="ufpt_ShippingAndHandlingCostsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_StockholdersEquityTreasuryStockPolicyTextBlock" xlink:label="ufpt_StockholdersEquityTreasuryStockPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredChargesPolicyTextBlock" xlink:label="us-gaap_DeferredChargesPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PolicyTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DeferredChargesPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ufpt_ShippingAndHandlingCostsPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ufpt_StockholdersEquityTreasuryStockPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ufpt_RevisionsPolicyPolicyTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-tables" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:label="ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-tables" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-tables" xlink:href="ufpt-20181231.xsd#statement-note-3-supplemental-cash-flow-information-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables-tables" xlink:href="ufpt-20181231.xsd#statement-note-4-receivables-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-4-receivables-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-5-inventories-tables" xlink:href="ufpt-20181231.xsd#statement-note-5-inventories-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-5-inventories-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-tables" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-tables" xlink:href="ufpt-20181231.xsd#statement-note-7-property-plant-and-equipment-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-tables" xlink:href="ufpt-20181231.xsd#statement-note-8-indebtedness-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-tables" xlink:href="ufpt-20181231.xsd#statement-note-9-accrued-expenses-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-tables" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-tables" xlink:href="ufpt-20181231.xsd#statement-note-11-net-income-per-share-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" xlink:label="ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" xlink:label="ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-tables" xlink:href="ufpt-20181231.xsd#statement-note-15-commitments-and-contingencies-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:label="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-tables" xlink:href="ufpt-20181231.xsd#statement-note-17-fair-value-of-financial-instruments-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-tables" xlink:href="ufpt-20181231.xsd#statement-note-18-segment-data-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-tables" xlink:href="ufpt-20181231.xsd#statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-tables" xlink:href="ufpt-20181231.xsd#statement-note-20-plant-consolidation-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-tables" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:href="ufpt-20181231.xsd#statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" xlink:label="ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ReclassificationOfDeferredRevenueMember" xlink:label="ufpt_ReclassificationOfDeferredRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:label="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashUninsuredAmount" xlink:label="us-gaap_CashUninsuredAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioAdjustmentMember" xlink:label="us-gaap_ScenarioAdjustmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="us-gaap_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:to="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:to="ufpt_ReclassificationOfDeferredRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:to="us-gaap_AdjustmentsForErrorCorrectionDomain-default" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementScenarioAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ScenarioUnspecifiedDomain" xlink:to="us-gaap_ScenarioAdjustmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain-default" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashUninsuredAmount" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockSharesAcquired" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DeferredRevenueMember" xlink:label="ufpt_DeferredRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ReceivablesNetMember" xlink:label="ufpt_ReceivablesNetMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByAssetClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="ufpt_DeferredRevenueMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="ufpt_ReceivablesNetMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-3-supplemental-cash-flow-information-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_CashlessExerciseOfStockOptions" xlink:label="ufpt_CashlessExerciseOfStockOptions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_CashlessExerciseOfStockOptions" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-4-receivables-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-4-receivables-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-7-property-plant-and-equipment-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DepreciationAndAmortization" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-8-indebtedness-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.sec.gov/invest/2013/invest-2013-01-31.xsd#invest_DerivativeNotionalAmount" xlink:label="invest_DerivativeNotionalAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AmendedAndRestatedCreditAgreementMember" xlink:label="ufpt_AmendedAndRestatedCreditAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SubsidiaryGuarantorsMember" xlink:label="ufpt_SubsidiaryGuarantorsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:label="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_UnsecuredTermLoanMember" xlink:label="ufpt_UnsecuredTermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="us-gaap_DerivativeAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeGainOnDerivative" xlink:label="us-gaap_DerivativeGainOnDerivative" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeTermOfContract" xlink:label="us-gaap_DerivativeTermOfContract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StandbyLettersOfCreditMember" xlink:label="us-gaap_StandbyLettersOfCreditMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_PrimeRateMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="ufpt_SubsidiaryGuarantorsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="ufpt_AmendedAndRestatedCreditAgreementMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="ufpt_UnsecuredTermLoanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_StandbyLettersOfCreditMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherAssetsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="invest_DerivativeNotionalAmount" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeTermOfContract" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeFixedInterestRate" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeAssets" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeGainOnDerivative" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_OneStateJurisdictionMember" xlink:label="ufpt_OneStateJurisdictionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OpenTaxYear" xlink:label="us-gaap_OpenTaxYear" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioForecastMember" xlink:label="us-gaap_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="us-gaap_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="us-gaap_TaxCreditCarryforwardAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_TaxCreditCarryforwardAxis" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_TaxCreditCarryforwardAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TaxCreditCarryforwardNameDomain" xlink:to="ufpt_OneStateJurisdictionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_TaxCreditCarryforwardAxis" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementScenarioAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ScenarioUnspecifiedDomain" xlink:to="us-gaap_ScenarioForecastMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsNet" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TaxCreditCarryforwardAmount" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OpenTaxYear" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-11-net-income-per-share-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:label="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:label="ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants" xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative" xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation" xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice" xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForExercisePriceOfAwards" xlink:label="ufpt_SharesPaidForExercisePriceOfAwards" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice" xlink:label="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_The2003IncentivePlanMember" xlink:label="ufpt_The2003IncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="ufpt_The2003IncentivePlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_SharesPaidForExercisePriceOfAwards" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-13-preferred-stock-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PreferredSharePurchaseRightMember" xlink:label="ufpt_PreferredSharePurchaseRightMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding" xlink:label="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:label="ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis" xlink:label="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="ufpt_PreferredSharePurchaseRightMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-14-supplemental-retirement-benefits-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:label="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-15-commitments-and-contingencies-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseAndRentalExpense" xlink:label="us-gaap_LeaseAndRentalExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseAndRentalExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-16-employee-benefit-plans-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount" xlink:label="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:label="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent" xlink:label="us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanCostRecognized" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-18-segment-data-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfOperatingSegments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-20-plant-consolidation-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:label="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_LeaseTerminationMember" xlink:label="ufpt_LeaseTerminationMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_MovingAndVacatingExpenseMember" xlink:label="ufpt_MovingAndVacatingExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NewburyportMassachusettsFacilityMember" xlink:label="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringAndRelatedCostExpectedCost1" xlink:label="us-gaap_RestructuringAndRelatedCostExpectedCost1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="ufpt_MovingAndVacatingExpenseMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="ufpt_LeaseTerminationMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestructuringCharges" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestructuringAndRelatedCostExpectedCost1" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsForRestructuring" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-21-material-overcharge-settlement-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:label="ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LitigationSettlementAmountAwardedFromOtherParty" xlink:label="us-gaap_LitigationSettlementAmountAwardedFromOtherParty" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_LitigationCaseAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LitigationSettlementAmountAwardedFromOtherParty" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DielectricsMember" xlink:label="ufpt_DielectricsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NumberOfLeaseTermOptions" xlink:label="ufpt_NumberOfLeaseTermOptions" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeAxis" xlink:label="us-gaap_LeaseArrangementTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseArrangementTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseArrangementTypeDomain" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_NumberOfLeaseTermOptions" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_FurnitureFixturesAndComputersMember" xlink:label="ufpt_FurnitureFixturesAndComputersMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:label="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="ufpt_FurnitureFixturesAndComputersMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-longterm-debt-details" xlink:href="ufpt-20181231.xsd#statement-note-8-indebtedness-longterm-debt-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_TermLoanMember" xlink:label="ufpt_TermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="ufpt_TermLoanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:href="ufpt-20181231.xsd#statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:href="ufpt-20181231.xsd#statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DielectricsMember" xlink:label="ufpt_DielectricsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_TradeNameAndBrandMember" xlink:label="ufpt_TradeNameAndBrandMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CustomerListsMember" xlink:label="us-gaap_CustomerListsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerListsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="ufpt_TradeNameAndBrandMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashAcquiredFromAcquisition" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:href="ufpt-20181231.xsd#statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-cash-flows" xlink:href="ufpt-20181231.xsd#statement-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ProceedsFromStockOptionsExercisedNet" xlink:label="ufpt_ProceedsFromStockOptionsExercisedNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="us-gaap_IncreaseDecreaseInReceivables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnDispositionOfAssets" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInReceivables" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="ufpt_ProceedsFromStockOptionsExercisedNet" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-contract-liabilities-details" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition-contract-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-contract-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" xlink:label="ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables-receivables-details" xlink:href="ufpt-20181231.xsd#statement-note-4-receivables-receivables-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-4-receivables-receivables-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableGrossCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ReceivablesNetCurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-5-inventories-summary-of-inventory-details" xlink:href="ufpt-20181231.xsd#statement-note-5-inventories-summary-of-inventory-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-5-inventories-summary-of-inventory-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_TradeNameAndBrandMember" xlink:label="ufpt_TradeNameAndBrandMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CustomerListsMember" xlink:label="us-gaap_CustomerListsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="ufpt_TradeNameAndBrandMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerListsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:href="ufpt-20181231.xsd#statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_FurnitureFixturesAndComputersMember" xlink:label="ufpt_FurnitureFixturesAndComputersMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LandAndLandImprovementsMember" xlink:label="us-gaap_LandAndLandImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandAndLandImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="ufpt_FurnitureFixturesAndComputersMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ConstructionInProgressMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-accrued-expenses-details" xlink:href="ufpt-20181231.xsd#statement-note-9-accrued-expenses-accrued-expenses-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-accrued-expenses-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="us-gaap_AccruedSalesCommissionCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedVacationCurrent" xlink:label="us-gaap_AccruedVacationCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SelfInsuranceReserveCurrent" xlink:label="us-gaap_SelfInsuranceReserveCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedSalariesCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SelfInsuranceReserveCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedVacationCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedSalesCommissionCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:href="ufpt-20181231.xsd#statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:href="ufpt-20181231.xsd#statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="us-gaap_DerivativeAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeAssets" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets" xlink:href="ufpt-20181231.xsd#statement-consolidated-balance-sheets" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:label="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredCompensationPlanAssets" xlink:label="us-gaap_DeferredCompensationPlanAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_ReceivablesNetCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IncomeTaxesReceivable" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DeferredCompensationPlanAssets" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Assets" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_TreasuryStockValue" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-income" xlink:href="ufpt-20181231.xsd#statement-consolidated-statements-of-income" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-income" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossRelatedToLitigationSettlement" xlink:label="us-gaap_GainLossRelatedToLitigationSettlement" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestructuringCharges" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainLossRelatedToLitigationSettlement" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InvestmentIncomeInterest" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:label="us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:to="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:to="us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EngineeringAndDevelopmentMember" xlink:label="ufpt_EngineeringAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ToolingAndMachineryMember" xlink:label="ufpt_ToolingAndMachineryMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ProductMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="ufpt_ToolingAndMachineryMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ProductsAndServicesDomain" xlink:to="ufpt_EngineeringAndDevelopmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-provision-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-income-tax-provision-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-provision-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:label="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:label="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsInventory" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsGross" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-net-sales-by-market-details" xlink:href="ufpt-20181231.xsd#statement-note-18-segment-data-net-sales-by-market-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-net-sales-by-market-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AerospaceDefenseMember" xlink:label="ufpt_AerospaceDefenseMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AutomotiveMember" xlink:label="ufpt_AutomotiveMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ConsumerMember" xlink:label="ufpt_ConsumerMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ElectronicsMember" xlink:label="ufpt_ElectronicsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_IndustrialMember" xlink:label="ufpt_IndustrialMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_MedicalMember" xlink:label="ufpt_MedicalMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" xlink:label="ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="ufpt_MedicalMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="ufpt_ConsumerMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="ufpt_AutomotiveMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="ufpt_AerospaceDefenseMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="ufpt_ElectronicsMember" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="ufpt_IndustrialMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-restructuring-costs-details" xlink:href="ufpt-20181231.xsd#statement-note-20-plant-consolidation-restructuring-costs-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-restructuring-costs-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NewburyportMassachusettsFacilityMember" xlink:label="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessExitCosts1" xlink:label="us-gaap_BusinessExitCosts1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessExitCosts1" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestructuringCosts" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DielectricsMember" xlink:label="ufpt_DielectricsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax" xlink:label="us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-stockholders-equity" xlink:href="ufpt-20181231.xsd#statement-consolidated-statements-of-stockholders-equity" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-stockholders-equity" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:href="ufpt-20181231.xsd#statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestPaidNet" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxesPaidNet" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="arc"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>11
<FILENAME>ufpt-20181231_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:23AM UTC 2019-03-15--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DocumentAndEntityInformation" xlink:label="ufpt_DocumentAndEntityInformation" xlink:type="locator"/>
    <link:label xlink:label="ufpt_DocumentAndEntityInformation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document And Entity Information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_DocumentAndEntityInformation" xlink:to="ufpt_DocumentAndEntityInformation-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:label xlink:label="ufpt_NoteToFinancialStatementDetailsTextual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note To Financial Statement Details Textual</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="ufpt_NoteToFinancialStatementDetailsTextual-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Intangible assets</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-significant-accounting-policies-policies" xlink:label="ufpt_statement-statement-significant-accounting-policies-policies" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-significant-accounting-policies-policies-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-significant-accounting-policies-policies" xlink:to="ufpt_statement-statement-significant-accounting-policies-policies-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-tables" xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 1 - Summary of Significant Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-tables" xlink:to="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-2-revenue-recognition-tables" xlink:label="ufpt_statement-statement-note-2-revenue-recognition-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-2-revenue-recognition-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Revenue Recognition</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-2-revenue-recognition-tables" xlink:to="ufpt_statement-statement-note-2-revenue-recognition-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Risk-free interest rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-3-supplemental-cash-flow-information-tables" xlink:label="ufpt_statement-statement-note-3-supplemental-cash-flow-information-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-3-supplemental-cash-flow-information-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Supplemental Cash Flow Information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-3-supplemental-cash-flow-information-tables" xlink:to="ufpt_statement-statement-note-3-supplemental-cash-flow-information-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-4-receivables-tables" xlink:label="ufpt_statement-statement-note-4-receivables-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-4-receivables-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Receivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-4-receivables-tables" xlink:to="ufpt_statement-statement-note-4-receivables-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeGainOnDerivative" xlink:label="us-gaap_DerivativeGainOnDerivative" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeGainOnDerivative-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DerivativeGainOnDerivative</link:label>
    <link:label xlink:label="us-gaap_DerivativeGainOnDerivative-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, Gain on Derivative</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeGainOnDerivative" xlink:to="us-gaap_DerivativeGainOnDerivative-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-5-inventories-tables" xlink:label="ufpt_statement-statement-note-5-inventories-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-5-inventories-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-5-inventories-tables" xlink:to="ufpt_statement-statement-note-5-inventories-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-6-other-intangible-assets-tables" xlink:label="ufpt_statement-statement-note-6-other-intangible-assets-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-6-other-intangible-assets-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Other Intangible Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-6-other-intangible-assets-tables" xlink:to="ufpt_statement-statement-note-6-other-intangible-assets-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-7-property-plant-and-equipment-tables" xlink:label="ufpt_statement-statement-note-7-property-plant-and-equipment-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-7-property-plant-and-equipment-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-7-property-plant-and-equipment-tables" xlink:to="ufpt_statement-statement-note-7-property-plant-and-equipment-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-8-indebtedness-tables" xlink:label="ufpt_statement-statement-note-8-indebtedness-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-8-indebtedness-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Indebtedness</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-8-indebtedness-tables" xlink:to="ufpt_statement-statement-note-8-indebtedness-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-9-accrued-expenses-tables" xlink:label="ufpt_statement-statement-note-9-accrued-expenses-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-9-accrued-expenses-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Accrued Expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-9-accrued-expenses-tables" xlink:to="ufpt_statement-statement-note-9-accrued-expenses-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-10-income-taxes-tables" xlink:label="ufpt_statement-statement-note-10-income-taxes-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-10-income-taxes-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Income Taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-10-income-taxes-tables" xlink:to="ufpt_statement-statement-note-10-income-taxes-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-11-net-income-per-share-tables" xlink:label="ufpt_statement-statement-note-11-net-income-per-share-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-11-net-income-per-share-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Net Income Per Share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-11-net-income-per-share-tables" xlink:to="ufpt_statement-statement-note-11-net-income-per-share-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SelfInsuranceReserveCurrent" xlink:label="us-gaap_SelfInsuranceReserveCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SelfInsuranceReserveCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Benefits / self-insurance reserve</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SelfInsuranceReserveCurrent" xlink:to="us-gaap_SelfInsuranceReserveCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Stock Option and Equity Incentive Plans</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:to="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expected volatility</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-15-commitments-and-contingencies-tables" xlink:label="ufpt_statement-statement-note-15-commitments-and-contingencies-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-15-commitments-and-contingencies-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Commitments and Contingencies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-15-commitments-and-contingencies-tables" xlink:to="ufpt_statement-statement-note-15-commitments-and-contingencies-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesCurrent</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-17-fair-value-of-financial-instruments-tables" xlink:label="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Fair Value of Financial Instruments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-tables" xlink:to="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-18-segment-data-tables" xlink:label="ufpt_statement-statement-note-18-segment-data-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-18-segment-data-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 18 - Segment Data</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-18-segment-data-tables" xlink:to="ufpt_statement-statement-note-18-segment-data-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:label="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 19 - Quarterly Financial Information (Unaudited)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:to="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-20-plant-consolidation-tables" xlink:label="ufpt_statement-statement-note-20-plant-consolidation-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-20-plant-consolidation-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 20 - Plant Consolidation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-20-plant-consolidation-tables" xlink:to="ufpt_statement-statement-note-20-plant-consolidation-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expected term (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-22-acquisition-tables" xlink:label="ufpt_statement-statement-note-22-acquisition-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-22-acquisition-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 22 - Acquisition</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-22-acquisition-tables" xlink:to="ufpt_statement-statement-note-22-acquisition-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:label="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule II - Valuation and Qualifying Accounts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:to="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:to="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationConsiderationTransferred1</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total consideration</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 1 - Summary of Significant Accounting Policies - Schedule of Goodwill (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:to="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 1 - Summary of Significant Accounting Policies - Compensation Cost Charged Against Income (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:to="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</link:label>
    <link:label xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 1 - Summary of Significant Accounting Policies - Fair Value Assumptions (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:to="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:label="ufpt_statement-statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-2-revenue-recognition-adoption-of-asc-606-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Revenue Recognition - Adoption of ASC 606 (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:to="ufpt_statement-statement-note-2-revenue-recognition-adoption-of-asc-606-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:label="ufpt_statement-statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Revenue Recognition - Revenue Disaggregated by the Major Types of Good and Services Sold (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:to="ufpt_statement-statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LitigationSettlementAmountAwardedFromOtherParty" xlink:label="us-gaap_LitigationSettlementAmountAwardedFromOtherParty" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LitigationSettlementAmountAwardedFromOtherParty-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LitigationSettlementAmountAwardedFromOtherParty</link:label>
    <link:label xlink:label="us-gaap_LitigationSettlementAmountAwardedFromOtherParty-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Litigation Settlement, Amount Awarded from Other Party</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LitigationSettlementAmountAwardedFromOtherParty" xlink:to="us-gaap_LitigationSettlementAmountAwardedFromOtherParty-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-2-revenue-recognition-contract-liabilities-details" xlink:label="ufpt_statement-statement-note-2-revenue-recognition-contract-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-2-revenue-recognition-contract-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 2 - Revenue Recognition - Contract Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-2-revenue-recognition-contract-liabilities-details" xlink:to="ufpt_statement-statement-note-2-revenue-recognition-contract-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:label="ufpt_statement-statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:to="ufpt_statement-statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Stock Options, Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-4-receivables-receivables-details" xlink:label="ufpt_statement-statement-note-4-receivables-receivables-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-4-receivables-receivables-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Receivables - Receivables (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-4-receivables-receivables-details" xlink:to="ufpt_statement-statement-note-4-receivables-receivables-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-5-inventories-summary-of-inventory-details" xlink:label="ufpt_statement-statement-note-5-inventories-summary-of-inventory-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-5-inventories-summary-of-inventory-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Inventories - Summary of Inventory (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-5-inventories-summary-of-inventory-details" xlink:to="ufpt_statement-statement-note-5-inventories-summary-of-inventory-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Awarded, weighted average award date fair value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:label="ufpt_statement-statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-6-other-intangible-assets-definitelived-intangible-assets-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Other Intangible Assets - Definite-lived Intangible Assets (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:to="ufpt_statement-statement-note-6-other-intangible-assets-definitelived-intangible-assets-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Percentage of Voting Interests Acquired</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:label="ufpt_statement-statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Other Intangible Assets - Future Amortization of Intangible Assets (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:to="ufpt_statement-statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shares vested (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:label="ufpt_statement-statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Property, Plant, and Equipment - Property, Plant, and Equipment (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:to="ufpt_statement-statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-8-indebtedness-longterm-debt-details" xlink:label="ufpt_statement-statement-note-8-indebtedness-longterm-debt-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-8-indebtedness-longterm-debt-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 8 - Indebtedness - Long-term Debt (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-8-indebtedness-longterm-debt-details" xlink:to="ufpt_statement-statement-note-8-indebtedness-longterm-debt-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average award date fair value (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average award date fair value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-9-accrued-expenses-accrued-expenses-details" xlink:label="ufpt_statement-statement-note-9-accrued-expenses-accrued-expenses-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-9-accrued-expenses-accrued-expenses-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Accrued Expenses - Accrued Expenses (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-9-accrued-expenses-accrued-expenses-details" xlink:to="ufpt_statement-statement-note-9-accrued-expenses-accrued-expenses-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-10-income-taxes-income-tax-provision-details" xlink:label="ufpt_statement-statement-note-10-income-taxes-income-tax-provision-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-10-income-taxes-income-tax-provision-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Income Taxes - Income Tax Provision (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-10-income-taxes-income-tax-provision-details" xlink:to="ufpt_statement-statement-note-10-income-taxes-income-tax-provision-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:label="ufpt_statement-statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Income Taxes - Deferred Tax Assets and Liabilities (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:to="ufpt_statement-statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeTermOfContract" xlink:label="us-gaap_DerivativeTermOfContract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DerivativeTermOfContract</link:label>
    <link:label xlink:label="us-gaap_DerivativeTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, Term of Contract</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeTermOfContract" xlink:to="us-gaap_DerivativeTermOfContract-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:label="ufpt_statement-statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-10-income-taxes-income-tax-rate-reconciliation-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Income Taxes - Income Tax Rate Reconciliation (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:to="ufpt_statement-statement-note-10-income-taxes-income-tax-rate-reconciliation-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:label="ufpt_statement-statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-10-income-taxes-unrecognized-tax-benefits-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 10 - Income Taxes - Unrecognized Tax Benefits (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:to="ufpt_statement-statement-note-10-income-taxes-unrecognized-tax-benefits-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:label="ufpt_statement-statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:to="ufpt_statement-statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Awarded (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Stock Option and Equity Incentive Plans - Compensation Cost (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:to="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Shares vested (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Stock Option and Equity Incentive Plans - Summary of Stock Option Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:to="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Stock Option and Equity Incentive Plans - Restricted Stock Unit Activity (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:to="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, weighted average remaining contractual life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 12 - Stock Option and Equity Incentive Plans - Future Share-based Compensation Expense (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:to="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current installments of long-term debt</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtCurrent-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Current portion</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:label="ufpt_statement-statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 15 - Commitments and Contingencies - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:to="ufpt_statement-statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:label="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 17 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:to="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-18-segment-data-net-sales-by-market-details" xlink:label="ufpt_statement-statement-note-18-segment-data-net-sales-by-market-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-18-segment-data-net-sales-by-market-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 18 - Segment Data - Net Sales by Market (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-18-segment-data-net-sales-by-market-details" xlink:to="ufpt_statement-statement-note-18-segment-data-net-sales-by-market-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:label="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 19 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:to="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vested and expected to vest (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-20-plant-consolidation-restructuring-costs-details" xlink:label="ufpt_statement-statement-note-20-plant-consolidation-restructuring-costs-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-20-plant-consolidation-restructuring-costs-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 20 - Plant Consolidation - Restructuring Costs (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-20-plant-consolidation-restructuring-costs-details" xlink:to="ufpt_statement-statement-note-20-plant-consolidation-restructuring-costs-details-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:label="ufpt_statement-statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 22 - Acquisition - Assets Acquires and Liabilities Assumed (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:to="ufpt_statement-statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vested and expected to vest, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:label="ufpt_statement-statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-note-22-acquisition-pro-forma-information-unaudited-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 22 - Acquisition - Pro Forma Information (Unaudited) (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:to="ufpt_statement-statement-note-22-acquisition-pro-forma-information-unaudited-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax" xlink:label="us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax" xlink:to="us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:label="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:type="locator"/>
    <link:label xlink:label="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule II - Valuation and Qualifying Accounts (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:to="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-details-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, weighted average remaining contractual life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net Income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercisable, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatements" xlink:label="ufpt_NotesToFinancialStatements" xlink:type="locator"/>
    <link:label xlink:label="ufpt_NotesToFinancialStatements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_NotesToFinancialStatements" xlink:to="ufpt_NotesToFinancialStatements-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:label xlink:label="ufpt_NotesToFinancialStatementsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="ufpt_NotesToFinancialStatementsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:label="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Goodwill, Expected Tax Deductible Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:to="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Pro Forma Information [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessAcquisitionsProFormaRevenue</link:label>
    <link:label xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sales</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average remaining contractual life (Year)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding, aggregate intrinsic value</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted-average grant-date fair value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average exercise price (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred revenue</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfGoodwillTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercised, weighted average exercise price (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label xlink:label="us-gaap_AccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued Liabilities, Current, Total</link:label>
    <link:label xlink:label="us-gaap_AccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevolvingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding (in shares)</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetirementPlanTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Plan Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetirementPlanTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Plan Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanTypeDomain" xlink:to="us-gaap_RetirementPlanTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Capital additions accrued but not yet paid</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CreditFacilityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from sale of property, plant and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CreditFacilityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:label="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Supplemental Employee Retirement Plan [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:to="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OtherAccruedLiabilitiesCurrent</link:label>
    <link:label xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedSalariesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedSalariesCurrent" xlink:to="us-gaap_AccruedSalariesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PolicyTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_PolicyTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedVacationCurrent" xlink:label="us-gaap_AccruedVacationCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedVacationCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Paid time off</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedVacationCurrent" xlink:to="us-gaap_AccruedVacationCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="us-gaap_AccruedSalesCommissionCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccruedSalesCommissionCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commissions payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedSalesCommissionCurrent" xlink:to="us-gaap_AccruedSalesCommissionCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Additions to property, plant and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted average common equivalent shares due to stock options and restricted stock units (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-cash investing and financing activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted average common shares outstanding:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NoncompeteAgreementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncompete Agreements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxesPaidNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income taxes, net of refunds</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current liabilities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductMember" xlink:to="us-gaap_ProductMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Assets</link:label>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PlanNameAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Compensation and Employee Benefit Plans [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CustomerListsMember" xlink:label="us-gaap_CustomerListsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CustomerListsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Lists [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerListsMember" xlink:to="us-gaap_CustomerListsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Tax Benefit from Compensation Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LegalMattersAndContingenciesTextBlock" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Matters and Contingencies [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disclosure of Compensation Related Costs, Share-based Payments [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Net share settlement of restricted stock units and stock option tax withholding</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments for Error Corrections [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments for Error Correction [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:to="us-gaap_AdjustmentsForErrorCorrectionDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Award [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AwardTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net income from consolidated operations</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net Income (Loss) Attributable to Parent, Total</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accumulated amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsNet</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net balance</link:label>
    <link:label xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Intangible assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StandbyLettersOfCreditMember" xlink:label="us-gaap_StandbyLettersOfCreditMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StandbyLettersOfCreditMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standby Letters of Credit [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandbyLettersOfCreditMember" xlink:to="us-gaap_StandbyLettersOfCreditMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedStockUnitsRSUMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gross amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeStockOptionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Stock Option [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillAcquiredDuringPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquired in Dielectrics business combination (See Note 22)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less accumulated depreciation and amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net property, plant and equipment</link:label>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net property, plant and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:label="us-gaap_Goodwill-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, plant, and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Calculated under Revenue Guidance in Effect before Topic 606 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:to="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ProceedsFromStockOptionsExercisedNet" xlink:label="ufpt_ProceedsFromStockOptionsExercisedNet" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ProceedsFromStockOptionsExercisedNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from the exercise of stock options, net of shares presented for exercise</link:label>
    <link:label xlink:label="ufpt_ProceedsFromStockOptionsExercisedNet-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The cash inflow associated with the amount received from holders exercising their stock options, net of attestation.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ProceedsFromStockOptionsExercisedNet" xlink:to="ufpt_ProceedsFromStockOptionsExercisedNet-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_The2003IncentivePlanMember" xlink:label="ufpt_The2003IncentivePlanMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_The2003IncentivePlanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">The 2003 Incentive Plan [Member]</link:label>
    <link:label xlink:label="ufpt_The2003IncentivePlanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the reporting entity's "2003 Incentive Plan."</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_The2003IncentivePlanMember" xlink:to="ufpt_The2003IncentivePlanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation" xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation</link:label>
    <link:label xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares Paid for Exercise Price and Tax Withholding for Share Based Compensation</link:label>
    <link:label xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the number of shares the employees use to repay the employer for the exercise price and income tax withholding obligations.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation" xlink:to="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="us-gaap_DerivativeAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative financial instruments</link:label>
    <link:label xlink:label="us-gaap_DerivativeAssets-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Asset, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeAssets" xlink:to="us-gaap_DerivativeAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice" xlink:label="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice" xlink:type="locator"/>
    <link:label xlink:label="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice</link:label>
    <link:label xlink:label="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares Paid for Tax Withholding for Share Based Compensation Market Price</link:label>
    <link:label xlink:label="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">For net-share settlement of share-based awards when the employer settles employees' income tax withholding obligations, this element represents the market price per share of shares used by the employees to repay the employer.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice" xlink:to="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee and Nonemployee Stock Option [Member]</link:label>
    <link:label xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Contract that gives the holder the right, but not the obligation, either to purchase or to sell a certain number of shares of stock at a predetermined price for a specified period of time.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PlantConsolidationDisclosureTextBlock" xlink:label="ufpt_PlantConsolidationDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="ufpt_PlantConsolidationDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plant Consolidation Disclosure [Text Block]</link:label>
    <link:label xlink:label="ufpt_PlantConsolidationDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The entire disclosure for plant consolidation consisting of restructuring and consolidation of plant facilities of the entity.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_PlantConsolidationDisclosureTextBlock" xlink:to="ufpt_PlantConsolidationDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding" xlink:label="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding" xlink:type="locator"/>
    <link:label xlink:label="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding</link:label>
    <link:label xlink:label="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Preferred Stock Dividends Number of Preferred Share Purchase Rights Distributed for each Share of Common Stock Outstanding</link:label>
    <link:label xlink:label="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the number of preferred share purchase rights declared as dividend for each outstanding share of common stock on March, 2009.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding" xlink:to="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_MedicalMember" xlink:label="ufpt_MedicalMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_MedicalMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Medical [Member]</link:label>
    <link:label xlink:label="ufpt_MedicalMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to the Medical group of major customers.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_MedicalMember" xlink:to="ufpt_MedicalMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeInstrumentRiskAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:label="ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_SeriesAJuniorParticipatingPreferredStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Series A Junior Participating Preferred Stock [Member]</link:label>
    <link:label xlink:label="ufpt_SeriesAJuniorParticipatingPreferredStockMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the "Series A Junior Participating Preferred Stock," which is a classification of auction market preferred securities.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:to="ufpt_SeriesAJuniorParticipatingPreferredStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeContractTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ConsumerMember" xlink:label="ufpt_ConsumerMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ConsumerMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Consumer [Member]</link:label>
    <link:label xlink:label="ufpt_ConsumerMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to the Consumer group of major customers.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ConsumerMember" xlink:to="ufpt_ConsumerMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AutomotiveMember" xlink:label="ufpt_AutomotiveMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_AutomotiveMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Automotive [Member]</link:label>
    <link:label xlink:label="ufpt_AutomotiveMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to the Automotive group of major customers.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_AutomotiveMember" xlink:to="ufpt_AutomotiveMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_IndustrialMember" xlink:label="ufpt_IndustrialMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_IndustrialMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Industrial [Member]</link:label>
    <link:label xlink:label="ufpt_IndustrialMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to the Industrial group of major customers.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_IndustrialMember" xlink:to="ufpt_IndustrialMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ElectronicsMember" xlink:label="ufpt_ElectronicsMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ElectronicsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Electronics [Member]</link:label>
    <link:label xlink:label="ufpt_ElectronicsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to the Electronics group of major customers.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ElectronicsMember" xlink:to="ufpt_ElectronicsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AerospaceDefenseMember" xlink:label="ufpt_AerospaceDefenseMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_AerospaceDefenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Aerospace &amp; Defense [Member]</link:label>
    <link:label xlink:label="ufpt_AerospaceDefenseMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information pertaining to the Aerospace &amp; Defense group of major customers.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_AerospaceDefenseMember" xlink:to="ufpt_AerospaceDefenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:label="ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Estimated Useful Lives [Table Text Block]</link:label>
    <link:label xlink:label="ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of the estimated useful lives of property, plant and equipment held by the company.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:to="ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net income per common share outstanding:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-qualified deferred compensation plan and other liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:label="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Severance Payments and Relocation Costs [Member]</link:label>
    <link:label xlink:label="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents restructuring costs related to employee severance payments and relocation costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:to="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NewburyportMassachusettsFacilityMember" xlink:label="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_NewburyportMassachusettsFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Newburyport, Massachusetts Facility [Member]</link:label>
    <link:label xlink:label="ufpt_NewburyportMassachusettsFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the facility located in Newburyport, Massachusetts.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_NewburyportMassachusettsFacilityMember" xlink:to="ufpt_NewburyportMassachusettsFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_LeaseTerminationMember" xlink:label="ufpt_LeaseTerminationMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_LeaseTerminationMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease Termination [Member]</link:label>
    <link:label xlink:label="ufpt_LeaseTerminationMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents restructuring costs related to the lease termination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_LeaseTerminationMember" xlink:to="ufpt_LeaseTerminationMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:type="locator"/>
    <link:label xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Excess tax benefits on equity awards</link:label>
    <link:label xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to the tax benefit from equity-based compensation costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:to="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_MovingAndVacatingExpenseMember" xlink:label="ufpt_MovingAndVacatingExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_MovingAndVacatingExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Moving and Vacating Expense [Member]</link:label>
    <link:label xlink:label="ufpt_MovingAndVacatingExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the restructuring costs related to moving and vacating expenses.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_MovingAndVacatingExpenseMember" xlink:to="ufpt_MovingAndVacatingExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DielectricsMember" xlink:label="ufpt_DielectricsMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_DielectricsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dielectrics [Member]</link:label>
    <link:label xlink:label="ufpt_DielectricsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the entity Dielectrics.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_DielectricsMember" xlink:to="ufpt_DielectricsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccruedLiabilities</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income tax expense</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total income tax provision</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_CashlessExerciseOfStockOptions" xlink:label="ufpt_CashlessExerciseOfStockOptions" xlink:type="locator"/>
    <link:label xlink:label="ufpt_CashlessExerciseOfStockOptions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_CashlessExerciseOfStockOptions</link:label>
    <link:label xlink:label="ufpt_CashlessExerciseOfStockOptions-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cashless Exercise of Stock Options</link:label>
    <link:label xlink:label="ufpt_CashlessExerciseOfStockOptions-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the value of shares surrendered to pay for the strike price of the options exercised.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_CashlessExerciseOfStockOptions" xlink:to="ufpt_CashlessExerciseOfStockOptions-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AmendedAndRestatedCreditAgreementMember" xlink:label="ufpt_AmendedAndRestatedCreditAgreementMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_AmendedAndRestatedCreditAgreementMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amended and Restated Credit Agreement [Member]</link:label>
    <link:label xlink:label="ufpt_AmendedAndRestatedCreditAgreementMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the amended and restated credit agreement.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_AmendedAndRestatedCreditAgreementMember" xlink:to="ufpt_AmendedAndRestatedCreditAgreementMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_UnsecuredTermLoanMember" xlink:label="ufpt_UnsecuredTermLoanMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_UnsecuredTermLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unsecured Term Loan [Member]</link:label>
    <link:label xlink:label="ufpt_UnsecuredTermLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the unsecured term loan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_UnsecuredTermLoanMember" xlink:to="ufpt_UnsecuredTermLoanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:label="ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_PolyurethaneFoamAntitrustLawsuitMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Polyurethane Foam Antitrust Lawsuit [Member]</link:label>
    <link:label xlink:label="ufpt_PolyurethaneFoamAntitrustLawsuitMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the defendant in a class action lawsuit against a number of polyurethane foam suppliers.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:to="ufpt_PolyurethaneFoamAntitrustLawsuitMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SubsidiaryGuarantorsMember" xlink:label="ufpt_SubsidiaryGuarantorsMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_SubsidiaryGuarantorsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsidiary Guarantors [Member]</link:label>
    <link:label xlink:label="ufpt_SubsidiaryGuarantorsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the subsidiary guarantors granting the credit agreement to the company.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_SubsidiaryGuarantorsMember" xlink:to="ufpt_SubsidiaryGuarantorsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_FurnitureFixturesAndComputersMember" xlink:label="ufpt_FurnitureFixturesAndComputersMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_FurnitureFixturesAndComputersMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Furniture, Fixtures, and Computers [Member]</link:label>
    <link:label xlink:label="ufpt_FurnitureFixturesAndComputersMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities and long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_FurnitureFixturesAndComputersMember" xlink:to="ufpt_FurnitureFixturesAndComputersMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" xlink:label="ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share Based Compensation Allocation of Recognized Period Costs, By Award Type [Table Text Block]</link:label>
    <link:label xlink:label="ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed. The amounts are aggregated by award type.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" xlink:to="ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:label="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_UnsecuredRevolvingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unsecured Revolving Credit Facility [Member]</link:label>
    <link:label xlink:label="ufpt_UnsecuredRevolvingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the unsecured revolving credit facility.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:to="ufpt_UnsecuredRevolvingCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsPayable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:label="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_AggregateDeferredTaxLiabilitiesNoncurrent</link:label>
    <link:label xlink:label="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent-label" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xml:lang="en-US">Net long-term deferred tax liabilities</link:label>
    <link:label xlink:label="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount, in aggregate, of the deferred tax liability attributable to taxable temporary differences, net of deferred tax asset attributable to deductible temporary differences and carryforwards net of valuation allowances</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:to="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:type="locator"/>
    <link:label xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized tax benefits</link:label>
    <link:label xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The portion of difference between the effective income tax rate and domestic federal statutory income tax rate attributable to the amount of unrecognized tax benefits under enacted tax laws.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:to="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:label="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:type="locator"/>
    <link:label xlink:label="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Compensation programs</link:label>
    <link:label xlink:label="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:to="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:label="ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_NonemployeeDirectorStockIncentivePlanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Nonemployee Director Stock Incentive Plan [Member]</link:label>
    <link:label xlink:label="ufpt_NonemployeeDirectorStockIncentivePlanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to the Non-Employee Director Stock Incentive Plan of the entity.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:to="ufpt_NonemployeeDirectorStockIncentivePlanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative" xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative</link:label>
    <link:label xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued, Accumulative</link:label>
    <link:label xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represent the number of shares issued under a share-based compensation plan since inception as of the balance sheet date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative" xlink:to="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants" xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants</link:label>
    <link:label xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants</link:label>
    <link:label xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Gross number of share options (or share units) granted since inception of the share-based compensation plan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants" xlink:to="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:label="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Chairman Chief Executive Officer and President [Member]</link:label>
    <link:label xlink:label="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the entity's Chairman, the highest ranking executive officer, who has an ultimate managerial responsibility for the entity and who reports to the board of directors and the first or second ranking officer who may be appointed by the board of directors.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:to="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" xlink:label="ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Future Share-based Compensation Expense [Table Text Block]</link:label>
    <link:label xlink:label="ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of the amount of future share-based compensation expense expected to be recorded in the succeeding fiscal years for equity securities granted.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" xlink:to="ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForExercisePriceOfAwards" xlink:label="ufpt_SharesPaidForExercisePriceOfAwards" xlink:type="locator"/>
    <link:label xlink:label="ufpt_SharesPaidForExercisePriceOfAwards-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_SharesPaidForExercisePriceOfAwards</link:label>
    <link:label xlink:label="ufpt_SharesPaidForExercisePriceOfAwards-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares Paid for Exercise Price of Awards</link:label>
    <link:label xlink:label="ufpt_SharesPaidForExercisePriceOfAwards-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the number of shares which the employees use to repay the employer for exercise price of awards.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_SharesPaidForExercisePriceOfAwards" xlink:to="ufpt_SharesPaidForExercisePriceOfAwards-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DefinedContributionPlanCostRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DefinedContributionPlanCostRecognized</link:label>
    <link:label xlink:label="us-gaap_DefinedContributionPlanCostRecognized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Cost</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanCostRecognized" xlink:to="us-gaap_DefinedContributionPlanCostRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice" xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice" xlink:type="locator"/>
    <link:label xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice</link:label>
    <link:label xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares Paid for Exercise Price and Tax Withholding for Share-based Compensation, Average Market Price</link:label>
    <link:label xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the average price per share used by the employees to repay the employer for the exercise price and income tax withholding obligations.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice" xlink:to="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" xlink:type="locator"/>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree</link:label>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2021</link:label>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the third fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" xlink:type="locator"/>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour</link:label>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2022</link:label>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the fourth fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths</link:label>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2019</link:label>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the next fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" xlink:type="locator"/>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo</link:label>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2020</link:label>
    <link:label xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the second fiscal year following the latest fiscal year.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SupplementalRetirementBenefitsDisclosureTextBlock" xlink:label="ufpt_SupplementalRetirementBenefitsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="ufpt_SupplementalRetirementBenefitsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Supplemental Retirement Benefits Disclosure [Text Block]</link:label>
    <link:label xlink:label="ufpt_SupplementalRetirementBenefitsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The entire disclosure for supplemental retirement benefits for certain retired officers.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_SupplementalRetirementBenefitsDisclosureTextBlock" xlink:to="ufpt_SupplementalRetirementBenefitsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount" xlink:label="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount" xlink:type="locator"/>
    <link:label xlink:label="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount</link:label>
    <link:label xlink:label="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Self-insured Health Insurance Program, Stop Loss Amount</link:label>
    <link:label xlink:label="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the amount of the stop loss per insured person under the partially self-insured health insurance program.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount" xlink:to="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseAndRentalExpense" xlink:label="us-gaap_LeaseAndRentalExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseAndRentalExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LeaseAndRentalExpense</link:label>
    <link:label xlink:label="us-gaap_LeaseAndRentalExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Leases, Rent Expense, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseAndRentalExpense" xlink:to="us-gaap_LeaseAndRentalExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashEquivalentsAtCarryingValue</link:label>
    <link:label xlink:label="us-gaap_CashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash Equivalents, at Carrying Value, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashEquivalentsAtCarryingValue-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" xlink:label="ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Summary of Allowance for Doubtful Accounts and Revenue Adjustments [Table Text Block]</link:label>
    <link:label xlink:label="ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of the allowance for doubtful accounts and revenue adjustments.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" xlink:to="ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at beginning of year</link:label>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at end of year</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based compensation expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PreferredSharePurchaseRightMember" xlink:label="ufpt_PreferredSharePurchaseRightMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_PreferredSharePurchaseRightMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred Share Purchase Right [Member]</link:label>
    <link:label xlink:label="ufpt_PreferredSharePurchaseRightMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the preferred share purchase right (the "Right"). Each Right entitles the registered holders to purchase from the Company one one-thousandth of a share of Series A Junior Participating Preferred Stock of the Company.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_PreferredSharePurchaseRightMember" xlink:to="ufpt_PreferredSharePurchaseRightMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:label xlink:label="dei_AmendmentFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Next Twelve Months</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UseOfEstimates-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockSharesAcquired-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TreasuryStockSharesAcquired</link:label>
    <link:label xlink:label="us-gaap_TreasuryStockSharesAcquired-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Treasury Stock, Shares, Acquired</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockSharesAcquired" xlink:to="us-gaap_TreasuryStockSharesAcquired-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</link:label>
    <link:label xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">(Gain) Loss on sales of property, plant and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharesOutstanding</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance (in shares)</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, shares outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOtherOperatingAssets</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_CurrentFiscalYearEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeAxis" xlink:label="us-gaap_LeaseArrangementTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseArrangementTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease Arrangement, Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentInterestRateEffectivePercentage</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Interest Rate, Effective Percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate</link:label>
    <link:label xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseArrangementTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease Arrangement, Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseArrangementTypeDomain" xlink:to="us-gaap_LeaseArrangementTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalPeriodFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalYearFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConsolidationPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentPeriodEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInPrepaidExpense</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityEmergingGrowthCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentFaceAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentFaceAmount</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentFaceAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Face Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentType-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:label xlink:label="dei_EntitySmallBusiness-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Small Business</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossRelatedToLitigationSettlement" xlink:label="us-gaap_GainLossRelatedToLitigationSettlement" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GainLossRelatedToLitigationSettlement-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GainLossRelatedToLitigationSettlement</link:label>
    <link:label xlink:label="us-gaap_GainLossRelatedToLitigationSettlement-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Material overcharge settlement</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossRelatedToLitigationSettlement" xlink:to="us-gaap_GainLossRelatedToLitigationSettlement-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityShellCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Shell Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityPublicFloat-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Public Float</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityFilerCategory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCurrentReportingStatus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestructuringCharges-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restructuring costs</link:label>
    <link:label xlink:label="us-gaap_RestructuringCharges-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restructuring Charges, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCharges" xlink:to="us-gaap_RestructuringCharges-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityVoluntaryFilers-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquisition costs</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Acquisition Related Costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityWellKnownSeasonedIssuer-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">London Interbank Offered Rate (LIBOR) [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessExitCosts1" xlink:label="us-gaap_BusinessExitCosts1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessExitCosts1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Relocation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessExitCosts1" xlink:to="us-gaap_BusinessExitCosts1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableRateDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PrimeRateMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prime Rate [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrimeRateMember" xlink:to="us-gaap_PrimeRateMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="us-gaap_IncreaseDecreaseInReceivables" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInReceivables</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInReceivables-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Receivables, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInReceivables" xlink:to="us-gaap_IncreaseDecreaseInReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Excess tax benefits on share-based compensation</link:label>
    <link:label xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustments to Additional Paid in Capital, Income Tax Benefit from Share-based Compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInIncomeTaxesReceivable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Refundable income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableRateAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Quarterly Financial Information [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCentralIndexKey-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DepreciationAndAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DepreciationAndAmortization</link:label>
    <link:label xlink:label="us-gaap_DepreciationAndAmortization-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation, Depletion and Amortization, Nonproduction, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityRegistrantName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_TermLoanMember" xlink:label="ufpt_TermLoanMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_TermLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Term Loan [Member]</link:label>
    <link:label xlink:label="ufpt_TermLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information relating to term loans.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_TermLoanMember" xlink:to="ufpt_TermLoanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:label xlink:label="dei_LegalEntityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AmortizationOfIntangibleAssets</link:label>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization of Intangible Assets, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TreasuryStockValue</link:label>
    <link:label xlink:label="us-gaap_TreasuryStockValue-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Treasury stock at cost, 29,559 shares at both December 31, 2018 and 2017</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInInventories</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:label xlink:label="dei_TradingSymbol-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost</link:label>
    <link:label xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GainLossOnDispositionOfAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GainLossOnDispositionOfAssets</link:label>
    <link:label xlink:label="us-gaap_GainLossOnDispositionOfAssets-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">(Gain) loss on sales of property, plant and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets" xlink:to="us-gaap_GainLossOnDispositionOfAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercise of stock options net of shares presented for exercise (in shares)</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Exercised (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TableTextBlock</link:label>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes Tables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_TableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</link:label>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Exercise of stock options net of shares presented for exercise</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Related Party [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RelatedPartyDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Related Party [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based compensation (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling, general, and administrative expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProvisionForDoubtfulAccounts</link:label>
    <link:label xlink:label="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Provision for Doubtful Accounts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based compensation</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Lender [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Raw materials</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lender Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesAndStockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities and stockholders' equity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashUninsuredAmount" xlink:label="us-gaap_CashUninsuredAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashUninsuredAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashUninsuredAmount</link:label>
    <link:label xlink:label="us-gaap_CashUninsuredAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash, Uninsured Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashUninsuredAmount" xlink:to="us-gaap_CashUninsuredAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finished goods</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Work in process</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained earnings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InterestExpense</link:label>
    <link:label xlink:label="us-gaap_InterestExpense-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Interest expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DisclosureTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes to Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent" xlink:label="us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent</link:label>
    <link:label xlink:label="us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Assets for Plan Benefits, Defined Benefit Plan</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent" xlink:to="us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseLiability</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseRightOfUseAsset</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EngineeringAndDevelopmentMember" xlink:label="ufpt_EngineeringAndDevelopmentMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_EngineeringAndDevelopmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Engineering and Development [Member]</link:label>
    <link:label xlink:label="ufpt_EngineeringAndDevelopmentMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the information pertaining to engineering and development.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_EngineeringAndDevelopmentMember" xlink:to="ufpt_EngineeringAndDevelopmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ToolingAndMachineryMember" xlink:label="ufpt_ToolingAndMachineryMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ToolingAndMachineryMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tooling and Machinery [Member]</link:label>
    <link:label xlink:label="ufpt_ToolingAndMachineryMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining to tooling and machinery.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ToolingAndMachineryMember" xlink:to="ufpt_ToolingAndMachineryMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredIncomeTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Thereafter</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ReclassificationOfDeferredRevenueMember" xlink:label="ufpt_ReclassificationOfDeferredRevenueMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ReclassificationOfDeferredRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Reclassification of Deferred Revenue [Member]</link:label>
    <link:label xlink:label="ufpt_ReclassificationOfDeferredRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the information pertaining to the reclassification of deferred revenue.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ReclassificationOfDeferredRevenueMember" xlink:to="ufpt_ReclassificationOfDeferredRevenueMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Measurement, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2020</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value of Financial Instruments, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2021</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" xlink:label="ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increases due to consideration received from customers</link:label>
    <link:label xlink:label="ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of increase in obligation to transfer good or service to customer for which consideration from customer has been received.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" xlink:to="ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2022</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ReceivablesNetMember" xlink:label="ufpt_ReceivablesNetMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ReceivablesNetMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Receivables, Net [Member]</link:label>
    <link:label xlink:label="ufpt_ReceivablesNetMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Primary financial statement caption encompassing receivables, net.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ReceivablesNetMember" xlink:to="ufpt_ReceivablesNetMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment Reporting, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsForRestructuring-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsForRestructuring</link:label>
    <link:label xlink:label="us-gaap_PaymentsForRestructuring-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payments for Restructuring</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRestructuring" xlink:to="us-gaap_PaymentsForRestructuring-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2019</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestructuringCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RestructuringCosts</link:label>
    <link:label xlink:label="us-gaap_RestructuringCosts-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total restructuring costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCosts" xlink:to="us-gaap_RestructuringCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities</link:label>
    <link:label xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Excess tax benefits on share-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="locator"/>
    <link:label xlink:label="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Working capital adjustment</link:label>
    <link:label xlink:label="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Combination, Consideration Transferred, Working Capital Adjustment</link:label>
    <link:label xlink:label="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The amount of adjustment to working capital in a business combination.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:to="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:type="locator"/>
    <link:label xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities</link:label>
    <link:label xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of accrued liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:to="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_TradeNameAndBrandMember" xlink:label="ufpt_TradeNameAndBrandMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_TradeNameAndBrandMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trade Name and Brand [Member]</link:label>
    <link:label xlink:label="ufpt_TradeNameAndBrandMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Rights acquired through registration of a business name to gain or protect exclusive use thereof and the brand of the business.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_TradeNameAndBrandMember" xlink:to="ufpt_TradeNameAndBrandMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Share-based compensation</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAssetsNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FiniteLivedIntangibleAssetUsefulLife</link:label>
    <link:label xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DeferredRevenueMember" xlink:label="ufpt_DeferredRevenueMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_DeferredRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Revenue [Member]</link:label>
    <link:label xlink:label="ufpt_DeferredRevenueMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_DeferredRevenueMember" xlink:to="ufpt_DeferredRevenueMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseTermOfContract</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Term of Contract</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DepreciationDepletionAndAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net share settlement of restricted stock units and stock option tax withholding (in shares)</link:label>
    <link:label xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares Paid for Tax Withholding for Share Based Compensation</link:label>
    <link:label xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Net share settlement of restricted stock units and stock option tax withholding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ShippingAndHandlingCostsPolicyTextBlock" xlink:label="ufpt_ShippingAndHandlingCostsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="ufpt_ShippingAndHandlingCostsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shipping and Handling Costs [Policy Text Block]</link:label>
    <link:label xlink:label="ufpt_ShippingAndHandlingCostsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_ShippingAndHandlingCostsPolicyTextBlock" xlink:to="ufpt_ShippingAndHandlingCostsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AssetsCurrent</link:label>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxesReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Refundable income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesReceivable" xlink:to="us-gaap_IncomeTaxesReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockShares-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Treasury stock, shares (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockShares" xlink:to="us-gaap_TreasuryStockShares-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, $.01 par value, 20,000,000 shares authorized; 7,415,002 and 7,385,443 shares issued and outstanding, respectively at December 31, 2018; and 7,309,909 and 7,280,350 shares issued and outstanding, respectively, at December 31, 2017</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementFrequencyDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement Frequency [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementsRecurringMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Recurring [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsRecurringMember" xlink:to="us-gaap_FairValueMeasurementsRecurringMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockParOrStatedValuePerShare-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_CommonStockParOrStatedValuePerShare-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</link:label>
    <link:label xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MaximumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MinimumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total identifiable assets</link:label>
    <link:label xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amount of assets acquired, including goodwill at the acquisition date.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:to="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NumberOfLeaseTermOptions" xlink:label="ufpt_NumberOfLeaseTermOptions" xlink:type="locator"/>
    <link:label xlink:label="ufpt_NumberOfLeaseTermOptions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ufpt_NumberOfLeaseTermOptions</link:label>
    <link:label xlink:label="ufpt_NumberOfLeaseTermOptions-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of Lease Term Options</link:label>
    <link:label xlink:label="ufpt_NumberOfLeaseTermOptions-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the number of lease term options.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_NumberOfLeaseTermOptions" xlink:to="ufpt_NumberOfLeaseTermOptions-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_ProductOrServiceAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsNet</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsNet-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_ProductsAndServicesDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" xlink:label="ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" xlink:type="locator"/>
    <link:label xlink:label="ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Percentage of concentration risk</link:label>
    <link:label xlink:label="ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The percentage of revenue, including tax collected from customer, from satisfaction of performance obligation by transferring promised good or service to customer.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" xlink:to="ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:to="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredChargesPolicyTextBlock" xlink:label="us-gaap_DeferredChargesPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredChargesPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Charges, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredChargesPolicyTextBlock" xlink:to="us-gaap_DeferredChargesPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_LitigationCaseAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Case [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_LitigationCaseTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Case [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="srt_LitigationCaseTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerAssetNetCurrent</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract with Customer, Asset, Net, Current, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, $.01 par value, 1,000,000 shares authorized; no shares issued</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestPaidNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash Flow, Supplemental Disclosures [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:to="us-gaap_CashFlowSupplementalDisclosuresTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PrepaidExpenseCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseCurrent" xlink:to="us-gaap_PrepaidExpenseCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_StatementGeographicalAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_SegmentGeographicalDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsGross</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsGross-label" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xml:lang="en-US">Total deferred tax assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredIncomeTaxLiabilities</link:label>
    <link:label xlink:label="us-gaap_DeferredIncomeTaxLiabilities-label" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xml:lang="en-US">Total deferred tax liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total Inventory</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, par value (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:label="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Leasehold improvements</link:label>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:to="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net sales</link:label>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer, Including Assessed Tax</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsInventory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory capitalization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_MajorCustomersAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Intangible assets</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:to="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_NameOfMajorCustomerDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueInputsLevel2Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Reserves</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred rent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ReceivablesNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Receivables, net</link:label>
    <link:label xlink:label="us-gaap_ReceivablesNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Receivables, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesNetCurrent" xlink:to="us-gaap_ReceivablesNetCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Property, plant, and equipment, useful life (Year)</link:label>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PropertyPlantAndEquipmentUsefulLife</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConstructionInProgressMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Construction in Progress [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableGrossCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts receivable&#8211;trade</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</link:label>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less allowance for doubtful receivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NumberOfOperatingSegments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NumberOfOperatingSegments</link:label>
    <link:label xlink:label="us-gaap_NumberOfOperatingSegments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of Operating Segments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NumberOfReportableSegments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NumberOfReportableSegments</link:label>
    <link:label xlink:label="us-gaap_NumberOfReportableSegments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdditionalPaidInCapital-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BuildingAndBuildingImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredCompensationPlanAssets" xlink:label="us-gaap_DeferredCompensationPlanAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredCompensationPlanAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredCompensationPlanAssets</link:label>
    <link:label xlink:label="us-gaap_DeferredCompensationPlanAssets-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-qualified deferred compensation plan</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationPlanAssets" xlink:to="us-gaap_DeferredCompensationPlanAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LandAndLandImprovementsMember" xlink:label="us-gaap_LandAndLandImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LandAndLandImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Land and Land Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandAndLandImprovementsMember" xlink:to="us-gaap_LandAndLandImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders&#8217; equity:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseholdImprovementsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SegmentReportingDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Tax credits</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxAssetsTaxCreditCarryforwards</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current assets:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueDisclosuresTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InvestmentIncomeInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInFinancingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Liabilities</link:label>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommitmentsAndContingencies-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and contingencies (Note 15)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingIncomeLoss</link:label>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Operating income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Revenue recognized</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.sec.gov/invest/2013/invest-2013-01-31.xsd#invest_DerivativeNotionalAmount" xlink:label="invest_DerivativeNotionalAmount" xlink:type="locator"/>
    <link:label xlink:label="invest_DerivativeNotionalAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">invest_DerivativeNotionalAmount</link:label>
    <link:label xlink:label="invest_DerivativeNotionalAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, Notional Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="invest_DerivativeNotionalAmount" xlink:to="invest_DerivativeNotionalAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInOperatingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInInvestingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquired in Dielectrics business combination</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease</link:label>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net change in cash and cash equivalents</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GrossProfit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gross profit</link:label>
    <link:label xlink:label="us-gaap_GrossProfit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Gross profit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostOfGoodsAndServicesSold-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of sales</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingStandardsUpdate201409Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2014-09 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate201409Member" xlink:to="us-gaap_AccountingStandardsUpdate201409Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerLiability</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue - January 1, 2018</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue - December 31, 2018</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingStandardsUpdate201602Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2016-02 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate201602Member" xlink:to="us-gaap_AccountingStandardsUpdate201602Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TypeOfAdoptionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Type of Adoption [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities</link:label>
    <link:label xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Excess tax benefits on share-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payment of statutory withholding for stock options exercised and restricted stock units vested</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Excess of book over tax basis of fixed assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Expense (Benefit), Continuing Operations, Adjustment of Deferred Tax (Asset) Liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProceedsFromStockOptionsExercised</link:label>
    <link:label xlink:label="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Initial Application Period Cumulative Effect Transition [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Initial Application Period Cumulative Effect Transition [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TreasuryStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Treasury Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockMember" xlink:to="us-gaap_TreasuryStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:label="us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Difference between Revenue Guidance in Effect before and after Topic 606 [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:to="us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdditionalPaidInCapitalMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Federal</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Federal</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementEquityComponentsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EquityComponentDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CurrentIncomeTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Current income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</link:label>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Class of Warrant or Right, Exercise Price of Warrants or Rights</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis" xlink:label="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Warrant or Right [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Warrant or Right [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightDomain" xlink:to="us-gaap_ClassOfWarrantOrRightDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight</link:label>
    <link:label xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Class of Warrant or Right, Number of Securities Called by Each Warrant or Right</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight" xlink:to="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAssetsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Assets [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMember" xlink:to="us-gaap_OtherAssetsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</link:label>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income before income tax provision</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StateAndLocalJurisdictionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State and Local Jurisdiction [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StateAndLocalJurisdictionMember" xlink:to="us-gaap_StateAndLocalJurisdictionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxAuthorityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxAuthorityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DomesticCountryMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfLongTermDebt</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermDebt-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Principal repayment of long-term debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trade and Other Accounts Receivable, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_MachineryAndEquipmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Machinery and Equipment [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BalanceSheetLocationAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BalanceSheetLocationDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefits-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefits</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefits-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Ending Balance</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefits-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Gross UTB balance at beginning of fiscal year</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefits-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Gross UTB balance at end of fiscal year</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingPoliciesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OpenTaxYear" xlink:label="us-gaap_OpenTaxYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OpenTaxYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OpenTaxYear</link:label>
    <link:label xlink:label="us-gaap_OpenTaxYear-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Open Tax Year</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OpenTaxYear" xlink:to="us-gaap_OpenTaxYear-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfLongTermLinesOfCredit</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payments on revolving line of credit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLongTermLinesOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Settlements with Taxing Authorities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Nonoperating Income (Expense) [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption</link:label>
    <link:label xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">ASC 606 adjustments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:to="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</link:label>
    <link:label xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Reductions for tax positions of prior years</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from the issuance of long-term debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from advances on revolving line of credit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesBalance-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ValuationAllowancesAndReservesBalance</link:label>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesBalance-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance at beginning of year</link:label>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesBalance-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance at end of year</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</link:label>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Provision for bad debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementLocationAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementLocationDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ValuationAllowancesAndReservesDeductions</link:label>
    <link:label xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Write-offs, net of recoveries</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDeductions" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TaxCreditCarryforwardAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TaxCreditCarryforwardAmount</link:label>
    <link:label xlink:label="us-gaap_TaxCreditCarryforwardAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxCreditCarryforwardAmount" xlink:to="us-gaap_TaxCreditCarryforwardAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</link:label>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Diluted weighted average common shares outstanding during the year (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="us-gaap_TaxCreditCarryforwardAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TaxCreditCarryforwardAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxCreditCarryforwardAxis" xlink:to="us-gaap_TaxCreditCarryforwardAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TaxCreditCarryforwardNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward, Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxCreditCarryforwardNameDomain" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioAdjustmentMember" xlink:label="us-gaap_ScenarioAdjustmentMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScenarioAdjustmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario, Adjustment [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScenarioAdjustmentMember" xlink:to="us-gaap_ScenarioAdjustmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioForecastMember" xlink:label="us-gaap_ScenarioForecastMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScenarioForecastMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario, Forecast [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScenarioForecastMember" xlink:to="us-gaap_ScenarioForecastMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueByAssetClassAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asset Class [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueByAssetClassAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:to="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asset Class [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="us-gaap_StatementScenarioAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementScenarioAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_StatementScenarioAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScenarioUnspecifiedDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario, Unspecified [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScenarioUnspecifiedDomain" xlink:to="us-gaap_ScenarioUnspecifiedDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_EarningsPerShareDiluted-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted net income per share (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Excess compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basic weighted average common shares outstanding during the year (in shares)</link:label>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeasesFutureMinimumPaymentsDue</link:label>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total minimum lease payments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateContinuingOperations</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Effective tax rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_RevisionsPolicyPolicyTextBlock" xlink:label="ufpt_RevisionsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="ufpt_RevisionsPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revisions Policy [Policy Text Block]</link:label>
    <link:label xlink:label="ufpt_RevisionsPolicyPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disclosure of accounting policy for revisions to financial statements.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_RevisionsPolicyPolicyTextBlock" xlink:to="ufpt_RevisionsPolicyPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears</link:label>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2022</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:label xlink:label="us-gaap_EarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic net income per share (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Impact on deferred taxes of new legislation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contract with Customer, Asset and Liability [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears</link:label>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_StockholdersEquityTreasuryStockPolicyTextBlock" xlink:label="ufpt_StockholdersEquityTreasuryStockPolicyTextBlock" xlink:type="locator"/>
    <link:label xlink:label="ufpt_StockholdersEquityTreasuryStockPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders Equity, Treasury Stock [Policy Text Block]</link:label>
    <link:label xlink:label="ufpt_StockholdersEquityTreasuryStockPolicyTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disclosure of accounting policy for its treasury stock transactions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_StockholdersEquityTreasuryStockPolicyTextBlock" xlink:to="ufpt_StockholdersEquityTreasuryStockPolicyTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears</link:label>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2020</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfCashFlowsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears</link:label>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2021</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent</link:label>
    <link:label xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2019</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Quarterly Financial Information [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:label="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Future Minimum Rental Payments for Operating Leases [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:to="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringAndRelatedCostExpectedCost1" xlink:label="us-gaap_RestructuringAndRelatedCostExpectedCost1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestructuringAndRelatedCostExpectedCost1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RestructuringAndRelatedCostExpectedCost1</link:label>
    <link:label xlink:label="us-gaap_RestructuringAndRelatedCostExpectedCost1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restructuring and Related Cost, Expected Cost, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringAndRelatedCostExpectedCost1" xlink:to="us-gaap_RestructuringAndRelatedCostExpectedCost1-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Domestic production deduction</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-deductible ISO stock option expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Meals and entertainment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of New Accounting Pronouncements and Changes in Accounting Principles [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TypeOfRestructuringDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Type of Restructuring [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfRestructuringDomain" xlink:to="us-gaap_TypeOfRestructuringDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Tax credits</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits-label" xlink:type="arc"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_OneStateJurisdictionMember" xlink:label="ufpt_OneStateJurisdictionMember" xlink:type="locator"/>
    <link:label xlink:label="ufpt_OneStateJurisdictionMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">One State Jurisdiction [Member]</link:label>
    <link:label xlink:label="ufpt_OneStateJurisdictionMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information about One State Jurisdiction.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ufpt_OneStateJurisdictionMember" xlink:to="ufpt_OneStateJurisdictionMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State taxes, net of federal tax benefit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restructuring and Related Costs [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Assets Measured on Recurring Basis [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestructuringCostAndReserveAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restructuring Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_RestructuringCostAndReserveAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Computed &#8220;expected&#8221; tax rate</link:label>
    <link:label xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherLiabilitiesNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:to="us-gaap_DeferredTaxLiabilitiesNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:label="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-qualified deferred compensation plan</link:label>
    <link:label xlink:label="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Compensation Liability, Classified, Noncurrent, Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:to="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net assets acquired</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total stockholders' equity</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Acquisition of Dieletrics, net of cash acquired</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementClassOfStockAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ClassOfStockDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockDomain" xlink:to="us-gaap_ClassOfStockDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term debt, excluding current portion</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAcquiredFromAcquisition-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashAcquiredFromAcquisition</link:label>
    <link:label xlink:label="us-gaap_CashAcquiredFromAcquisition-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Cash from Dielectrics</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAcquiredFromAcquisition" xlink:to="us-gaap_CashAcquiredFromAcquisition-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash paid at closing</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireBusinessesGross-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payments to Acquire Businesses, Gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesGross" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestRateSwapMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Interest Rate Swap [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestRateSwapMember" xlink:to="us-gaap_InterestRateSwapMember-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Weighted Average Number of Shares [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:to="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DerivativeFixedInterestRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DerivativeFixedInterestRate</link:label>
    <link:label xlink:label="us-gaap_DerivativeFixedInterestRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, Fixed Interest Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFixedInterestRate" xlink:to="us-gaap_DerivativeFixedInterestRate-label" xlink:type="arc"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, plant and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-label" xlink:type="arc"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>12
<FILENAME>ufpt-20181231_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 03:23AM UTC 2019-03-15--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts" xlink:href="ufpt-20181231.xsd#statement-schedule-ii-valuation-and-qualifying-accounts" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:label="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited" xlink:href="ufpt-20181231.xsd#statement-note-19-quarterly-financial-information-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-" xlink:href="ufpt-20181231.xsd#statement-note-17-fair-value-of-financial-instruments-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses" xlink:href="ufpt-20181231.xsd#statement-note-9-accrued-expenses" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-5-inventories-" xlink:href="ufpt-20181231.xsd#statement-note-5-inventories-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-5-inventories-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-document-and-entity-information" xlink:href="ufpt-20181231.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityVoluntaryFilers" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityWellKnownSeasonedIssuer" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityPublicFloat" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets-parentheticals" xlink:href="ufpt-20181231.xsd#statement-consolidated-balance-sheets-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockShares" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ReclassificationOfDeferredRevenueMember" xlink:label="ufpt_ReclassificationOfDeferredRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioAdjustmentMember" xlink:label="us-gaap_ScenarioAdjustmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="us-gaap_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:to="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:to="ufpt_ReclassificationOfDeferredRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementScenarioAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioAdjustmentMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DeferredRevenueMember" xlink:label="ufpt_DeferredRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ReceivablesNetMember" xlink:label="ufpt_ReceivablesNetMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByAssetClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="ufpt_DeferredRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="ufpt_ReceivablesNetMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-" xlink:href="ufpt-20181231.xsd#statement-note-3-supplemental-cash-flow-information-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:label="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CashFlowSupplementalDisclosuresTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables" xlink:href="ufpt-20181231.xsd#statement-note-4-receivables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-4-receivables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment" xlink:href="ufpt-20181231.xsd#statement-note-7-property-plant-and-equipment" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness" xlink:href="ufpt-20181231.xsd#statement-note-8-indebtedness" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AmendedAndRestatedCreditAgreementMember" xlink:label="ufpt_AmendedAndRestatedCreditAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SubsidiaryGuarantorsMember" xlink:label="ufpt_SubsidiaryGuarantorsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:label="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_UnsecuredTermLoanMember" xlink:label="ufpt_UnsecuredTermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StandbyLettersOfCreditMember" xlink:label="us-gaap_StandbyLettersOfCreditMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_PrimeRateMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="ufpt_SubsidiaryGuarantorsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="ufpt_AmendedAndRestatedCreditAgreementMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="ufpt_UnsecuredTermLoanMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_StandbyLettersOfCreditMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_InterestRateSwapMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_OtherAssetsMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_OneStateJurisdictionMember" xlink:label="ufpt_OneStateJurisdictionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioForecastMember" xlink:label="us-gaap_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="us-gaap_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="us-gaap_TaxCreditCarryforwardAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxCreditCarryforwardAxis" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_TaxCreditCarryforwardAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxCreditCarryforwardAxis" xlink:to="ufpt_OneStateJurisdictionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_DomesticCountryMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementScenarioAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioForecastMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-" xlink:href="ufpt-20181231.xsd#statement-note-11-net-income-per-share-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:label="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:label="ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_The2003IncentivePlanMember" xlink:label="ufpt_The2003IncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="ufpt_The2003IncentivePlanMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-" xlink:href="ufpt-20181231.xsd#statement-note-13-preferred-stock-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PreferredSharePurchaseRightMember" xlink:label="ufpt_PreferredSharePurchaseRightMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:label="ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis" xlink:label="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="ufpt_PreferredSharePurchaseRightMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits" xlink:href="ufpt-20181231.xsd#statement-note-14-supplemental-retirement-benefits" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SupplementalRetirementBenefitsDisclosureTextBlock" xlink:label="ufpt_SupplementalRetirementBenefitsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:label="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="ufpt_SupplementalRetirementBenefitsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies" xlink:href="ufpt-20181231.xsd#statement-note-15-commitments-and-contingencies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans" xlink:href="ufpt-20181231.xsd#statement-note-16-employee-benefit-plans" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data" xlink:href="ufpt-20181231.xsd#statement-note-18-segment-data" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-18-segment-data" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation" xlink:href="ufpt-20181231.xsd#statement-note-20-plant-consolidation" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:label="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_LeaseTerminationMember" xlink:label="ufpt_LeaseTerminationMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_MovingAndVacatingExpenseMember" xlink:label="ufpt_MovingAndVacatingExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NewburyportMassachusettsFacilityMember" xlink:label="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PlantConsolidationDisclosureTextBlock" xlink:label="ufpt_PlantConsolidationDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="ufpt_MovingAndVacatingExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="ufpt_LeaseTerminationMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="ufpt_PlantConsolidationDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement" xlink:href="ufpt-20181231.xsd#statement-note-21-material-overcharge-settlement" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:label="ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LegalMattersAndContingenciesTextBlock" xlink:label="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_LitigationCaseAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis" xlink:to="ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LegalMattersAndContingenciesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DielectricsMember" xlink:label="ufpt_DielectricsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NotesToFinancialStatementsAbstract" xlink:label="ufpt_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeAxis" xlink:label="us-gaap_LeaseArrangementTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseArrangementTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-significant-accounting-policies-policies" xlink:href="ufpt-20181231.xsd#statement-significant-accounting-policies-policies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-significant-accounting-policies-policies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_RevisionsPolicyPolicyTextBlock" xlink:label="ufpt_RevisionsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ShippingAndHandlingCostsPolicyTextBlock" xlink:label="ufpt_ShippingAndHandlingCostsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_StockholdersEquityTreasuryStockPolicyTextBlock" xlink:label="ufpt_StockholdersEquityTreasuryStockPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-significant-accounting-policies-policies" xlink:label="ufpt_statement-statement-significant-accounting-policies-policies" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredChargesPolicyTextBlock" xlink:label="us-gaap_DeferredChargesPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-significant-accounting-policies-policies" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PolicyTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DeferredChargesPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ufpt_ShippingAndHandlingCostsPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ufpt_StockholdersEquityTreasuryStockPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="ufpt_RevisionsPolicyPolicyTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-tables" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:label="ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-tables" xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-tables" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-2-revenue-recognition-tables" xlink:label="ufpt_statement-statement-note-2-revenue-recognition-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-2-revenue-recognition-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-tables" xlink:href="ufpt-20181231.xsd#statement-note-3-supplemental-cash-flow-information-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-3-supplemental-cash-flow-information-tables" xlink:label="ufpt_statement-statement-note-3-supplemental-cash-flow-information-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:label="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-3-supplemental-cash-flow-information-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables-tables" xlink:href="ufpt-20181231.xsd#statement-note-4-receivables-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-4-receivables-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-4-receivables-tables" xlink:label="ufpt_statement-statement-note-4-receivables-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-4-receivables-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-5-inventories-tables" xlink:href="ufpt-20181231.xsd#statement-note-5-inventories-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-5-inventories-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-5-inventories-tables" xlink:label="ufpt_statement-statement-note-5-inventories-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-5-inventories-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-tables" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-6-other-intangible-assets-tables" xlink:label="ufpt_statement-statement-note-6-other-intangible-assets-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-6-other-intangible-assets-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-tables" xlink:href="ufpt-20181231.xsd#statement-note-7-property-plant-and-equipment-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-7-property-plant-and-equipment-tables" xlink:label="ufpt_statement-statement-note-7-property-plant-and-equipment-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-7-property-plant-and-equipment-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-tables" xlink:href="ufpt-20181231.xsd#statement-note-8-indebtedness-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-8-indebtedness-tables" xlink:label="ufpt_statement-statement-note-8-indebtedness-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-8-indebtedness-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-tables" xlink:href="ufpt-20181231.xsd#statement-note-9-accrued-expenses-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-9-accrued-expenses-tables" xlink:label="ufpt_statement-statement-note-9-accrued-expenses-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-9-accrued-expenses-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-tables" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-10-income-taxes-tables" xlink:label="ufpt_statement-statement-note-10-income-taxes-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-10-income-taxes-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-tables" xlink:href="ufpt-20181231.xsd#statement-note-11-net-income-per-share-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-11-net-income-per-share-tables" xlink:label="ufpt_statement-statement-note-11-net-income-per-share-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-11-net-income-per-share-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" xlink:label="ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" xlink:label="ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-tables" xlink:href="ufpt-20181231.xsd#statement-note-15-commitments-and-contingencies-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-15-commitments-and-contingencies-tables" xlink:label="ufpt_statement-statement-note-15-commitments-and-contingencies-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:label="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-15-commitments-and-contingencies-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-tables" xlink:href="ufpt-20181231.xsd#statement-note-17-fair-value-of-financial-instruments-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-17-fair-value-of-financial-instruments-tables" xlink:label="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-tables" xlink:href="ufpt-20181231.xsd#statement-note-18-segment-data-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-18-segment-data-tables" xlink:label="ufpt_statement-statement-note-18-segment-data-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-18-segment-data-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-tables" xlink:href="ufpt-20181231.xsd#statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:label="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-tables" xlink:href="ufpt-20181231.xsd#statement-note-20-plant-consolidation-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-20-plant-consolidation-tables" xlink:label="ufpt_statement-statement-note-20-plant-consolidation-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:label="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-20-plant-consolidation-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-tables" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-22-acquisition-tables" xlink:label="ufpt_statement-statement-note-22-acquisition-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-22-acquisition-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:href="ufpt-20181231.xsd#statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" xlink:label="ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:label="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ReclassificationOfDeferredRevenueMember" xlink:label="ufpt_ReclassificationOfDeferredRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member" xlink:label="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent-n2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount" xlink:label="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashUninsuredAmount" xlink:label="us-gaap_CashUninsuredAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities-n2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioAdjustmentMember" xlink:label="us-gaap_ScenarioAdjustmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="us-gaap_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:to="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AccountingStandardsUpdate201602Member" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:to="ufpt_ReclassificationOfDeferredRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementScenarioAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioAdjustmentMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashEquivalentsAtCarryingValue-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashUninsuredAmount-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockSharesAcquired-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities-n2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent-n2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DeferredRevenueMember" xlink:label="ufpt_DeferredRevenueMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ReceivablesNetMember" xlink:label="ufpt_ReceivablesNetMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByAssetClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="ufpt_DeferredRevenueMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="ufpt_ReceivablesNetMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-3-supplemental-cash-flow-information-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_CashlessExerciseOfStockOptions" xlink:label="ufpt_CashlessExerciseOfStockOptions-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_CashlessExerciseOfStockOptions-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-4-receivables-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-4-receivables-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts-n2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts-n2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-7-property-plant-and-equipment-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DepreciationAndAmortization-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-8-indebtedness-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.sec.gov/invest/2013/invest-2013-01-31.xsd#invest_DerivativeNotionalAmount" xlink:label="invest_DerivativeNotionalAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AmendedAndRestatedCreditAgreementMember" xlink:label="ufpt_AmendedAndRestatedCreditAgreementMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SubsidiaryGuarantorsMember" xlink:label="ufpt_SubsidiaryGuarantorsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:label="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_UnsecuredTermLoanMember" xlink:label="ufpt_UnsecuredTermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="us-gaap_DerivativeAssets-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeFixedInterestRate" xlink:label="us-gaap_DerivativeFixedInterestRate-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeGainOnDerivative" xlink:label="us-gaap_DerivativeGainOnDerivative-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeTermOfContract" xlink:label="us-gaap_DerivativeTermOfContract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StandbyLettersOfCreditMember" xlink:label="us-gaap_StandbyLettersOfCreditMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_PrimeRateMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="ufpt_SubsidiaryGuarantorsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="ufpt_AmendedAndRestatedCreditAgreementMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="ufpt_UnsecuredTermLoanMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="ufpt_UnsecuredRevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_StandbyLettersOfCreditMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_InterestRateSwapMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_OtherAssetsMember" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="invest_DerivativeNotionalAmount-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeTermOfContract-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeFixedInterestRate-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeAssets-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeGainOnDerivative-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_OneStateJurisdictionMember" xlink:label="ufpt_OneStateJurisdictionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability-n2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OpenTaxYear" xlink:label="us-gaap_OpenTaxYear-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioForecastMember" xlink:label="us-gaap_ScenarioForecastMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="us-gaap_ScenarioUnspecifiedDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="us-gaap_StateAndLocalJurisdictionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="us-gaap_StatementScenarioAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="us-gaap_TaxCreditCarryforwardAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="us-gaap_TaxCreditCarryforwardAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount-n2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioUnspecifiedDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxCreditCarryforwardAxis" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_TaxCreditCarryforwardAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TaxCreditCarryforwardAxis" xlink:to="ufpt_OneStateJurisdictionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_DomesticCountryMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementScenarioAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementScenarioAxis" xlink:to="us-gaap_ScenarioForecastMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsNet-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TaxCreditCarryforwardAmount-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OpenTaxYear-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability-n2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount-n2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-11-net-income-per-share-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:label="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:label="ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants" xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative" xlink:label="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation" xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice" xlink:label="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForExercisePriceOfAwards" xlink:label="ufpt_SharesPaidForExercisePriceOfAwards-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice" xlink:label="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_The2003IncentivePlanMember" xlink:label="ufpt_The2003IncentivePlanMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="ufpt_The2003IncentivePlanMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="ufpt_NonemployeeDirectorStockIncentivePlanMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromStockOptionsExercised-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_SharesPaidForExercisePriceOfAwards-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice-2" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-13-preferred-stock-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PreferredSharePurchaseRightMember" xlink:label="ufpt_PreferredSharePurchaseRightMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding" xlink:label="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:label="ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis" xlink:label="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain" xlink:label="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:label="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight" xlink:label="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_ClassOfStockDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="us-gaap_ClassOfWarrantOrRightDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementClassOfStockAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="ufpt_SeriesAJuniorParticipatingPreferredStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ClassOfWarrantOrRightAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfWarrantOrRightAxis" xlink:to="ufpt_PreferredSharePurchaseRightMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-14-supplemental-retirement-benefits-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeAxis" xlink:label="us-gaap_RetirementPlanTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetirementPlanTypeDomain" xlink:label="us-gaap_RetirementPlanTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:label="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_RetirementPlanTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RetirementPlanTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanTypeAxis" xlink:to="us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-15-commitments-and-contingencies-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseAndRentalExpense" xlink:label="us-gaap_LeaseAndRentalExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseAndRentalExpense-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-16-employee-benefit-plans-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount" xlink:label="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:label="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent" xlink:label="us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanCostRecognized-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-18-segment-data-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfOperatingSegments-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-20-plant-consolidation-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:label="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_LeaseTerminationMember" xlink:label="ufpt_LeaseTerminationMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_MovingAndVacatingExpenseMember" xlink:label="ufpt_MovingAndVacatingExpenseMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NewburyportMassachusettsFacilityMember" xlink:label="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsForRestructuring" xlink:label="us-gaap_PaymentsForRestructuring-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringAndRelatedCostExpectedCost1" xlink:label="us-gaap_RestructuringAndRelatedCostExpectedCost1-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis" xlink:label="us-gaap_RestructuringCostAndReserveAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfRestructuringDomain" xlink:label="us-gaap_TypeOfRestructuringDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="us-gaap_TypeOfRestructuringDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_RestructuringCostAndReserveAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="ufpt_MovingAndVacatingExpenseMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestructuringCostAndReserveAxis" xlink:to="ufpt_LeaseTerminationMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestructuringCharges-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestructuringAndRelatedCostExpectedCost1-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsForRestructuring-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-21-material-overcharge-settlement-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:label="ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LitigationSettlementAmountAwardedFromOtherParty" xlink:label="us-gaap_LitigationSettlementAmountAwardedFromOtherParty-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_LitigationCaseAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis" xlink:to="ufpt_PolyurethaneFoamAntitrustLawsuitMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LitigationSettlementAmountAwardedFromOtherParty-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-details-textual" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DielectricsMember" xlink:label="ufpt_DielectricsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NoteToFinancialStatementDetailsTextual" xlink:label="ufpt_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NumberOfLeaseTermOptions" xlink:label="ufpt_NumberOfLeaseTermOptions-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired" xlink:label="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeAxis" xlink:label="us-gaap_LeaseArrangementTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseArrangementTypeDomain" xlink:label="us-gaap_LeaseArrangementTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="us-gaap_LeaseArrangementTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseArrangementTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseArrangementTypeAxis" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_NumberOfLeaseTermOptions-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_FurnitureFixturesAndComputersMember" xlink:label="ufpt_FurnitureFixturesAndComputersMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives" xlink:label="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="ufpt_FurnitureFixturesAndComputersMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife-1" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:label="ufpt_statement-statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-longterm-debt-details" xlink:href="ufpt-20181231.xsd#statement-note-8-indebtedness-longterm-debt-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_TermLoanMember" xlink:label="ufpt_TermLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-8-indebtedness-longterm-debt-details" xlink:label="ufpt_statement-statement-note-8-indebtedness-longterm-debt-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-8-indebtedness-longterm-debt-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_DebtInstrumentAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="ufpt_TermLoanMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebt" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtCurrent-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber-5" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo" xlink:label="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:href="ufpt-20181231.xsd#statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:label="ufpt_statement-statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDue-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:href="ufpt-20181231.xsd#statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:label="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareDiluted-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:label="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities" xlink:label="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities-n8" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DielectricsMember" xlink:label="ufpt_DielectricsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_TradeNameAndBrandMember" xlink:label="ufpt_TradeNameAndBrandMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:label="ufpt_statement-statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAcquiredFromAcquisition" xlink:label="us-gaap_CashAcquiredFromAcquisition-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CustomerListsMember" xlink:label="us-gaap_CustomerListsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerListsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="ufpt_TradeNameAndBrandMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsToAcquireBusinessesGross" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CashAcquiredFromAcquisition-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill-1" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable-n8" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities-n8" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue-n8" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:href="ufpt-20181231.xsd#statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:label="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-cash-flows" xlink:href="ufpt-20181231.xsd#statement-consolidated-statements-of-cash-flows" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-cash-flows" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ProceedsFromStockOptionsExercisedNet" xlink:label="ufpt_ProceedsFromStockOptionsExercisedNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="us-gaap_IncreaseDecreaseInReceivables-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:label="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RepaymentsOfLongTermLinesOfCredit" xlink:label="us-gaap_RepaymentsOfLongTermLinesOfCredit-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnDispositionOfAssets-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInReceivables-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable-1" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities-1" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability-1" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromLongTermLinesOfCredit" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermLinesOfCredit-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermDebt-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="ufpt_ProceedsFromStockOptionsExercisedNet" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease-3" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue-4" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_Goodwill-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:href="ufpt-20181231.xsd#statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:label="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_EmployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-contract-liabilities-details" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition-contract-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-contract-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" xlink:label="ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-2-revenue-recognition-contract-liabilities-details" xlink:label="ufpt_statement-statement-note-2-revenue-recognition-contract-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:label="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-2-revenue-recognition-contract-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-4-receivables-receivables-details" xlink:href="ufpt-20181231.xsd#statement-note-4-receivables-receivables-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-4-receivables-receivables-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-4-receivables-receivables-details" xlink:label="ufpt_statement-statement-note-4-receivables-receivables-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-4-receivables-receivables-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccountsReceivableGrossCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ReceivablesNetCurrent-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-5-inventories-summary-of-inventory-details" xlink:href="ufpt-20181231.xsd#statement-note-5-inventories-summary-of-inventory-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-5-inventories-summary-of-inventory-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-5-inventories-summary-of-inventory-details" xlink:label="ufpt_statement-statement-note-5-inventories-summary-of-inventory-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-5-inventories-summary-of-inventory-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:href="ufpt-20181231.xsd#statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_TradeNameAndBrandMember" xlink:label="ufpt_TradeNameAndBrandMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:label="ufpt_statement-statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CustomerListsMember" xlink:label="us-gaap_CustomerListsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-6-other-intangible-assets-definitelived-intangible-assets-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="ufpt_TradeNameAndBrandMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_NoncompeteAgreementsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_CustomerListsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:href="ufpt-20181231.xsd#statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_FurnitureFixturesAndComputersMember" xlink:label="ufpt_FurnitureFixturesAndComputersMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:label="ufpt_statement-statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LandAndLandImprovementsMember" xlink:label="us-gaap_LandAndLandImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LandAndLandImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_LeaseholdImprovementsMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_MachineryAndEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="ufpt_FurnitureFixturesAndComputersMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_ConstructionInProgressMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-accrued-expenses-details" xlink:href="ufpt-20181231.xsd#statement-note-9-accrued-expenses-accrued-expenses-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-accrued-expenses-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-9-accrued-expenses-accrued-expenses-details" xlink:label="ufpt_statement-statement-note-9-accrued-expenses-accrued-expenses-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="us-gaap_AccruedSalariesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="us-gaap_AccruedSalesCommissionCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedVacationCurrent" xlink:label="us-gaap_AccruedVacationCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SelfInsuranceReserveCurrent" xlink:label="us-gaap_SelfInsuranceReserveCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-9-accrued-expenses-accrued-expenses-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedSalariesCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SelfInsuranceReserveCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedVacationCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedSalesCommissionCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccruedLiabilitiesCurrent-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:label="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:label="ufpt_statement-statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-10-income-taxes-income-tax-rate-reconciliation-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:label="ufpt_statement-statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-10-income-taxes-unrecognized-tax-benefits-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:href="ufpt-20181231.xsd#statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:label="ufpt_statement-statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_IncomeStatementLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:href="ufpt-20181231.xsd#statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:label="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:label="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-n9" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="ufpt_EmployeeAndNonemployeeStockOptionMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised-n9" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber-5" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice-5" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber-2" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice-2" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:href="ufpt-20181231.xsd#statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:label="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="us-gaap_DerivativeAssets" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueMeasurementsRecurringMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueInputsLevel2Member" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DerivativeAssets" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets" xlink:href="ufpt-20181231.xsd#statement-consolidated-balance-sheets" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:label="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredCompensationPlanAssets" xlink:label="us-gaap_DeferredCompensationPlanAssets-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_ReceivablesNetCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IncomeTaxesReceivable" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet-3" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Goodwill" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DeferredCompensationPlanAssets-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Assets-3" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermDebtNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities-3" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AdditionalPaidInCapital" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_TreasuryStockValue-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-income" xlink:href="ufpt-20181231.xsd#statement-consolidated-statements-of-income" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-income" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:label="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossRelatedToLitigationSettlement" xlink:label="us-gaap_GainLossRelatedToLitigationSettlement-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCharges" xlink:label="us-gaap_RestructuringCharges" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestructuringCharges" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainLossRelatedToLitigationSettlement-n8" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InvestmentIncomeInterest" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:label="ufpt_statement-statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:label="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:label="us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:label="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-2-revenue-recognition-adoption-of-asc-606-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AccountingStandardsUpdate201409Member" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis" xlink:to="us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:href="ufpt-20181231.xsd#statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_EngineeringAndDevelopmentMember" xlink:label="ufpt_EngineeringAndDevelopmentMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ToolingAndMachineryMember" xlink:label="ufpt_ToolingAndMachineryMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:label="ufpt_statement-statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="us-gaap_ProductMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="ufpt_ToolingAndMachineryMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis" xlink:to="ufpt_EngineeringAndDevelopmentMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-provision-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-income-tax-provision-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-provision-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-10-income-taxes-income-tax-provision-details" xlink:label="ufpt_statement-statement-note-10-income-taxes-income-tax-provision-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-10-income-taxes-income-tax-provision-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit-3" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:href="ufpt-20181231.xsd#statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AggregateDeferredTaxLiabilitiesNoncurrent" xlink:label="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent-n10" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:label="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:label="ufpt_statement-statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities-n10" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets" xlink:label="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross-10" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards-1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsInventory" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets-1" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwards-1" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxAssetsGross-10" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill-n8" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DeferredIncomeTaxLiabilities-n10" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_AggregateDeferredTaxLiabilitiesNoncurrent-n10" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-net-sales-by-market-details" xlink:href="ufpt-20181231.xsd#statement-note-18-segment-data-net-sales-by-market-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-18-segment-data-net-sales-by-market-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AerospaceDefenseMember" xlink:label="ufpt_AerospaceDefenseMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_AutomotiveMember" xlink:label="ufpt_AutomotiveMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ConsumerMember" xlink:label="ufpt_ConsumerMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_ElectronicsMember" xlink:label="ufpt_ElectronicsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_IndustrialMember" xlink:label="ufpt_IndustrialMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_MedicalMember" xlink:label="ufpt_MedicalMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" xlink:label="ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-18-segment-data-net-sales-by-market-details" xlink:label="ufpt_statement-statement-note-18-segment-data-net-sales-by-market-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-18-segment-data-net-sales-by-market-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="ufpt_MedicalMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="ufpt_ConsumerMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="ufpt_AutomotiveMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="ufpt_AerospaceDefenseMember" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="ufpt_ElectronicsMember" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="ufpt_IndustrialMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-restructuring-costs-details" xlink:href="ufpt-20181231.xsd#statement-note-20-plant-consolidation-restructuring-costs-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-restructuring-costs-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_NewburyportMassachusettsFacilityMember" xlink:label="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-20-plant-consolidation-restructuring-costs-details" xlink:label="ufpt_statement-statement-note-20-plant-consolidation-restructuring-costs-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessExitCosts1" xlink:label="us-gaap_BusinessExitCosts1" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RestructuringCosts" xlink:label="us-gaap_RestructuringCosts-3" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-20-plant-consolidation-restructuring-costs-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="ufpt_NewburyportMassachusettsFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessExitCosts1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestructuringCosts-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:href="ufpt-20181231.xsd#statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_DielectricsMember" xlink:label="ufpt_DielectricsMember" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:label="ufpt_statement-statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted" xlink:label="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax" xlink:label="us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss" xlink:label="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionsProFormaRevenue" xlink:label="us-gaap_BusinessAcquisitionsProFormaRevenue-2" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-22-acquisition-pro-forma-information-unaudited-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BusinessAcquisitionAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="ufpt_DielectricsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaRevenue-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-stockholders-equity" xlink:href="ufpt-20181231.xsd#statement-consolidated-statements-of-stockholders-equity" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-stockholders-equity" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-n8" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-4" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-5" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_TreasuryStockMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-n8" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption-4" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-5" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:href="ufpt-20181231.xsd#statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2018/dei-2018-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="ufpt-20181231.xsd#ufpt_statement-statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:label="ufpt_statement-statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ufpt_statement-statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InterestPaidNet" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncomeTaxesPaidNet" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:type="arc"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6847330912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document And Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Mar. 05, 2019</div></th>
<th class="th"><div>Jun. 29, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">UFP TECHNOLOGIES INC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000914156<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">ufpt<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,409,047<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 133,051,330<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>If the value is true, then the document is an amendment to previously-filed/accepted document.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal period of the document report. For a first quarter 2006 quarterly report, which may also provide financial information from prior periods, the first fiscal quarter should be given as the fiscal period focus. Values: FY, Q1, Q2, Q3, Q4, H1, H2, M9, T1, T2, T3, M8, CY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: (1) Large Accelerated Filer, (2) Accelerated Filer, (3) Non-accelerated Filer, (4) Smaller Reporting Company (Non-accelerated), (5) Smaller Reporting Accelerated Filer or (6) Smaller Reporting Company and Large Accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>State aggregate market value of voting and non-voting common equity held by non-affiliates computed by reference to price at which the common equity was last sold, or average bid and asked price of such common equity, as of the last business day of registrant's most recently completed second fiscal quarter. The public float should be reported on the cover page of the registrants form 10K.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if company meets the shell company criteria: a company with no or nominal operations, and with no or nominal assets or assets consisting solely of cash and cash equivalents.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a smaller reporting company with both a public float and revenues of less than $75 million.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6849837760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 3,238<span></span>
</td>
<td class="nump">$ 37,978<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesNetCurrent', window );">Receivables, net</a></td>
<td class="nump">28,321<span></span>
</td>
<td class="nump">21,381<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">19,576<span></span>
</td>
<td class="nump">12,863<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses</a></td>
<td class="nump">2,206<span></span>
</td>
<td class="nump">1,835<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesReceivable', window );">Refundable income taxes</a></td>
<td class="nump">2,285<span></span>
</td>
<td class="nump">1,017<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">55,626<span></span>
</td>
<td class="nump">75,074<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">111,779<span></span>
</td>
<td class="nump">106,716<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation and amortization</a></td>
<td class="num">(54,112)<span></span>
</td>
<td class="num">(53,064)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">57,667<span></span>
</td>
<td class="nump">53,652<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">51,838<span></span>
</td>
<td class="nump">7,322<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">22,232<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationPlanAssets', window );">Non-qualified deferred compensation plan</a></td>
<td class="nump">2,034<span></span>
</td>
<td class="nump">2,015<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">201<span></span>
</td>
<td class="nump">144<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">189,598<span></span>
</td>
<td class="nump">138,207<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">6,836<span></span>
</td>
<td class="nump">4,180<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">8,458<span></span>
</td>
<td class="nump">5,466<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">2,507<span></span>
</td>
<td class="nump">297<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Current installments of long-term debt</a></td>
<td class="nump">2,857<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">20,658<span></span>
</td>
<td class="nump">9,943<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt, excluding current portion</a></td>
<td class="nump">22,286<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNoncurrent', window );">Deferred income taxes</a></td>
<td class="nump">4,129<span></span>
</td>
<td class="nump">2,440<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent', window );">Non-qualified deferred compensation plan</a></td>
<td class="nump">2,044<span></span>
</td>
<td class="nump">2,030<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other liabilities</a></td>
<td class="nump">24<span></span>
</td>
<td class="nump">82<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">49,141<span></span>
</td>
<td class="nump">14,495<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 15)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $.01 par value, 1,000,000 shares authorized; no shares issued</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $.01 par value, 20,000,000 shares authorized; 7,415,002 and 7,385,443 shares issued and outstanding, respectively at December 31, 2018; and 7,309,909 and 7,280,350 shares issued and outstanding, respectively, at December 31, 2017</a></td>
<td class="nump">74<span></span>
</td>
<td class="nump">73<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">29,168<span></span>
</td>
<td class="nump">26,664<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">111,802<span></span>
</td>
<td class="nump">97,562<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock at cost, 29,559 shares at both December 31, 2018 and 2017</a></td>
<td class="num">(587)<span></span>
</td>
<td class="num">(587)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">140,457<span></span>
</td>
<td class="nump">123,712<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 189,598<span></span>
</td>
<td class="nump">$ 138,207<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders. Includes adjustments to additional paid in capital. Some examples of such adjustments include recording the issuance of debt with a beneficial conversion feature and certain tax consequences of equity instruments awarded to employees. Use this element for the aggregate amount of additional paid-in capital associated with common and preferred stock. For additional paid-in capital associated with only common stock, use the element additional paid in capital, common stock. For additional paid-in capital associated with only preferred stock, use the element additional paid in capital, preferred stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6801-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82911808&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130532-203044<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130531-203044<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable beyond one year (or the operating cycle, if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationPlanAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of assets held under deferred compensation agreements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationPlanAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting and classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31958-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31931-109318<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.5(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.10)<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=68049868&amp;loc=d3e3927-108312<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6787-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=68074540&amp;loc=d3e5879-108316<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-06(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6488278&amp;loc=d3e604059-122996<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6847032976">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parentheticals) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">20,000,000<span></span>
</td>
<td class="nump">20,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">7,415,002<span></span>
</td>
<td class="nump">7,309,909<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">7,385,443<span></span>
</td>
<td class="nump">7,280,350<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury stock, shares (in shares)</a></td>
<td class="nump">29,559<span></span>
</td>
<td class="nump">29,559<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6834890144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Income - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 190,455<span></span>
</td>
<td class="nump">$ 147,843<span></span>
</td>
<td class="nump">$ 146,132<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">142,147<span></span>
</td>
<td class="nump">112,356<span></span>
</td>
<td class="nump">111,482<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">48,308<span></span>
</td>
<td class="nump">35,487<span></span>
</td>
<td class="nump">34,650<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general, and administrative expenses</a></td>
<td class="nump">27,758<span></span>
</td>
<td class="nump">23,845<span></span>
</td>
<td class="nump">24,105<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Acquisition costs</a></td>
<td class="nump">1,089<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCharges', window );">Restructuring costs</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">63<span></span>
</td>
<td class="nump">420<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossRelatedToLitigationSettlement', window );">Material overcharge settlement</a></td>
<td class="num">(104)<span></span>
</td>
<td class="num">(121)<span></span>
</td>
<td class="num">(2,114)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">(Gain) Loss on sales of property, plant and equipment</a></td>
<td class="num">(47)<span></span>
</td>
<td class="nump">7<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">19,612<span></span>
</td>
<td class="nump">11,693<span></span>
</td>
<td class="nump">12,237<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">47<span></span>
</td>
<td class="nump">216<span></span>
</td>
<td class="nump">149<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(1,320)<span></span>
</td>
<td class="num">(50)<span></span>
</td>
<td class="num">(69)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income</a></td>
<td class="nump">64<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income tax provision</a></td>
<td class="nump">18,403<span></span>
</td>
<td class="nump">11,859<span></span>
</td>
<td class="nump">12,317<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">4,092<span></span>
</td>
<td class="nump">2,649<span></span>
</td>
<td class="nump">4,347<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 14,311<span></span>
</td>
<td class="nump">$ 9,210<span></span>
</td>
<td class="nump">$ 7,970<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income per common share outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 1.95<span></span>
</td>
<td class="nump">$ 1.27<span></span>
</td>
<td class="nump">$ 1.11<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 1.93<span></span>
</td>
<td class="nump">$ 1.26<span></span>
</td>
<td class="nump">$ 1.10<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">7,347<span></span>
</td>
<td class="nump">7,248<span></span>
</td>
<td class="nump">7,190<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">7,430<span></span>
</td>
<td class="nump">7,337<span></span>
</td>
<td class="nump">7,275<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI http://asc.fasb.org/extlink&amp;oid=84229725&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1337-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=109256448&amp;loc=d3e4984-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=SL5780133-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=109256448&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossRelatedToLitigationSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) recognized in settlement of litigation and insurance claims. Excludes claims within an insurance entity's normal claims settlement process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82911808&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossRelatedToLitigationSettlement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68072869&amp;loc=d3e41242-110953<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140864-122747<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130539-203045<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130545-203045<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=68048583&amp;loc=d3e3636-108311<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6847754352">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Treasury Stock [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2015</a></td>
<td class="nump">7,140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2015</a></td>
<td class="nump">$ 72<span></span>
</td>
<td class="nump">$ 23,705<span></span>
</td>
<td class="nump">$ 80,382<span></span>
</td>
<td class="num">$ (587)<span></span>
</td>
<td class="nump">$ 103,572<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Share-based compensation (in shares)</a></td>
<td class="nump">33<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">1,056<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,056<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options net of shares presented for exercise (in shares)</a></td>
<td class="nump">48<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options net of shares presented for exercise</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">529<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">529<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Net share settlement of restricted stock units and stock option tax withholding (in shares)</a></td>
<td class="num">(9)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Net share settlement of restricted stock units and stock option tax withholding</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(219)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(219)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation', window );">Excess tax benefits on share-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">145<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">145<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income from consolidated operations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,970<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,970<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Net share settlement of restricted stock units and stock option tax withholding (in shares)</a></td>
<td class="nump">9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2016</a></td>
<td class="nump">7,212<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2016</a></td>
<td class="nump">$ 72<span></span>
</td>
<td class="nump">25,216<span></span>
</td>
<td class="nump">88,352<span></span>
</td>
<td class="num">$ (587)<span></span>
</td>
<td class="nump">113,053<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Share-based compensation (in shares)</a></td>
<td class="nump">32<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">1,067<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,068<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options net of shares presented for exercise (in shares)</a></td>
<td class="nump">47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options net of shares presented for exercise</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">676<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">677<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Net share settlement of restricted stock units and stock option tax withholding (in shares)</a></td>
<td class="nump">11<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Net share settlement of restricted stock units and stock option tax withholding</a></td>
<td class="num">$ (1)<span></span>
</td>
<td class="num">(295)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(296)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income from consolidated operations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,210<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,210<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Net share settlement of restricted stock units and stock option tax withholding (in shares)</a></td>
<td class="num">(11)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2017</a></td>
<td class="nump">7,280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2017</a></td>
<td class="nump">$ 73<span></span>
</td>
<td class="nump">26,664<span></span>
</td>
<td class="nump">97,562<span></span>
</td>
<td class="num">$ (587)<span></span>
</td>
<td class="nump">123,712<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Share-based compensation (in shares)</a></td>
<td class="nump">31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">1,212<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,212<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of stock options net of shares presented for exercise (in shares)</a></td>
<td class="nump">79<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of stock options net of shares presented for exercise</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">1,269<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,270<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Net share settlement of restricted stock units and stock option tax withholding (in shares)</a></td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Net share settlement of restricted stock units and stock option tax withholding</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(144)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(144)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation', window );">Excess tax benefits on share-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">167<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">167<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income from consolidated operations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,311<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,311<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Net share settlement of restricted stock units and stock option tax withholding (in shares)</a></td>
<td class="num">(5)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption', window );">ASC 606 adjustments at Dec. 31, 2017</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(71)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(71)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance (in shares) at Dec. 31, 2018</a></td>
<td class="nump">7,385<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2018</a></td>
<td class="nump">$ 74<span></span>
</td>
<td class="nump">$ 29,168<span></span>
</td>
<td class="nump">$ 111,802<span></span>
</td>
<td class="num">$ (587)<span></span>
</td>
<td class="nump">$ 140,457<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of adjustment to stockholders' equity associated with an employee's income tax withholding obligation as part of a net-share settlement of a share-based award.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in additional paid in capital (APIC) resulting from a tax benefit associated with share-based compensation plan other than an employee stock ownership plan (ESOP). Includes, but is not limited to, excess tax benefit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 740<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109245112&amp;loc=d3e23524-113945<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For net-share settlement of share-based awards when the employer settles employees' income tax withholding obligations, this element represents the number of shares the employees use to repay the employer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares (or other type of equity) issued during the period as a result of any equity-based compensation plan other than an employee stock ownership plan (ESOP), net of any shares forfeited. Shares issued could result from the issuance of restricted stock, the exercise of stock options, stock issued under employee stock purchase plans, and/or other employee benefit plans.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock (or other type of equity) issued during the period as a result of any equity-based compensation plan other than an employee stock ownership plan (ESOP), net of stock value of such awards forfeited. Stock issued could result from the issuance of restricted stock, the exercise of stock options, stock issued under employee stock purchase plans, and/or other employee benefit plans.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6850430480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income from consolidated operations</a></td>
<td class="nump">$ 14,311<span></span>
</td>
<td class="nump">$ 9,210<span></span>
</td>
<td class="nump">$ 7,970<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">7,831<span></span>
</td>
<td class="nump">5,635<span></span>
</td>
<td class="nump">5,634<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets', window );">(Gain) loss on sales of property, plant and equipment</a></td>
<td class="num">(47)<span></span>
</td>
<td class="nump">7<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">1,212<span></span>
</td>
<td class="nump">1,068<span></span>
</td>
<td class="nump">1,056<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="nump">1,881<span></span>
</td>
<td class="num">(1,019)<span></span>
</td>
<td class="nump">576<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities', window );">Excess tax benefits on share-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(145)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInReceivables', window );">Receivables, net</a></td>
<td class="num">(2,556)<span></span>
</td>
<td class="num">(132)<span></span>
</td>
<td class="num">(3,768)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(2,295)<span></span>
</td>
<td class="nump">1,288<span></span>
</td>
<td class="nump">51<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidExpense', window );">Prepaid expenses</a></td>
<td class="num">(249)<span></span>
</td>
<td class="nump">446<span></span>
</td>
<td class="num">(1,351)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInIncomeTaxesReceivable', window );">Refundable income taxes</a></td>
<td class="num">(1,268)<span></span>
</td>
<td class="num">(210)<span></span>
</td>
<td class="nump">209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(76)<span></span>
</td>
<td class="num">(228)<span></span>
</td>
<td class="num">(97)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">1,113<span></span>
</td>
<td class="nump">93<span></span>
</td>
<td class="num">(683)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="nump">1,472<span></span>
</td>
<td class="nump">974<span></span>
</td>
<td class="num">(567)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="nump">35<span></span>
</td>
<td class="nump">91<span></span>
</td>
<td class="nump">206<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">Non-qualified deferred compensation plan and other liabilities</a></td>
<td class="num">(44)<span></span>
</td>
<td class="nump">246<span></span>
</td>
<td class="nump">213<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">21,320<span></span>
</td>
<td class="nump">17,469<span></span>
</td>
<td class="nump">9,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Additions to property, plant and equipment</a></td>
<td class="num">(5,428)<span></span>
</td>
<td class="num">(10,382)<span></span>
</td>
<td class="num">(7,206)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisition of Dieletrics, net of cash acquired</a></td>
<td class="num">(76,978)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of property, plant and equipment</a></td>
<td class="nump">77<span></span>
</td>
<td class="nump">7<span></span>
</td>
<td class="nump">14<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(82,329)<span></span>
</td>
<td class="num">(10,375)<span></span>
</td>
<td class="num">(7,192)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromLongTermLinesOfCredit', window );">Proceeds from advances on revolving line of credit</a></td>
<td class="nump">36,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermLinesOfCredit', window );">Payments on revolving line of credit</a></td>
<td class="num">(28,000)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt', window );">Proceeds from the issuance of long-term debt</a></td>
<td class="nump">20,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebt', window );">Principal repayment of long-term debt</a></td>
<td class="num">(2,857)<span></span>
</td>
<td class="num">(856)<span></span>
</td>
<td class="num">(1,014)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_ProceedsFromStockOptionsExercisedNet', window );">Proceeds from the exercise of stock options, net of shares presented for exercise</a></td>
<td class="nump">1,270<span></span>
</td>
<td class="nump">677<span></span>
</td>
<td class="nump">529<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payment of statutory withholding for stock options exercised and restricted stock units vested</a></td>
<td class="num">(144)<span></span>
</td>
<td class="num">(296)<span></span>
</td>
<td class="num">(219)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities', window );">Excess tax benefits on share-based compensation</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">145<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="nump">26,269<span></span>
</td>
<td class="num">(475)<span></span>
</td>
<td class="num">(559)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease', window );">Net change in cash and cash equivalents</a></td>
<td class="num">(34,740)<span></span>
</td>
<td class="nump">6,619<span></span>
</td>
<td class="nump">1,555<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents at beginning of year</a></td>
<td class="nump">37,978<span></span>
</td>
<td class="nump">31,359<span></span>
</td>
<td class="nump">29,804<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents at end of year</a></td>
<td class="nump">$ 3,238<span></span>
</td>
<td class="nump">$ 37,978<span></span>
</td>
<td class="nump">$ 31,359<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_ProceedsFromStockOptionsExercisedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from holders exercising their stock options, net of attestation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_ProceedsFromStockOptionsExercisedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Includes effect from exchange rate changes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from realized tax benefit related to deductible compensation cost reported on the entity's tax return for equity instruments in excess of the compensation cost for those instruments recognized for financial reporting purposes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=109196918&amp;loc=d3e11374-113907<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for realized tax benefit related to deductible compensation cost reported on the entity's tax return for equity instruments in excess of the compensation cost for those instruments recognized for financial reporting purposes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=109196918&amp;loc=d3e11374-113907<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ExcessTaxBenefitFromShareBasedCompensationOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnDispositionOfAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109226348&amp;loc=d3e2443-110228<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109226691&amp;loc=d3e2941-110230<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInIncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in income taxes receivable, which represents the amount due from tax authorities for refunds of overpayments or recoveries of income taxes paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInIncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy an employee's income tax withholding obligation as part of a net-share settlement of a share-based award.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3291-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 25<br> -Paragraph 19A<br> -URI http://asc.fasb.org/extlink&amp;oid=107668666&amp;loc=SL79513924-113897<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLongTermLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLongTermLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for the settlement of obligation drawn from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of noncash, equity-based employee remuneration. This may include the value of stock or unit options, amortization of restricted stock or units, and adjustment for officers' compensation. As noncash, this element is an add back when calculating net cash generated by operating activities using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6839973616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Significant Accounting Policies [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Summary of Significant Accounting Policies</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">UFP Technologies, Inc. (&#x201c;the Company&#x201d;) is an innovative designer and custom converter of foams, plastics, composites and natural fiber products principally serving the medical, automotive, aerospace and defense, consumer, electronics and industrial markets. The Company was incorporated in the State of Delaware in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1993.</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <table style="; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(a)</div></td> <td><div style="display: inline; font-style: italic;">Principles of Consolidation</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The consolidated financial statements include the accounts and results of operations of UFP Technologies, Inc., its wholly-owned subsidiaries, Moulded Fibre Technology, Inc., Simco Industries, Inc. Dielectrics, Inc. and Stephenson &amp; Lawyer, Inc. and its wholly-owned subsidiary, Patterson Properties Corporation. All significant intercompany balances and transactions have been eliminated in consolidation. The Company has evaluated all subsequent events through the date of this filing.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(b)</div></td> <td><div style="display: inline; font-style: italic;">Use of Estimates</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, including allowance for doubtful accounts and the net realizable value of inventory, and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</div> <div style=" margin-top: 0; margin-bottom: 0">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(c)</div></td> <td><div style="display: inline; font-style: italic;">Fair Value Measurement</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company defines fair value as the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value for assets and liabilities, which are required to be recorded at fair value, the Company considers the principal or most advantageous market in which the Company would transact and the market-based risk measurement or assumptions that market participants would use in pricing the asset or liability, such as inherent risk, transfer restrictions, and credit risk.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company has <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> elected fair value accounting for any financial instruments for which fair value accounting is optional.</div> <div style=" margin-top: 0; margin-bottom: 0">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(d)</div></td> <td><div style="display: inline; font-style: italic;">Fair Value of Financial Instruments</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Cash and cash equivalents, accounts receivable, accounts payable, accrued expenses and other liabilities are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company&#x2019;s long-term debt approximates fair value as the interest rate on the debt approximates the Company&#x2019;s current incremental borrowing rate.</div> <div style=" margin-top: 0; margin-bottom: 0">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(e)</div></td> <td><div style="display: inline; font-style: italic;">Cash and Cash Equivalents</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company considers all highly liquid investments with original maturities of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> months or less to be cash equivalents. At <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>the Company did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> have any cash equivalents and at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017, </div>cash equivalents primarily consisted of money market accounts and certificates of deposit that are readily convertible into cash.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company maintains its cash in bank deposit accounts, money market funds, and certificates of deposit that at times exceed federally insured limits. The Company periodically reviews the financial stability of institutions holding its accounts and does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> believe it is exposed to any significant custodial credit risk on cash. The amounts contained within the Company&#x2019;s main operating accounts at Bank of America and TD Bank at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>exceed the federal depository insurance limit by approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$3.8</div>&nbsp;million.</div> <!-- Field: Page; Sequence: 40; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"></div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(f)</div></td> <td><div style="display: inline; font-style: italic;">Accounts Receivable</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company periodically reviews the collectability of its accounts receivable. Provisions are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable requires management&#x2019;s judgment. Conditions impacting the realizability of the Company&#x2019;s receivables could cause actual asset write-offs to be materially different than the reserved balances as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018.</div></div> <div style=" margin-top: 0; margin-bottom: 0">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(g)</div></td> <td><div style="display: inline; font-style: italic;">Inventories</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Inventories include material, labor, and manufacturing overhead and are valued at the lower of cost or net realizable value. Cost is determined using the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div>-in, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div>-out (&#x201c;FIFO&#x201d;) method.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company periodically reviews the realizability of its inventory for potential excess or obsolescence. Determining the net realizable value of inventory requires management&#x2019;s judgment. Conditions impacting the realizability of the Company&#x2019;s inventory could cause actual asset write-offs to be materially different than the Company&#x2019;s current estimates as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018.</div></div> <div style=" margin-top: 0; margin-bottom: 0">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(h)</div></td> <td><div style="display: inline; font-style: italic;">Property, Plant, and Equipment</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Property, plant, and equipment are stated at cost and are depreciated or amortized using the straight-line method over the estimated useful lives of the assets or the related lease term, if shorter.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Estimated useful lives of property, plant, and equipment are as follows:</div> <div style=" font-size: 10pt; text-align: justify; text-indent: -9pt; margin: 0pt 0 0pt 63pt">&nbsp;</div> <div> <table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in; text-align: left; vertical-align: top"><div style="display: inline; font-size: 10pt">Leasehold improvements</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="text-align: center; white-space: nowrap"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" margin-top: 0; margin-bottom: 0; text-align: center"></div></div></div></div> <div style=" margin-top: 0; margin-bottom: 0; text-align: center"><div style="display: inline; font-size: 10pt">Shorter of estimated useful life or remaining lease term</div></div> </td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in; width: 63%"><div style="display: inline; font-size: 10pt">Buildings and improvements (in years)</div></td> <td style="font-size: 10pt; width: 1%"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 12%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">20 </div></div></td> <td style="font-size: 10pt; width: 12%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">-</div></div></td> <td style="width: 12%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> 40</div></div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in"><div style="display: inline; font-size: 10pt">Machinery &amp; Equipment</div> (in years)</td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">7 </div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">-</div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">15</div></div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in"><div style="display: inline; font-size: 10pt">Furniture, fixtures, computers &amp; software</div> (in years)</td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">3 </div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">-</div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> 7</div></div></td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Property, plant, and equipment amounts are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be recoverable. An impairment loss would be recognized when the carrying amount of an asset exceeds the estimated undiscounted future cash flows expected to result from the use of the asset and its eventual disposition. The amount of the impairment loss to be recorded is calculated by the excess of the asset&#x2019;s carrying value over its fair value. <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No</div> events or changes in circumstances arose during the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>which required management to perform an impairment analysis.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(i)</div></td> <td><div style="display: inline; font-style: italic;">Goodwill</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" margin: 0pt 0 0pt 1in; font-size: 10pt">Goodwill is tested for impairment annually and will be tested for impairment between annual tests if an event occurs or circumstances change that would indicate that the carrying amount <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be impaired. Impairment testing for goodwill is done at a reporting unit level. Reporting units are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> level below the business segment level but can be combined when reporting units within the same segment have similar economic characteristics. An impairment loss generally would be recognized when the carrying amount of the reporting unit&#x2019;s net assets exceeds the estimated fair value of the reporting unit. The Company consists of a single reporting unit. In testing goodwill for impairment at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>the Company primarily utilized the guideline public company (&#x201c;GPC&#x201d;) method under the market approach and the discounted cash flows method (&#x201c;DCF&#x201d;) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting unit&#x2019;s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value of a series of estimated future cash flows at the valuation date by the application of a discount rate, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> that a prudent investor would require before making an investment in our equity securities. The key assumptions used in our approach included:</div> <div style=" margin: 0pt 0 0pt 1in; font-size: 10pt">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 1in"></td> <td style="width: 0.5in"><div style="display: inline; font-family: Symbol">&middot;</div></td> <td>The reporting unit&#x2019;s estimated financials and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div>-year projections of financial results, which were based on our strategic plans and long-range forecasts. Sales growth rates represent estimates based on current and forecasted sales mix and market conditions. The profit margins were projected based on historical margins, projected sales mix, current expense structure and anticipated expense modifications.</td> </tr>  </table> <!-- Field: Page; Sequence: 41; Value: 1 -->   <!-- Field: /Page --> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 1in"></td> <td style="width: 0.5in"><div style="display: inline; font-family: Symbol">&middot;</div></td> <td>The projected terminal value which reflects the total present value of projected cash flows beyond the last period in the DCF. This value reflects a growth rate for the reporting unit, which is approximately the same growth rate of expected inflation into perpetuity.</td> </tr>  </table> <div style=" margin: 0pt 0; font-size: 10pt">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 1in"></td> <td style="width: 0.5in"><div style="display: inline; font-family: Symbol">&middot;</div></td> <td>The discount rate determined using a Weighted Average Cost of Capital method (&#x201c;WACC&#x201d;), which considered market and industry data as well as Company-specific risk factors.</td> </tr>  </table> <div style=" margin: 0pt 0; font-size: 10pt">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 1in"></td> <td style="width: 0.5in"><div style="display: inline; font-family: Symbol">&middot;</div></td> <td>Selection of guideline public companies which are similar in size and market capitalization to each other and to the Company.</td> </tr>  </table> <div style=" margin: 0pt 0; font-size: 10pt">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">As of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>based on our calculations under the above noted approach, the fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations, management used its most reasonable estimates of the key assumptions discussed above. If our actual operating results and/or the key assumptions utilized in management&#x2019;s calculations differ from our expectations, it is possible that a future impairment charge <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be necessary.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The net carrying amounts of goodwill for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> are as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0 0pt 1in; color: Red"></div> <div> <table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Goodwill</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 65%; font-size: 10pt"><div style="display: inline; font-size: 10pt">December 31, 2017</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">7,322</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 20%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; white-space: nowrap"><div style="display: inline; font-size: 10pt">Acquired in Dielectrics business combination (See Note 22)</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">44,516</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">December 31, 2018</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">51,838</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0; text-indent: 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0; text-indent: 1in">Approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$47.9</div> million of goodwill is deductible for tax purposes.</div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(j)</div></td> <td><div style="display: inline; font-style: italic;">Intangible Assets</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Intangible assets with a definite life are amortized on a straight-line basis, with estimated useful lives ranging from <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div> years. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that their carrying values <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be recoverable. <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No</div> events or changes in circumstances arose during the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>which required management to perform an impairment analysis.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(k)</div></td> <td><div style="display: inline; font-style: italic;">Revenue Recognition</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Beginning in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> the Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> which include (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1</div>) identifying the contract with a customer, (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div>) identifying separate performance obligations within the contract, (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div>) determining the transaction price, (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4</div>) allocating the transaction price to the performance obligations, and (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div>) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> transfer to the customer, which results in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services as the services are performed. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company&#x2019;s promise to transfer the good and are expensed when revenue is recognized.</div> <div style=" font-size: 10pt; text-indent: -1in; margin: 0pt 0 0pt 1in">&nbsp;</div> <!-- Field: Page; Sequence: 42; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">For the years <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> prior to ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606,</div> the Company recognized revenue at the time of shipment when title and risk of loss have passed to the customer, persuasive evidence of an arrangement exists, performance of its obligation is complete, its price to the buyer is fixed or determinable, and the Company is reasonably assured of collection. Determination of these criteria, in some cases, requires management&#x2019;s judgment.</div> <div style=" font-size: 10pt; text-indent: -1in; margin: 0pt 0 0pt 1in">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(l)</div></td> <td><div style="display: inline; font-style: italic;">Share-Based Compensation</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">When accounting for equity instruments exchanged for employee services, share-based compensation cost is measured at the grant date, based on the calculated fair value of the award, and is recognized as an expense over the employee&#x2019;s requisite service period (generally the vesting period of the equity grant). Forfeitures are expensed as they occur.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company issues share-based awards through several plans that are described in detail in Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12.</div> The compensation cost charged against income for those plans is included in selling, general &amp; administrative expenses as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"></div> <div> <table style="border-collapse: collapse;margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Share-based compensation expense</td> <td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,212</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,068</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,056</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The compensation expense for stock options granted during the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div>-year period ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> was determined as the fair value of the options using the Black Scholes valuation model. The assumptions are noted as follows:</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div> <table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="13" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Years Ended December 31,</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2018</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="5" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2017</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2016</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Expected volatility</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">27.7</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 5%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">27.4% </div></div></td> <td style="width: 5%; font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">- </div></div></td> <td style="width: 5%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">29.1%</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">29.7</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Expected dividends</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">None</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">&nbsp;</div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">None</div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">&nbsp;</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">None</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Risk-free interest rate</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">2.7</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.56%</div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> - </div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.84%</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">0.9</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Exercise price</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">31.20</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">$27.05 </div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">&#x2013; </div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">$28.70</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">22.02</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Expected term (in years)</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">6.0</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">2.7</div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> to </div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">5.8 </div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">5.0</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Weighted-average grant-date fair value</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">10.15</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">5.59</div></div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font-size: 10pt; text-align: center; margin: 0pt 6.75pt 0pt 5.5pt"><div style="display: inline; font-size: 10pt"> -</div></div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> $8.51</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">6.11</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The stock volatility for each grant is determined based on a review of the experience of the weighted average of historical daily price changes of the Company&#x2019;s common stock over the expected option term, and the risk-free interest rate is based on the U.S. Treasury yield curve in effect at the time of grant for periods corresponding with the expected term of the option. The expected term is estimated based on historical option exercise activity.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The total income tax benefit recognized in the consolidated statements of income for share-based compensation arrangements was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$544,000,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$525,000</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$318,000</div> for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> respectively.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(m)</div></td> <td><div style="display: inline; font-style: italic;">Deferred Rent</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company accounts for escalating rental payments on a straight-line basis over the term of the lease.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(n)</div></td> <td><div style="display: inline; font-style: italic;">Shipping and Handling Costs</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Costs incurred related to shipping and handling are included in cost of sales. Amounts charged to customers pertaining to these costs are included in net sales.</div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <!-- Field: Page; Sequence: 43; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0"></div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(o)</div></td> <td><div style="display: inline; font-style: italic;">Income Taxes</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company&#x2019;s income taxes are accounted for under the asset and liability method. Under the asset and liability method, deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis and operating loss and tax credit carryforwards. Deferred tax expense or benefit results from the net change during the year in deferred tax assets and liabilities. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company evaluates the need for a valuation allowance to reduce its deferred tax assets to the amount that is more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to be realized. The Company has considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance. Should the Company determine that it would <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be able to realize all or part of its deferred tax assets in the future, an adjustment to the deferred tax assets would be charged to income in the period such determination was made.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company recognizes the tax benefit from an uncertain tax position only if it is more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from such positions are then measured based on the largest benefit that has a greater than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50%</div> likelihood of being realized upon settlement. The Company recognizes interest and penalties accrued related to unrecognized tax benefits in tax expense.</div> <div style=" margin-top: 0; margin-bottom: 0">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(p)</div></td> <td><div style="display: inline; font-style: italic;">Segments and Related Information</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company follows the provisions of Accounting Standards Codification (ASC) <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">280,</div> <div style="display: inline; font-style: italic;">Segment Reporting</div>, which establish standards for the way public business enterprises report information and operating segments in annual financial statements (see Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18</div>).</div> <div style=" font-size: 10pt; text-indent: 4.3pt; margin: 0pt 0 0pt 22.3pt">&nbsp;</div> <table style="; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top; text-align: justify"> <td style="width: 0.5in; text-align: right"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(q)</div></td> <td style="text-align: justify"><div style="display: inline; font-style: italic;">Treasury Stock</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company accounts for treasury stock under the cost method, using the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div>-in, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> out flow assumption, and we include treasury stock as a component of stockholders&#x2019; equity. The Company did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> repurchase any shares of common stock during the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017.</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0; text-indent: 0.5in"><div style="display: inline; font-style: italic;">Recent Accounting Pronouncements</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> May 2014, </div>the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No.</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2014</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">09,</div> <div style="display: inline; font-style: italic;">Revenue from Contracts with Customers</div>, which was subsequently updated (&#x201c;Accounting Standards Codification (ASC) <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606&#x201d;</div>). The Company adopted ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 1, 2018. </div>See Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div> for further details.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; background-color: white">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 2016, </div>the FASB issued ASU&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No.</div>&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">02,</div>&nbsp;&#x201c;<div style="display: inline; font-style: italic;">Leases (ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div>),</div>&#x201d; and issued subsequent amendments to the initial guidance in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 2018 </div>within ASU&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No.</div>&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">01</div>&nbsp;and in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> July 2018 </div>within ASU Nos.&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10</div>&nbsp;and&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11.</div>&nbsp;The standard requires lessees to recognize leases on the balance sheet as a&nbsp;right-of-use (&#x201c;ROU&#x201d;)&nbsp;asset and a lease liability, other than leases that meet the definition of a short-term lease. The liability will be equal to the present value of the lease payments. The asset will be based on the liability, subject to adjustment. Currently, under existing U.S. generally accepted accounting principles, the Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> recognize on the balance sheet a&nbsp;right-of-use&nbsp;asset or lease liability related to its operating leases. For income statement purposes, the leases will continue to be classified as either operating or finance. Operating leases will result in straight-line expense (similar to current operating leases) and finance leases will result in a front-loaded expense pattern (similar to current capital leases). The standard is effective for fiscal years, and interim periods within those fiscal years, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018.</div> Early adoption is permitted. The standard allows an entity to elect to have a date of initial application as of the beginning of the period of adoption. The standard provides for the option to elect a package of practical expedients upon adoption. </div></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <!-- Field: Page; Sequence: 44; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company adopted ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div> as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 1, 2019, </div>using a modified retrospective approach and applying the standard&#x2019;s transition provisions at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 1, 2019, </div>the effective date. The Company elected the package of practical expedients permitted under the transition guidance, which among other things, allows us to carryforward the historical lease classification.&nbsp; In addition, the Company elected to combine the lease and non-lease components into a single lease component for its leases and is making an accounting policy election to exclude from balance sheet reporting those leases with initial terms of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div> months or less. The Company estimates that adoption of the standard will result in recognition of operating lease ROU assets and lease liabilities of approximately&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$4.0</div> million&nbsp;and&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$4.1</div> million, respectively, with the difference due to deferred rent that will be reclassified to the ROU asset value. We do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expect adoption of the standard to materially affect our results of operations or cash flows.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; background-color: white">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 2017, </div>the FASB issued ASU&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No.</div>&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">04,</div>&nbsp;<div style="display: inline; font-style: italic;">Intangibles&#x2014;Goodwill and Other (ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350</div>), Simplifying the Test for Goodwill Impairment</div>. The guidance removes Step <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div> of the goodwill impairment test and eliminates the need to determine the fair value of individual assets and liabilities to measure goodwill impairment. A goodwill impairment will now be the amount by which a reporting unit&#x2019;s carrying value exceeds its fair value, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to exceed the carrying amount of goodwill. Entities will continue to have the option to perform a qualitative assessment to determine if a quantitative impairment test is necessary. The guidance will be applied prospectively and is effective for annual and interim goodwill impairment tests in fiscal years beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019.</div> Early adoption is permitted for any impairment tests performed on testing dates after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017.</div> The Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> believe adoption will have a material impact on its financial condition or results of operations.</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; font-style: italic;">Revisions</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Certain revisions have been made to the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017 </div>Condensed Consolidated Balance Sheet to conform to the current year presentation relating to a reclassification of deferred revenue. The reclassification resulted in an increase in deferred revenue and a decrease in accrued expenses in the amount of approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$297,000.</div> In addition, certain revisions have been made to the Condensed Consolidated Statements of Cash Flows for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> also due to a reclassification of deferred revenue. The reclassification resulted in an increase to the change in deferred revenue and a decrease in the change in accrued expenses in the amount of approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$91,000</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$206,000</div> for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> respectively. These revisions had <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> impact on previously reported net income and are deemed immaterial to the previously issued financial statements.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831775472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Revenue Recognition<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue from Contract with Customer [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Revenue Recognition</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 1, 2018, </div>the Company adopted ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606,</div> <div style="display: inline; font-style: italic;">Revenue from Contracts with Customers</div>, using the modified retrospective transition method. Under this method, the Company applied ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> to contracts under which all performance obligations were <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> completed as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 1, 2018 </div>and recognized the cumulative effect of initially applying the standard as an adjustment to the opening balance of retained earnings. Results for reporting periods beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 1, 2018 </div>are presented in accordance with ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606.</div> Prior period amounts are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> adjusted and are reported in accordance with requirements in ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">605,</div> <div style="display: inline; font-style: italic;">Revenue Recognition</div>, which is also referred to herein as &#x201c;legacy GAAP&#x201d;.</div> <!-- Field: Page; Sequence: 45; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The cumulative effect of the adoption on our condensed consolidated balance sheet, by applying the modified retrospective method as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> is as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red; text-indent: 0.5in"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Reported</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Adjusted</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31, <br /> 2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Cumulative <br /> Adjustments</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">January 1, <br /> 2018</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Assets:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; font-size: 10pt; text-align: left">Property, plant and equipment</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">106,716</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,027</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">107,743</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Accumulated depreciation and amortization</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(53,064</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(548</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(53,612</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Net property, plant and equipment</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">53,652</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">479</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">54,131</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Liabilities:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Deferred revenue</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">297</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">574</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">871</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Deferred income taxes</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,440</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(25</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,415</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Stockholders' equity:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Retained earnings</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">97,562</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(70</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">97,492</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following reflects the Company&#x2019;s condensed consolidated balance sheet and condensed consolidated statement of income on an as-reported basis and as if we had continued to recognize revenue under legacy GAAP (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31, 2018</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Reported</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Balances <br /> without <br /> adoption of <br /> ASC 606</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Difference</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="white-space: nowrap; font-size: 10pt">Assets:</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; font-size: 10pt; text-align: left">Property, plant and equipment</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">111,779</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">110,372</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,407</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Accumulated depreciation and amortization</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(54,112</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(53,110</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,002</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Net property, plant and equipment</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">57,667</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">57,262</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">405</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Liabilities:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Deferred revenue</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,507</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,129</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">378</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Deferred income taxes</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,129</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,154</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(25</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Stockholders' equity:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Retained earnings</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">111,802</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">111,750</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">52</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0; color: Red; text-indent: 0.5in"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">For the Year Ended December 31, 2018</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Reported</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Balances <br /> without <br /> adoption of <br /> ASC 606</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Difference</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left">Net sales</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">190,455</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">190,259</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">196</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-bottom: 1pt">Cost of sales</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">142,147</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">142,073</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">74</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Gross profit</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">48,308</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">48,186</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">122</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following summarizes the significant changes under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> as compared to legacy GAAP:</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-family: Symbol">&middot;</div></td> <td>Under legacy GAAP, the Company recognized revenue for certain customer tooling at the time the tooling was complete and accepted by the customer. Under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606,</div> as &#x201c;control&#x201d; of this tooling does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> transfer to the customer, the related purchase orders do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> qualify as an &#x201c;accounting contract&#x201d; and as a result the consideration received is recorded as deferred revenue and recognized over the estimated time for which parts are produced on each respective tool (approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div> years). The related costs to produce the tooling are capitalized and depreciated over the estimated useful life of the tool (approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two</div> years).</td> </tr>  </table> <!-- Field: Page; Sequence: 46; Value: 1 -->   <!-- Field: /Page --> <table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-family: Symbol">&middot;</div></td> <td>Under legacy GAAP, the Company recognized revenue on certain long-term agreements with variable pricing at the selling price that was in effect for the current period at the time of shipment. Under ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606,</div> the Company will recognize revenue for these contracts at the weighted average selling price for each part over the term of the agreement for any agreements where the Company estimates that we will <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be able to achieve the corresponding cost changes necessary to maintain a consistent margin over the term of the agreement. The Company has a small number of long-term agreements with variable pricing.</td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> which include (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1</div>) identifying the contract with a customer, (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div>) identifying separate performance obligations within the contract, (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div>) determining the transaction price, (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4</div>) allocating the transaction price to the performance obligations, and (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div>) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> transfer to the customer, which results in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services as the services are performed. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company&#x2019;s promise to transfer the good and are expensed when revenue is recognized.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; font-style: italic;">Disaggregated Revenue</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; font-style: italic;">&nbsp;</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following table presents the Company&#x2019;s revenue disaggregated by the major types of goods and services sold to our customers (in thousands) (See Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9</div> for further information regarding net sales by market):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: #0070C0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-style: italic; text-align: right">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left; border-bottom: Black 1pt solid">Net sales of:</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt">Products</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">183,186</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">146,275</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">144,210</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Tooling and Machinery</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,302</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,181</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,633</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Engineering services</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,967</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">387</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">289</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total net sales</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">190,455</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">147,843</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">146,132</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; font-style: italic;">Contract balances</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The timing of revenue recognition <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>differ from the timing of invoicing to customers. When invoicing occurs prior to revenue recognition, the Company has deferred revenue (contract liabilities), included within &#x201c;deferred revenue&#x201d; on the condensed consolidated balance sheets.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <!-- Field: Page; Sequence: 47; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following table presents opening and closing balances of contract liabilities for the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 (</div>in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: #0070C0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Contract Liabilities</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 85%; font-size: 10pt">Deferred revenue - January 1, 2018</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">871</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Acquired in Dielectrics business combination</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,175</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Increases due to consideration received from customers</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,188</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Revenue recognized</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,727</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 2.25pt">Deferred revenue - December 31, 2018</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,507</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Revenue recognized during the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>from amounts included in deferred revenue at the beginning of the period was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$615,000.</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">When invoicing occurs after revenue recognition, the Company has unbilled receivables (contract assets) included within &#x201c;receivables&#x201d; on the condensed consolidated balance sheet. Unbilled receivables were approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$65,000</div> at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>and was generated as a result of revenue recognized during the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>that had <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> yet been billed.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831836496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Supplemental Cash Flow Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashFlowSupplementalDisclosuresTextBlock', window );">Cash Flow, Supplemental Disclosures [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Supplemental Cash Flow Information</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; text-align: center">(in thousands)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Cash paid for:</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; font-size: 10pt; padding-left: 10pt">Interest</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,303</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">47</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">66</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Income taxes, net of refunds</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,463</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,878</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,562</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Non-cash investing and financing activities:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Capital additions accrued but not yet paid</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">218</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">85</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">87</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">During the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> the Company permitted the exercise of stock options with exercise proceeds paid with the Company&#x2019;s stock (&#x201c;cashless&#x201d; exercises) totaling approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$172,000,</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$166,000,</div> respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashFlowSupplementalDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental cash flow activities, including cash, noncash, and part noncash transactions, for the period. Noncash is defined as information about all investing and financing activities of an enterprise during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -URI http://asc.fasb.org/topic&amp;trid=2134446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowSupplementalDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831781520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Receivables<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Receivables</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Receivables consist of the following (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt; text-align: left">Accounts receivable&#x2013;trade</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28,885</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22,033</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Less allowance for doubtful receivables</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(564</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(652</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Receivables, net</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28,321</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21,381</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Receivables are written off against these reserves in the period they are determined to be uncollectable, and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt provision. The Company performs credit evaluations on its customers and obtains credit insurance on a large percentage of its accounts but does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> generally require collateral. The Company recorded a (reversal of) provision for doubtful accounts of approximately $(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50,000</div>) and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$116,000</div> for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017,</div> respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84173941&amp;loc=d3e5074-111524<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=84173941&amp;loc=d3e5162-111524<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84173941&amp;loc=d3e5066-111524<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=6488278&amp;loc=d3e603758-122996<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831877376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Inventories<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventory Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Inventories</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Inventories consist of the following (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt; text-align: left">Raw materials</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,727</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,898</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Work in process</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,521</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,207</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Finished goods</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,328</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,758</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total Inventory</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19,576</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,863</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831776864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Other Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Intangible Assets Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Other Intangible Assets</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The carrying values of the Company&#x2019;s definite-lived intangible assets as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>are as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Tradename <br /> &amp; Brand</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Non-<br /> Compete</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Customer<br /> List</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Total</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">Estimated useful life</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">10 years</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">5 years</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">20 years</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%; font-size: 10pt; text-align: left">Gross amount</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">367</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">462</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22,555</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,384</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Accumulated amortization</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(33</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(85</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,034</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,152</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Net balance</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">334</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">377</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21,521</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22,232</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The weighted-average amortization period for all intangible assets is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19.6</div> years. Amortization expense related to intangible assets was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.2</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.3</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.3</div> million for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> respectively. The estimated remaining amortization expense as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>is as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; text-indent: -0.35pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 35%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2019</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,257</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 50%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2020</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,257</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2021</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,257</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2022</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,257</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2023</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,172</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">Thereafter</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">16,032</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">Total</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">22,232</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831796544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Property, Plant, and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, Plant and Equipment Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Property, Plant and Equipment</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Property, plant and equipment consist of the following (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt; text-align: left">Land and improvements</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,191</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,191</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Buildings and improvements</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35,187</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28,939</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Leasehold improvements</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,843</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,553</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Machinery &amp; Equipment</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">62,441</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">58,602</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Furniture, fixtures, computers &amp; software</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,119</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,820</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Construction in progress</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">999</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,611</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">111,780</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">106,716</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Depreciation and amortization expense of Property, Plant and Equipment for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> were approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$6.6</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$5.3</div> million, and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$5.3</div> million, respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI http://asc.fasb.org/topic&amp;trid=2155823<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831764368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Indebtedness<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Debt Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Indebtedness </div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 2, 2013, </div>the Company entered into an unsecured <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$40</div> million revolving credit facility with Bank of America, N.A. The credit facility called for interest of LIBOR plus a margin that ranged from <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.0%</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.5%</div> or, at the discretion of the Company, the bank&#x2019;s prime rate less a margin that ranged from <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.25%</div> to zero. In both cases the applicable margin was dependent upon Company performance. Under the credit facility, the Company was subject to a minimum fixed-charge coverage financial covenant as well as a maximum total funded debt to EBITDA financial covenant. The credit facility was amended effective <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2014, </div>to modify the definition of &#x201c;consolidated fixed-charge coverage ratio&#x201d;. The Company&#x2019;s <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$40</div> million credit facility was to mature on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> November 30, 2018.</div></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2018, </div>the Company, as the borrower, entered into an unsecured <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$70</div> million Amended and Restated Credit Agreement (the &#x201c;Amended and Restated Credit Agreement&#x201d;) with the Company&#x2019;s subsidiaries (the &#x201c;Subsidiary Guarantors&#x201d;) and Bank of America, N.A., in its capacity as the initial lender, Administrative Agent, Swingline Lender and L/C Issuer, and certain other lenders from time to time party thereto. The Amended and Restated Credit Agreement amends and restates the Company&#x2019;s prior credit agreement.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The credit facilities under the Amended and Restated Credit Agreement (the &#x201c;Amended and Restated Credit Facilities&#x201d;) consist of a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$20</div> million unsecured term loan and an unsecured revolving credit facility, under which the Company <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>borrow up to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$50</div> million. The Amended and Restated Credit Agreement matures on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2023.&nbsp; </div>The proceeds borrowed pursuant to the Amended and Restated Credit Agreement <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be used for general corporate purposes, including funding the acquisition of&nbsp;Dielectrics Inc. (&#x201c;Dielectrics&#x201d;) (See Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22</div>), as well as certain other permitted acquisitions. The Company&#x2019;s obligations under the Amended and Restated Credit Agreement are guaranteed by the Subsidiary Guarantors.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Amended and Restated Credit Agreement calls for interest of LIBOR plus a margin that ranges from <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.0%</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1.5%</div> or, at the discretion of the Company, the bank&#x2019;s prime rate less a margin that ranges from <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">.25%</div> to zero. In both cases the applicable margin is dependent upon Company performance.&nbsp; Under the Amended and Restated Credit Agreement, the Company is subject to a minimum fixed-charge coverage financial covenant as well as a maximum total funded debt to EBITDA financial covenant.&nbsp; The Amended and Restated Credit Agreement contains other covenants customary for transactions of this type, including restrictions on certain payments, permitted indebtedness and permitted investments.&nbsp; As of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>the applicable interest rate was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3.52%</div> and the Company was in compliance with all covenants under the Amended and Restated Credit Agreement.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Included in the Amended and Restated Credit Facilities were approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.6</div> million in standby letters of credit as a financial guarantee on worker&#x2019;s compensation insurance policies.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Long-term debt consists of the following (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">December 31, <br /> 2018</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 35%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Revolving credit facility</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">8,000</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 50%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">Term loan</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">17,143</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Total long-term debt</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">25,143</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Current portion</td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">(2,857</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">Long-term debt, excluding current portion</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">22,286</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; font-style: italic;">Derivative Financial Instruments</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company uses interest-rate-related derivative instruments to manage its exposure related to changes in interest rates on certain of its variable-rate debt instruments. The Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> enter into derivative instruments for any purpose other than cash flow hedging. The Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> speculate using derivative instruments. By using derivative financial instruments to hedge exposures to changes in interest rates, the Company exposes itself to credit risk and market risk. Credit risk is the failure of the counterparty to perform under the terms of the derivative contract. When the fair value of a derivative contract is positive, the counterparty owes the Company, creating credit risk for the Company. When the fair value of a derivative contract is negative, the Company owes the counterparty and, therefore, in these circumstances the Company is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> exposed to the counterparty&#x2019;s credit risk. The Company minimizes counterparty credit risk in derivative instruments by entering into transactions with carefully selected major financial institutions based upon their credit profile. Market risk is the adverse effect on the value of a derivative instrument that results from a change in interest rates. The market risk associated with interest-rate contracts is managed by establishing and monitoring parameters that limit the types and degree of market risk that <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be undertaken.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <!-- Field: Page; Sequence: 50; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company assesses interest rate risk by continually identifying and monitoring changes in interest rate exposures that <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>adversely impact expected future cash flows and by evaluating hedging opportunities. The Company&#x2019;s debt obligations expose the Company to variability in interest payments due to changes in interest rates. The Company believes that it is prudent to limit the variability of a portion of its interest payments. To meet this objective, in connection with the Amended and Restated Credit Agreement, the Company entered into a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$20</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div>-year interest rate swap agreement under which the Company receives <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div>-month LIBOR plus the applicable margin and pays a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2.7%</div> fixed rate plus the applicable margin. The swap modifies the Company&#x2019;s interest rate exposure by converting the term loan from a variable rate to a fixed rate in order to hedge against the possibility of rising interest rates during the term of the loan. The notional amount was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$17,142,856</div> at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018. </div>The fair value of the swap as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$64,000</div> and is included in other assets. Changes in the fair value of the swap are recorded in other income/expense and resulted in income of approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$64,000</div> during the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018.</div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831749584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Accrued Expenses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Accrued Expenses</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Accrued expenses consist of the following (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt; text-align: left">Compensation</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,529</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,536</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Benefits / self-insurance reserve</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">782</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">334</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Paid time off</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,131</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">990</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Commissions payable</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">384</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">309</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt">Other</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,632</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,297</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,458</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,466</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a),20,24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831754912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Tax Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Income Taxes</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company&#x2019;s income tax provision for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div> consists of the following (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="white-space: nowrap; font-size: 10pt">Current</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; font-size: 10pt; padding-left: 10pt">Federal</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,772</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,117</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,120</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt">State</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">439</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">551</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">651</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,211</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,668</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,771</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Deferred</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-left: 10pt">Federal</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,917</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,091</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">546</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt">State</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(36</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">72</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,881</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,019</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">576</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total income tax provision</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,092</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,649</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,347</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <!-- Field: Page; Sequence: 51; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"></div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"><div style="display: inline; font-size: 10pt">The approximate tax effects of temporary differences that give rise to significant portions of the deferred tax assets and liabilities are as follows (in thousands):</div><div style="display: inline; font-family: Sans-Serif; font-size: 9pt; color: Red"><div style="display: inline; font-weight: bold;"></div></div></div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"><div style="display: inline; font: 9pt Sans-Serif; color: Red"><div style="display: inline; font-weight: bold;">&nbsp;</div></div></div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"></div> <div> <table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Deferred tax assets:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 70%; font-size: 10pt; text-align: left; padding-left: 10pt">Reserves</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">367</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">398</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Inventory capitalization</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">421</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">228</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Compensation programs</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">447</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">394</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Retirement liability</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Equity-based compensation</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">290</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">158</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Deferred rent</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Intangible assets</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">141</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">274</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Tax credits</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">257</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 20pt">Total deferred tax assets</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,936</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,465</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Deferred tax liabilities:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Excess of book over tax basis of fixed assets</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,668</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,305</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Goodwill</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,397</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(600</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt">Total deferred tax liabilities</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(6,065</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,905</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 20pt">Net long-term deferred tax liabilities</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,129</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,440</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">)</td> </tr>  </table> </div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">The amounts recorded as deferred tax assets as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017,</div> represent the amount of tax benefits of existing deductible temporary differences or carryforwards that are more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to be realized through the generation of sufficient future taxable income within the carryforward period. The Company has total deferred tax assets of approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.9</div> million at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>that it believes are more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to be realized in the carryforward period. Management reviews the recoverability of deferred tax assets during each reporting period.</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">The Company has approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$325,000</div> of tax credit carryforwards related to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> state jurisdiction that expire in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2022.</div></div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">The actual tax provision for the years presented differs from the &#x201c;expected&#x201d; tax provision for those years, computed by applying the U.S. federal corporate rate of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21%</div> to income before income tax expense as follows:</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left">Computed &#x201c;expected&#x201d; tax rate</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.0</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34.0</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34.0</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Increase (decrease) in income taxes resulting from:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">State taxes, net of federal tax benefit</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2.8</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3.5</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3.7</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Meals and entertainment</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.2</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.3</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.2</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Tax credits</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1.9</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(0.6</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(0.6</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Domestic production deduction</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2.6</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2.5</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Non-deductible ISO stock option expense</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.3</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Unrecognized tax benefits</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(0.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Excess tax benefits on equity awards</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1.3</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1.4</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Excess compensation</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.8</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Impact on deferred taxes of new legislation</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(11.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Other</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.5</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.1</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.3</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Effective tax rate</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22.2</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22.3</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35.3</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</div> <!-- Field: Page; Sequence: 52; Value: 1 -->   <!-- Field: /Page --> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt"></div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">The Company files income tax returns in the U.S. federal jurisdiction and various state jurisdictions. The&nbsp;Company has <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> been audited by any state for income taxes with the exception of returns filed in Michigan which have been audited through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2004,</div> income tax returns filed in Massachusetts which have been audited through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2007,</div> income tax returns filed in Florida which have been audited through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2009,</div> income tax returns filed in New Jersey which have been audited through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2012,</div> and income tax returns in Colorado which have been audited through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2013.</div> Income tax returns in Colorado are currently being audited for the years <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2014</div> through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017.</div> Federal and state tax returns for the years <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2015</div> through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> remain open to examination by the IRS and various state jurisdictions.</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">A reconciliation of the beginning and ending amount of gross unrecognized tax benefits (&#x201c;UTB&#x201d;) resulting from uncertain tax positions is as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt; text-align: left">Gross UTB balance at beginning of fiscal year</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">150</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">150</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Reductions for tax positions of prior years</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Gross UTB balance at end of fiscal year</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">150</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">150</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$150,000</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$150,000,</div> respectively.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">In addition, the total amount of accrued interest and penalties on uncertain tax positions at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> is <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$153,000</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$153,000,</div> respectively.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">At <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>all of the unrecognized tax benefits relate to tax returns of a specific state jurisdiction that are currently under examination. On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 17, 2019 </div>the Company came to an agreement with the state and on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 21, 2019 </div>the Company received a check in the amount of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$156,000</div> as settlement of the unrecognized tax benefits. Therefore, the Company anticipates a reduction to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">zero</div> of its gross UTB balance in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> quarter of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019.</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 22, 2017, </div>the United States enacted tax reform legislation commonly known as the Tax Cuts and Jobs Act (the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x201c;2017</div> Tax Act&#x201d;), resulting in significant modifications to existing law.&nbsp; Also on this date, the Securities and Exchange Commission issued Staff Accounting Bulletin (SAB) <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No.</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">118</div> to provide guidance to companies on how to implement the accounting and disclosure changes in situations when a registrant does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> have the necessary information available, prepared, or analyzed (including computations) in reasonable detail to complete the accounting for certain income tax effects of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">H.R.1,</div> also known as the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> Tax Act. Consistent with SAB <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">118,</div> &nbsp;the Company provisionally recorded an income tax benefit of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.5</div> million related to the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> Tax Act, including remeasurement of its deferred tax assets and liabilities, and executive compensation limitations under Internal Revenue Code Section <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">162</div>(m), among others.&nbsp;</div> <div style=" font-size: 10pt; text-align: justify; text-indent: 0.5in; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">As of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> the Company has completed its assessment of the total impact of the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> Tax Act, which resulted in a reduction in our deferred tax assets and liabilities for the change in the domestic tax rate and a reduction of deferred tax assets related to executive stock-based compensation that would <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be realized under the provisions of Internal Revenue Code Section <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">162</div>(m). In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> we revised our overall reduction in our deferred tax assets by <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$50,000</div> to reflect our analysis over stock- based compensation.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831877376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Net Income Per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Earnings Per Share [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Net Income Per Share</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Basic income per share is based upon the weighted average common shares outstanding during each year. Diluted income per share is based upon the weighted average of common shares and dilutive common stock equivalent shares outstanding during each year. The weighted average number of shares used to compute both basic and diluted income per share consisted of the following (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left">Basic weighted average common shares outstanding during the year</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,347</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,248</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,190</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Weighted average common equivalent shares due to stock options and restricted stock units</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">83</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">89</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">85</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Diluted weighted average common shares outstanding during the year</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,430</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,337</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,275</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options, when the average market price of the common stock is lower than the exercise price of the related options during the period. These outstanding stock awards are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> included in the computation of diluted earnings per share because the effect would have been antidilutive.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">For the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> the number of stock awards excluded from the computation was <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,344,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27,336</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">52,377,</div> respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI http://asc.fasb.org/topic&amp;trid=2144383<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831797984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Stock Option and Equity Incentive Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Disclosure of Compensation Related Costs, Share-based Payments [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Stock Option and Equity Incentive Plans</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Share-based compensation is measured at the grant date based on the fair value of the award and is recognized as an expense over the requisite service period (generally the vesting period of the equity grant).</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company issues share-based awards through several plans that are described below. The compensation cost charged against income for those plans is included in selling, general &amp; administrative expenses as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; color: #8497B0; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold"><div style="display: inline; text-decoration: underline;">Share-based compensation related to:</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left">Common stock grants</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">505</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">505</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">505</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Stock option grants</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">149</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">138</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">237</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Restricted Stock Unit awards</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">559</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">425</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">314</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total share-based compensation</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,213</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,068</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,056</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; text-decoration: underline;">Incentive Plan</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 2003, </div>the Company formally adopted the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2003</div> Incentive Plan (the &#x201c;Plan&#x201d;). The Plan was originally intended to benefit the Company by offering equity-based incentives to certain of the Company&#x2019;s executives and employees, thereby giving them a permanent stake in the growth and long-term success of the Company and encouraging the continuance of their involvement with the Company&#x2019;s businesses. The Plan was amended effective <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 4, 2008, </div>to permit certain performance-based cash awards to be made under the Plan. The Plan was further amended on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 8, 2011, </div>to increase the maximum number of shares of common stock in the aggregate to be issued to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,250,000.</div> The Plan was further amended on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> March 7, 2013, </div>to (i) prohibit the repricing of stock options or other equity awards without the consent of the Company&#x2019;s shareholders, and (ii) prohibit the Company from buying out underwater stock options.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Two types of equity awards <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be granted to participants under the Plan: restricted shares or other stock awards. Restricted shares are shares of common stock awarded subject to restrictions and to possible forfeiture upon the occurrence of specified events. Other stock awards are awards that are denominated or payable in, valued in whole or in part by reference to, or otherwise based on or related to, shares of common stock. Such awards <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>include Restricted Stock Unit Awards (&#x201c;RSUs&#x201d;), unrestricted or restricted stock, incentive and non-qualified stock options, performance shares, or stock appreciation rights. The Company determines the form, terms, and conditions, if any, of any awards made under the Plan.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <!-- Field: Page; Sequence: 54; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,236,812</div> shares of common stock have been issued under the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2003</div> Incentive Plan, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">none</div> of which have been restricted. An additional <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">73,392</div> shares are being reserved for outstanding grants of RSUs and other share-based compensation that are subject to various performance and time-vesting contingencies. The Company has also granted awards in the form of stock options under this Plan. Through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">185,000</div> options have been granted and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">49,375</div> options are outstanding. At <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">854,077</div> shares or options are available for future issuance in the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2003</div> Incentive Plan.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; text-decoration: underline;">Director Plan</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Effective <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> July 15, 1998, </div>the Company adopted the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1998</div> Director Plan, which was amended and renamed, on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 3, 2009, </div>the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2009</div> Non-Employee Director Stock Incentive Plan (the &#x201c;Director Plan&#x201d;). The Director Plan was amended on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> March 7, 2013, </div>to (i) prohibit the repricing of stock options or other equity awards without the consent of the Company&#x2019;s shareholders, and (ii) prohibit the Company from buying out underwater stock options. The Director Plan, as amended, provides for the issuance of stock options and other equity-based securities of up to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">975,000</div> shares to non-employee members of the Company&#x2019;s board of directors. Through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">348,490</div> options have been granted and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">106,543</div> options are outstanding. For the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,366</div> shares of common stock were issued, and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">101,626</div> shares remained available to be issued under the Director Plan.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following is a summary of stock option activity under all plans:</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Shares Under <br /> Options</td> <td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-weight: bold;">Weighted <br /> Average <br /> Exercise <br /> Price</div><br /> <div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal">&nbsp;(per share)</div></td> <td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-weight: bold;">Weighted <br /> Average <br /> Remaining <br /> Contractual <br /> Life</div><br /> <div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal">(in years)</div></td> <td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-weight: bold;">Aggregate <br /> Intrinsic <br /> Value</div><br /> <div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal">(in thousands)</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%; font-size: 10pt">Outstanding December 31, 2017</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">202,739</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18.23</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Granted</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,344</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31.20</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Exercised</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(78,680</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31.43</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-bottom: 2.25pt">Outstanding December 31, 2018</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">134,403</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20.46</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.50</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,296</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 2.25pt">Exercisable at December 31, 2018</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">126,543</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19.97</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.53</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,286</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Vested and expected to vest at December 31, 2018</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">134,403</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20.46</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.50</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,296</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">During the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> the total intrinsic value of all options exercised (i.e.,&nbsp;the difference between the market price and the price paid by the employees to exercise the options) was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.2</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.6</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.7</div> million, respectively, and the total amount of consideration received from the exercise of these options was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.3</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.8</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.7</div> million, respectively. At its discretion, the Company allows option holders to surrender previously-owned common stock in lieu of paying the exercise price and withholding taxes. During the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> shares were surrendered for this purpose. During the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,511</div> shares (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,511</div> for options and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">zero</div> for taxes) were surrendered at an average market price of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$26.45.</div> During the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,514</div> shares (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,514</div> for options and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">zero</div> for taxes) were surrendered at an average market price of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$25.50.</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 21, 2018, </div>the Company&#x2019;s Compensation Committee approved the award of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$400,000</div> payable in shares of the Company&#x2019;s common stock to the Company&#x2019;s Chairman, Chief Executive Officer, and President under the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2003</div> Equity Incentive Plan. The shares were issued on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 12, 2018.</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 6, 2018 </div>the Company issued <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,366</div> shares of unrestricted common stock to the non-employee members of the Company&#x2019;s Board of Directors as part of their annual retainer for serving on the Board.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <!-- Field: Page; Sequence: 55; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company grants RSUs to its executive officers and employees. The stock unit awards are subject to various time-based vesting requirements, and certain portions of these awards are subject to performance criteria of the Company. Compensation expense on these awards is recorded based on the fair value of the award at the date of grant, which is equal to the Company&#x2019;s closing stock price, and is charged, to expense ratably during the service period. <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No</div> compensation expense is taken on awards that do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> become vested, and the amount of compensation expense recorded is adjusted based on management&#x2019;s determination of the probability that these awards will become vested. The following table summarizes information about stock unit award activity during the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018:</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Restricted <br /> Stock Units</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Weighted <br /> Average Award <br /> Date Fair Value</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt">Outstanding at December 31, 2017</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">57,395</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.03</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Awarded</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,831</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">29.36</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Shares vested</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(16,050</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.55</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-bottom: 2.25pt">Outstanding at December 31, 2018</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">72,176</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.60</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">At the Company&#x2019;s discretion, RSU holders are given the option to net-share settle to cover the required minimum withholding tax, and the remaining amount is converted into the equivalent number of common shares. During the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,238</div> shares were redeemed for this purpose at an average market price of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$27.60.</div> During the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,377</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,389</div> shares were redeemed for this purpose at an average market price of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$24.50</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$22.82,</div> respectively.</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">&nbsp;</div> <div style=" margin: 0pt 0 0pt 0.5in; font-size: 10pt">The following summarizes the future share-based compensation expense the Company will record as the equity securities granted through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>vest (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red; text-indent: 1in"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Options</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Common<br /> Stock</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Restricted<br /> Stock Units</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Total</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%; font-size: 10pt; text-align: left">2019</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">502</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">530</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">2020</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">416</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">444</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">2021</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">2022</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 10pt">Total</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">56</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,198</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,254</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Tax benefits totaling approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$145,000</div> were recognized as additional paid-in capital during the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> respectively, since the Company&#x2019;s tax deductions exceeded the share-based compensation charge recognized for stock options exercised and RSUs vested.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for compensation-related costs for equity-based compensation, which may include disclosure of policies, compensation plan details, allocation of equity compensation, incentive distributions, equity-based arrangements to obtain goods and services, deferred compensation arrangements, employee stock ownership plan details and employee stock purchase plan details.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 50<br> -URI http://asc.fasb.org/subtopic&amp;trid=2208855<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6840106336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Preferred Stock<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity Note Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Preferred Stock</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> March 18, 2009, </div>the Company declared a dividend of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> preferred share purchase right (a &#x201c;Right&#x201d;) for each outstanding share of common stock, par value <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.01</div> per share on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> March 20, 2009, </div>to the stockholders of record on that date. Each Right entitles the registered holder to purchase from the Company <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one one</div>-thousandth of a share of Series A Junior Participating Preferred Stock, par value <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.01</div> per share (the &#x201c;Preferred Share&#x201d;), of the Company, at a price of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$25.00</div> per <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one one</div>-thousandth of a Preferred Share subject to adjustment and the terms of the Rights Agreement. The rights expire on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> March 19, 2019. </div>On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> March 13, 2019, </div>the Company&#x2019;s Board of Directors voted <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to replace the rights when they expire.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI http://asc.fasb.org/topic&amp;trid=2208762<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831879184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Supplemental Retirement Benefits<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_SupplementalRetirementBenefitsDisclosureTextBlock', window );">Supplemental Retirement Benefits Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Supplemental Retirement Benefits</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company provides discretionary supplemental retirement benefits for certain retired officers, which will provide an annual benefit to these individuals for various terms following separation from employment. The Company recorded an expense of approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2,000,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$3,000</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$4,000</div> for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> respectively. The present value of the supplemental retirement obligation has been calculated using a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.1%</div> discount rate and is included in other liabilities. Total projected future cash payments for the year ending <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2019 </div>is approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$25,000,</div> representing the completion of all retirement arrangements under this arrangement.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_SupplementalRetirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental retirement benefits for certain retired officers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_SupplementalRetirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831843648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Commitments and Contingencies</div></td> </tr>  </table> <div style=" font-size: 10pt; text-indent: -0.25in; margin: 0pt 0 0pt 63pt">&nbsp;</div> <table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in">(a)</td> <td><div style="display: inline; font-style: italic;"><div style="display: inline; text-decoration: underline;">Leases</div></div> &#x2013; The Company has operating leases for certain facilities that expire through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2023.</div> Certain of the leases contain escalation clauses that require payments of additional rent as well as increases in related operating costs.</td> </tr>  </table> <div style=" font-size: 10pt; text-indent: -0.25in; margin: 0pt 0 0pt 63pt">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Future minimum lease payments under non-cancelable operating leases as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> are as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Years Ending December 31,</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Operating <br /> Leases</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 35%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2019</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,051</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 50%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2020</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,070</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2021</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,063</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2022</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">975</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">2023</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">36</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">Total minimum lease payments</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">4,195</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Rent expense amounted to approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.2</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.9</div> million, and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.8</div> million in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> respectively.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.5in"></td> <td style="width: 0.5in">(b)</td> <td><div style="display: inline; font-style: italic;"><div style="display: inline; text-decoration: underline;">Legal</div></div> &#x2013; From time to time, the Company <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be a party to various suits, claims and complaints arising in the ordinary course of business. In the opinion of management of the Company, these suits, claims and complaints should <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> result in final judgments or settlements that, in the aggregate, would have a material adverse effect on the Company&#x2019;s financial condition or results of operations.</td> </tr>  </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831797408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Employee Benefit Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock', window );">Compensation and Employee Benefit Plans [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">16</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Employee Benefit Plans</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company maintains a profit-sharing plan for eligible employees. Contributions to the Plan are made in the form of matching contributions to employee <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">401</div>(k) deferrals, as well as discretionary profit-sharing amounts determined by the Board of Directors to be funded by <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> March 15 </div>following each fiscal year. Contributions were approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.1</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.8</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.7</div> million in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> respectively.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company has a partially self-insured health insurance program that covers all eligible participating employees. The maximum liability is limited by a stop loss of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$225,000</div> per insured person, along with an aggregate stop loss determined by the number of participants.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company has an Executive, Non-qualified &#x201c;Excess&#x201d; Plan (&#x201c;the Plan&#x201d;), which is a deferred compensation plan available to certain executives. The Plan permits participants to defer receipt of part of their current compensation to a later date as part of their personal retirement or financial planning. Participants have an unsecured contractual commitment from the Company to pay amounts due under the Plan. There is currently <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> security mechanism to ensure that the Company will pay these obligations in the future.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The compensation withheld from Plan participants, together with gains or losses determined by the participants&#x2019; deferral elections is reflected as a deferred compensation obligation to participants and is classified within the liabilities section in the accompanying balance sheets. At <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017,</div> the balance of the deferred compensation liability totaled approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.0</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.0</div>&nbsp;million, respectively. The related assets, which are held in the form of a Company-owned, variable life insurance policy that names the Company as the beneficiary, are classified within the other assets section of the accompanying balance sheets and are accounted for based on the underlying cash surrender values of the policies and totaled approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.0</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.0</div> million as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017,</div> respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 712<br> -URI http://asc.fasb.org/topic&amp;trid=2197446<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -URI http://asc.fasb.org/topic&amp;trid=2127225<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI http://asc.fasb.org/topic&amp;trid=2235017<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndEmployeeBenefitPlansTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831680512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Fair Value of Financial Instruments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Disclosures [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">17</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Fair Value of Financial Instruments</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Financial instruments recorded at fair value in the consolidated balance sheets, or disclosed at fair value in the footnotes, are categorized based upon the level of judgment associated with the inputs used to measure their fair value. Hierarchical levels defined by ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">820,</div> <div style="display: inline; font-style: italic;">Fair Value Measurements and Disclosures</div>, and directly related to the amount of subjectivity associated with inputs to fair valuation of these assets and liabilities, are as follows:</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"><div style="display: inline; font-style: italic;">&nbsp;</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"><div style="display: inline; font-style: italic;">Level <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1</div></div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Valued based on unadjusted, quoted prices in active markets for identical assets or liabilities at the measurement date. An active market for the asset or liability is a market in which transactions for the asset or liability occur with sufficient frequency and volume to provide pricing information on an ongoing basis.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"><div style="display: inline; font-style: italic;">Level <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div></div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Valued based on either directly or indirectly observable prices for the asset or liability through correlation with market data at the measurement date and for the duration of the instrument&#x2019;s anticipated life.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"><div style="display: inline; font-style: italic;">Level <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div></div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Valued based on management&#x2019;s best estimate of what market participants would use in pricing the asset or liability at the measurement date. Consideration is given to the risk inherent in the valuation technique and the risk inherent in the inputs to the model.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following table presents the fair value and hierarchy levels, for financial assets that are measured at fair value on a recurring basis (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt"><div style="display: inline; text-decoration: underline;">Level 2</div></div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">December 31, <br /> 2018</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">Assets:</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt">Derivative financial instruments</td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">64</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 50%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Derivative financial instruments consist of an interest rate swap for which fair value is determined through the use of a pricing model that utilizes verifiable inputs such as market interest rates that are observable at commonly quoted intervals for the full term of the swap agreement.</div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company has financial instruments, such as accounts receivable, accounts payable, and accrued expenses, that are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company&#x2019;s long-term debt approximates fair value as the interest rate on the debt approximates the estimated borrowing rate currently available to the Company.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -URI http://asc.fasb.org/topic&amp;trid=2155941<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831851984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Segment Data<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment Reporting Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: top"> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Segment Data</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company consists of a <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">single </div></div>operating and reportable segment.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Revenues from customers outside of the United States are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> material. <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No</div> customer comprised more than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10%</div> of the Company&#x2019;s consolidated revenues for the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018. </div>A vast majority of the Company&#x2019;s assets are located in the United States.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <!-- Field: Page; Sequence: 58; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company&#x2019;s custom products are primarily sold to customers within the Medical, Consumer, Automotive, Aerospace and Defense, Electronics, and Industrial markets. Sales by market for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div> are as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Market</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Net Sales</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">%</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Net Sales</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">%</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Net Sales</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">%</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 28%; font-size: 10pt">Medical</td> <td style="width: 3%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">110,282</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">57.9</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> <td style="width: 3%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">70,087</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">47.4</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> <td style="width: 3%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">64,733</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">44.3</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">Consumer</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">24,989</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21,328</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14.4</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,721</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14.2</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Automotive</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,012</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10.5</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,118</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15.6</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27,255</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18.7</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Aerospace &amp; Defense</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,133</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.9</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,521</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7.8</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,951</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7.5</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Electronics</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,453</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.0</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,960</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,675</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.0</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-bottom: 1pt">Industrial</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,586</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.6</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,829</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.6</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,797</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7.4</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">&nbsp;&nbsp;&nbsp;&nbsp;Net Sales</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">190,455</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100.0</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">147,843</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100.0</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">146,132</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100.0</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Certain amounts for the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div> were reclassified between markets to conform to the current year presentation.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI http://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6648558816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Quarterly Financial Information (Unaudited)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationTextBlock', window );">Quarterly Financial Information [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Quarterly Financial Information (unaudited)</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Summarized quarterly financial data is as follows (in thousands, except per share data):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q1</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q2</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q3</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q4</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%; font-size: 10pt; text-align: left">Net sales</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">42,931</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">49,019</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">47,808</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50,697</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Gross profit</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,185</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,986</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,431</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,706</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Net income</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,777</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,990</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,134</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,410</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Basic net income per share</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.24</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.54</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.56</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.60</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Diluted net income per share</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.24</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.54</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.56</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.59</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q1</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q2</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q3</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q4</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%; font-size: 10pt; text-align: left">Net sales</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,053</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,886</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35,684</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,220</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Gross profit</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,516</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,941</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,193</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,837</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Net income</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,171</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,630</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,695</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,714</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Basic net income per share</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.30</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.36</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.23</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.38</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Diluted net income per share</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.30</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.36</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.23</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.37</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -URI http://asc.fasb.org/topic&amp;trid=2126967<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6839963392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Plant Consolidation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_PlantConsolidationDisclosureTextBlock', window );">Plant Consolidation Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Plant Consolidation</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> March 18, 2015, </div>the Company committed to move forward with a plan to cease operations at its Raritan, New Jersey, plant and consolidate operations into its Newburyport, Massachusetts, facility and other UFP facilities. The Company&#x2019;s decision was in response to a continued decline in business at the Raritan facility and the purchase of the facility in Newburyport. The activities related to this consolidation are complete.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company also relocated all operations in its Haverhill, Massachusetts, and Byfield, Massachusetts facilities and certain operations in its Georgetown, Massachusetts facility to Newburyport. The Haverhill and Byfield relocations were complete at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2015 </div>and the partial Georgetown relocation was complete at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> June 30, 2017.</div></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company incurred approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.1</div> million in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div>-time expenses in connection with the Massachusetts consolidations. Included in this amount are approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$180,000</div> relating to employee severance payments and relocation costs, approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.6</div> million in moving expenses and expenses associated with vacating the Raritan, Haverhill and Byfield properties, and approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$360,000</div> in lease termination costs. Total cash charges were approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.0</div> million.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <!-- Field: Page; Sequence: 59; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company has recorded the following restructuring costs associated with the consolidations discussed above for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div> (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2017</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2016</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: left"><div style="display: inline; font-size: 10pt"><div style="display: inline; text-decoration: underline;">Restructuring Costs</div></div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Massachusetts</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 50%; font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">Relocation</div></td> <td style="width: 1%; font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">63</div></div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">420</div></div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 20%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">Total restructuring costs</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">63</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">420</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The above costs were reclassified in the Consolidated Statement of Income as &#x201c;Restructuring Costs&#x201d; from Cost of Sales.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_PlantConsolidationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for plant consolidation consisting of restructuring and consolidation of plant facilities of the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_PlantConsolidationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6648558816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 21 - Material Overcharge Settlement<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LegalMattersAndContingenciesTextBlock', window );">Legal Matters and Contingencies [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Material Overcharge Settlement</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company was a participant in a class action lawsuit against a number of polyurethane foam suppliers (&#x201c;Defendants&#x201d;) that was settled during the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">second</div> quarter of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016.</div> The suit was filed to recover damages and obtain injunctive relief for Defendants&#x2019; alleged violations of the federal antitrust laws with respect to the fixing of prices of polyurethane foam sold from <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 1, 1999 </div>through <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> August 2010. </div>During the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> the Company received settlement amounts of approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.1</div> million, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$0.1</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$2.1</div> million, respectively. These settlement amounts are recorded as &#x201c;Material overcharge settlement&#x201d; in the operating income section of the Consolidated Statements of Income.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LegalMattersAndContingenciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LegalMattersAndContingenciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6828847232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 22 - Acquisition<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Business Combination Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;">  <tr style="vertical-align: top"> <td style="width: 0"></td> <td style="width: 0.5in"><div style="display: inline; font-weight: bold;">(<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22</div>)</div></td> <td><div style="display: inline; font-weight: bold;">Acquisition</div></td> </tr>  </table> <div style=" font-size: 10pt; margin: 0pt 0; text-indent: 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">On <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 1, 2018 </div>the Company purchased <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100%</div> of the outstanding shares of common stock of Dielectrics Inc., pursuant to a stock purchase agreement and related agreements, for an aggregate purchase price of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$80</div>&nbsp;million in cash. The purchase price was subject to adjustment based upon Dielectrics&#x2019; working capital at closing. An additional <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$250,000</div> of consideration was paid by the Company as a result of the final working capital adjustment. A portion of the purchase price is being held in escrow to indemnify the Company against certain claims, losses and liabilities. The Purchase Agreement contains customary representations, warranties and covenants customary for transactions of this type.</div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Founded in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1954</div> and based in Chicopee, Massachusetts, Dielectrics is a leader in the design, development, and manufacture of medical devices using thermoplastic materials. They primarily use radio frequency and impulse welding to design and manufacture solutions for the medical industry. The Company has leased the Chicopee location from a realty trust owned by the selling shareholder and affiliates. The lease is for <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div> years with <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">two five</div>-year renewal options.</div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <!-- Field: Page; Sequence: 60; Value: 1 -->   <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following table summarizes the allocation of consideration paid to the acquisition date fair value of the assets acquired and liabilities assumed based on management&#x2019;s estimates of fair value (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">Consideration Paid:</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Cash paid at closing</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">80,000</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 50%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 20pt"><div style="display: inline; font-size: 10pt">Working capital adjustment</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">250</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt"><div style="display: inline; font-size: 10pt">Cash from Dielectrics</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">(3,272</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Total consideration</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">76,978</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">Purchase Price Allocation:</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Accounts receivable</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">4,384</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Inventory</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">4,418</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Other current assets</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">122</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Property, plant and equipment</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">4,600</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Customer list</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">22,555</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Non-compete</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">462</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Trade name and brand</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">367</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Goodwill</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">44,516</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Total identifiable assets</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">81,424</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Accounts payable</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">(1,325</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Accrued expenses</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">(946</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Deferred revenue</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">(2,175</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">Net assets acquired</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">76,978</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Acquisition costs associated with the transaction were approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$1.1</div> million and were charged to expense in the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018. </div>These costs were primarily for investment banking and legal fees and are reflected on the face of the income statement.</div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The following table contains an unaudited pro forma condensed consolidated statement of operations for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017,</div> as if the Dielectrics acquisition had occurred at the beginning of each of the respective periods (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in; color: Red"></div> <div> <table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-width: 700px;">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Year Ended December 31,</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2018</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2017</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><div style="display: inline; font-size: 10pt">(Unaudited)</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><div style="display: inline; font-size: 10pt">(Unaudited)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 50%; font-size: 10pt"><div style="display: inline; font-size: 10pt">Sales</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">193,510</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">180,419</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 20%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Operating Income</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">19,464</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">18,990</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Net Income</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">14,110</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">13,126</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">Earnings per share:</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-left: 10pt">Basic</td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.92</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.81</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-left: 10pt">Diluted</td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.90</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.79</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr>  </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The above unaudited pro forma information is presented for illustrative purposes only and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be indicative of the results of operations that would have occurred had the Dielectrics acquisition occurred as presented. In addition, future results <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>vary significantly from the results reflected in such pro&nbsp;forma information.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The amount of revenue and net income of Dielectrics recognized since the acquisition date, which is included in the condensed consolidated statement of income for the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$36.2</div> million and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$6.3</div> million, respectively.</div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI http://asc.fasb.org/topic&amp;trid=2303972<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6839970400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Valuation and Qualifying Accounts<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock', window );">SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font-size: 10pt; text-align: right; margin: 0pt 0">Schedule II</div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0"><div style="display: inline; font-weight: bold;">UFP TECHNOLOGIES, INC.</div></div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Consolidated Financial Statement Schedule</div></div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0"><div style="display: inline; font-weight: bold;">&nbsp;</div></div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0">Valuation and Qualifying Accounts</div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0">Years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div></div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0">Accounts receivable, allowance for doubtful accounts:</div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0; color: Red"></div> <div> <table style="border-collapse: collapse; min-width: 700px;" cellspacing="0" cellpadding="0">  <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left">Balance at beginning of year</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">652</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">567</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">499</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Provision for bad debt</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(50</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">116</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">126</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Write-offs, net of recoveries</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(38</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(31</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(58</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Balance at end of year</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">564</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">652</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">567</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr>  </table> </div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 09<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6850523168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Consolidation, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(a)</div></td> <td><div style="display: inline; font-style: italic;">Principles of Consolidation</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The consolidated financial statements include the accounts and results of operations of UFP Technologies, Inc., its wholly-owned subsidiaries, Moulded Fibre Technology, Inc., Simco Industries, Inc. Dielectrics, Inc. and Stephenson &amp; Lawyer, Inc. and its wholly-owned subsidiary, Patterson Properties Corporation. All significant intercompany balances and transactions have been eliminated in consolidation. The Company has evaluated all subsequent events through the date of this filing.</div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(b)</div></td> <td><div style="display: inline; font-style: italic;">Use of Estimates</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, including allowance for doubtful accounts and the net realizable value of inventory, and disclosure of contingent assets and liabilities at the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair Value Measurement, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(c)</div></td> <td><div style="display: inline; font-style: italic;">Fair Value Measurement</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company defines fair value as the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value for assets and liabilities, which are required to be recorded at fair value, the Company considers the principal or most advantageous market in which the Company would transact and the market-based risk measurement or assumptions that market participants would use in pricing the asset or liability, such as inherent risk, transfer restrictions, and credit risk.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company has <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> elected fair value accounting for any financial instruments for which fair value accounting is optional.</div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(d)</div></td> <td><div style="display: inline; font-style: italic;">Fair Value of Financial Instruments</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Cash and cash equivalents, accounts receivable, accounts payable, accrued expenses and other liabilities are stated at carrying amounts that approximate fair value because of the short maturity of those instruments. The carrying amount of the Company&#x2019;s long-term debt approximates fair value as the interest rate on the debt approximates the Company&#x2019;s current incremental borrowing rate.</div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(e)</div></td> <td><div style="display: inline; font-style: italic;">Cash and Cash Equivalents</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company considers all highly liquid investments with original maturities of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> months or less to be cash equivalents. At <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>the Company did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> have any cash equivalents and at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017, </div>cash equivalents primarily consisted of money market accounts and certificates of deposit that are readily convertible into cash.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company maintains its cash in bank deposit accounts, money market funds, and certificates of deposit that at times exceed federally insured limits. The Company periodically reviews the financial stability of institutions holding its accounts and does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> believe it is exposed to any significant custodial credit risk on cash. The amounts contained within the Company&#x2019;s main operating accounts at Bank of America and TD Bank at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>exceed the federal depository insurance limit by approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$3.8</div>&nbsp;million.</div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Trade and Other Accounts Receivable, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(f)</div></td> <td><div style="display: inline; font-style: italic;">Accounts Receivable</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company periodically reviews the collectability of its accounts receivable. Provisions are recorded for accounts that are potentially uncollectable. Determining adequate reserves for accounts receivable requires management&#x2019;s judgment. Conditions impacting the realizability of the Company&#x2019;s receivables could cause actual asset write-offs to be materially different than the reserved balances as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018.</div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventory, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(g)</div></td> <td><div style="display: inline; font-style: italic;">Inventories</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Inventories include material, labor, and manufacturing overhead and are valued at the lower of cost or net realizable value. Cost is determined using the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div>-in, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div>-out (&#x201c;FIFO&#x201d;) method.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company periodically reviews the realizability of its inventory for potential excess or obsolescence. Determining the net realizable value of inventory requires management&#x2019;s judgment. Conditions impacting the realizability of the Company&#x2019;s inventory could cause actual asset write-offs to be materially different than the Company&#x2019;s current estimates as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018.</div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant and Equipment, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(h)</div></td> <td><div style="display: inline; font-style: italic;">Property, Plant, and Equipment</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Property, plant, and equipment are stated at cost and are depreciated or amortized using the straight-line method over the estimated useful lives of the assets or the related lease term, if shorter.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Estimated useful lives of property, plant, and equipment are as follows:</div> <div style=" font-size: 10pt; text-align: justify; text-indent: -9pt; margin: 0pt 0 0pt 63pt">&nbsp;</div> <div> <table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in; text-align: left; vertical-align: top"><div style="display: inline; font-size: 10pt">Leasehold improvements</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="text-align: center; white-space: nowrap"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" margin-top: 0; margin-bottom: 0; text-align: center"></div></div></div></div> <div style=" margin-top: 0; margin-bottom: 0; text-align: center"><div style="display: inline; font-size: 10pt">Shorter of estimated useful life or remaining lease term</div></div> </td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in; width: 63%"><div style="display: inline; font-size: 10pt">Buildings and improvements (in years)</div></td> <td style="font-size: 10pt; width: 1%"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 12%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">20 </div></div></td> <td style="font-size: 10pt; width: 12%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">-</div></div></td> <td style="width: 12%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> 40</div></div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in"><div style="display: inline; font-size: 10pt">Machinery &amp; Equipment</div> (in years)</td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">7 </div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">-</div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">15</div></div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in"><div style="display: inline; font-size: 10pt">Furniture, fixtures, computers &amp; software</div> (in years)</td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">3 </div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">-</div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> 7</div></div></td> </tr> </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Property, plant, and equipment amounts are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be recoverable. An impairment loss would be recognized when the carrying amount of an asset exceeds the estimated undiscounted future cash flows expected to result from the use of the asset and its eventual disposition. The amount of the impairment loss to be recorded is calculated by the excess of the asset&#x2019;s carrying value over its fair value. <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No</div> events or changes in circumstances arose during the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>which required management to perform an impairment analysis.</div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy', window );">Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(i)</div></td> <td><div style="display: inline; font-style: italic;">Goodwill</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <div style=" margin: 0pt 0 0pt 1in; font-size: 10pt">Goodwill is tested for impairment annually and will be tested for impairment between annual tests if an event occurs or circumstances change that would indicate that the carrying amount <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be impaired. Impairment testing for goodwill is done at a reporting unit level. Reporting units are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> level below the business segment level but can be combined when reporting units within the same segment have similar economic characteristics. An impairment loss generally would be recognized when the carrying amount of the reporting unit&#x2019;s net assets exceeds the estimated fair value of the reporting unit. The Company consists of a single reporting unit. In testing goodwill for impairment at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>the Company primarily utilized the guideline public company (&#x201c;GPC&#x201d;) method under the market approach and the discounted cash flows method (&#x201c;DCF&#x201d;) under the income approach to determine the fair value of the reporting unit for purposes of testing the reporting unit&#x2019;s carrying value of goodwill for impairment. The GPC method derives a value by generating a multiple of EBITDA through the comparison of the Company to similar publicly traded companies. The DCF approach derives a value based on the present value of a series of estimated future cash flows at the valuation date by the application of a discount rate, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">one</div> that a prudent investor would require before making an investment in our equity securities. The key assumptions used in our approach included:</div> <div style=" margin: 0pt 0 0pt 1in; font-size: 10pt">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: top"> <td style="width: 1in"></td> <td style="width: 0.5in"><div style="display: inline; font-family: Symbol">&middot;</div></td> <td>The reporting unit&#x2019;s estimated financials and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">five</div>-year projections of financial results, which were based on our strategic plans and long-range forecasts. Sales growth rates represent estimates based on current and forecasted sales mix and market conditions. The profit margins were projected based on historical margins, projected sales mix, current expense structure and anticipated expense modifications.</td> </tr> </table> <!-- Field: Page; Sequence: 41; Value: 1 --> <!-- Field: /Page --> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: top"> <td style="width: 1in"></td> <td style="width: 0.5in"><div style="display: inline; font-family: Symbol">&middot;</div></td> <td>The projected terminal value which reflects the total present value of projected cash flows beyond the last period in the DCF. This value reflects a growth rate for the reporting unit, which is approximately the same growth rate of expected inflation into perpetuity.</td> </tr> </table> <div style=" margin: 0pt 0; font-size: 10pt">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: top"> <td style="width: 1in"></td> <td style="width: 0.5in"><div style="display: inline; font-family: Symbol">&middot;</div></td> <td>The discount rate determined using a Weighted Average Cost of Capital method (&#x201c;WACC&#x201d;), which considered market and industry data as well as Company-specific risk factors.</td> </tr> </table> <div style=" margin: 0pt 0; font-size: 10pt">&nbsp;</div> <table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: top"> <td style="width: 1in"></td> <td style="width: 0.5in"><div style="display: inline; font-family: Symbol">&middot;</div></td> <td>Selection of guideline public companies which are similar in size and market capitalization to each other and to the Company.</td> </tr> </table> <div style=" margin: 0pt 0; font-size: 10pt">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">As of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div>based on our calculations under the above noted approach, the fair value of the reporting unit significantly exceeded the carrying value of the reporting unit. In performing these calculations, management used its most reasonable estimates of the key assumptions discussed above. If our actual operating results and/or the key assumptions utilized in management&#x2019;s calculations differ from our expectations, it is possible that a future impairment charge <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be necessary.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The net carrying amounts of goodwill for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> are as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; text-align: center; margin: 0pt 0 0pt 1in; color: Red"></div> <div> <table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Goodwill</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 65%; font-size: 10pt"><div style="display: inline; font-size: 10pt">December 31, 2017</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">7,322</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 20%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; white-space: nowrap"><div style="display: inline; font-size: 10pt">Acquired in Dielectrics business combination (See Note 22)</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">44,516</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">December 31, 2018</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">51,838</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table> </div> <div style=" font-size: 10pt; margin: 0pt 0; text-indent: 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0; text-indent: 1in">Approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$47.9</div> million of goodwill is deductible for tax purposes.</div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy', window );">Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(j)</div></td> <td><div style="display: inline; font-style: italic;">Intangible Assets</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Intangible assets with a definite life are amortized on a straight-line basis, with estimated useful lives ranging from <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div> to <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20</div> years. Intangible assets with a definite life are tested for impairment whenever events or circumstances indicate that their carrying values <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be recoverable. <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No</div> events or changes in circumstances arose during the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>which required management to perform an impairment analysis.</div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue from Contract with Customer [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(k)</div></td> <td><div style="display: inline; font-style: italic;">Revenue Recognition</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Beginning in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> the Company recognizes revenue when a customer obtains control of a promised good or service. The amount of revenue recognized reflects the consideration that the Company expects to be entitled to in exchange for promised goods or services. The Company recognizes revenue in accordance with the core principles of ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> which include (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1</div>) identifying the contract with a customer, (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div>) identifying separate performance obligations within the contract, (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div>) determining the transaction price, (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4</div>) allocating the transaction price to the performance obligations, and (<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5</div>) recognizing revenue. The Company recognizes all but an immaterial portion of its product sales upon shipment. The Company recognizes revenue from the sale of tooling and machinery primarily upon customer acceptance, with the exception of certain tooling where control does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> transfer to the customer, which results in revenue being recognized over the estimated time for which parts are produced with the use of each respective tool. The Company recognizes revenue from engineering services as the services are performed. Although only applicable to an insignificant number of transactions, the Company has elected to exclude sales taxes from the transaction price. The Company has elected to account for shipping and handling activities for which the Company is responsible under the terms and conditions of the sale <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> as performance obligations but rather as fulfillment costs. These activities are required to fulfill the Company&#x2019;s promise to transfer the good and are expensed when revenue is recognized.</div> <div style=" font-size: 10pt; text-indent: -1in; margin: 0pt 0 0pt 1in">&nbsp;</div> <!-- Field: Page; Sequence: 42; Value: 1 --> <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">For the years <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> prior to ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606,</div> the Company recognized revenue at the time of shipment when title and risk of loss have passed to the customer, persuasive evidence of an arrangement exists, performance of its obligation is complete, its price to the buyer is fixed or determinable, and the Company is reasonably assured of collection. Determination of these criteria, in some cases, requires management&#x2019;s judgment.</div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(l)</div></td> <td><div style="display: inline; font-style: italic;">Share-Based Compensation</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">When accounting for equity instruments exchanged for employee services, share-based compensation cost is measured at the grant date, based on the calculated fair value of the award, and is recognized as an expense over the employee&#x2019;s requisite service period (generally the vesting period of the equity grant). Forfeitures are expensed as they occur.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company issues share-based awards through several plans that are described in detail in Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12.</div> The compensation cost charged against income for those plans is included in selling, general &amp; administrative expenses as follows (in thousands):</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in; color: Red"></div> <div> <table style="border-collapse: collapse;margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Share-based compensation expense</td> <td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,212</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,068</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,056</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The compensation expense for stock options granted during the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div>-year period ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018,</div> was determined as the fair value of the options using the Black Scholes valuation model. The assumptions are noted as follows:</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div> <table style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="13" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Years Ended December 31,</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2018</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="5" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2017</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2016</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Expected volatility</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">27.7</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 5%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">27.4% </div></div></td> <td style="width: 5%; font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">- </div></div></td> <td style="width: 5%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">29.1%</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">29.7</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Expected dividends</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">None</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">&nbsp;</div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">None</div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">&nbsp;</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">None</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Risk-free interest rate</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">2.7</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.56%</div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> - </div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.84%</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">0.9</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Exercise price</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">31.20</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">$27.05 </div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">&#x2013; </div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">$28.70</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">22.02</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Expected term (in years)</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">6.0</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">2.7</div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> to </div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">5.8 </div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">5.0</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Weighted-average grant-date fair value</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">10.15</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">5.59</div></div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font-size: 10pt; text-align: center; margin: 0pt 6.75pt 0pt 5.5pt"><div style="display: inline; font-size: 10pt"> -</div></div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> $8.51</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">6.11</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table> </div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The stock volatility for each grant is determined based on a review of the experience of the weighted average of historical daily price changes of the Company&#x2019;s common stock over the expected option term, and the risk-free interest rate is based on the U.S. Treasury yield curve in effect at the time of grant for periods corresponding with the expected term of the option. The expected term is estimated based on historical option exercise activity.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The total income tax benefit recognized in the consolidated statements of income for share-based compensation arrangements was approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$544,000,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$525,000</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$318,000</div> for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018, </div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> respectively.</div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredChargesPolicyTextBlock', window );">Deferred Charges, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(m)</div></td> <td><div style="display: inline; font-style: italic;">Deferred Rent</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company accounts for escalating rental payments on a straight-line basis over the term of the lease.</div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_ShippingAndHandlingCostsPolicyTextBlock', window );">Shipping and Handling Costs [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(n)</div></td> <td><div style="display: inline; font-style: italic;">Shipping and Handling Costs</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">Costs incurred related to shipping and handling are included in cost of sales. Amounts charged to customers pertaining to these costs are included in net sales.</div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Tax, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(o)</div></td> <td><div style="display: inline; font-style: italic;">Income Taxes</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company&#x2019;s income taxes are accounted for under the asset and liability method. Under the asset and liability method, deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis and operating loss and tax credit carryforwards. Deferred tax expense or benefit results from the net change during the year in deferred tax assets and liabilities. The effect on deferred tax assets and liabilities of a change in tax rates is recognized in income in the period that includes the enactment date.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company evaluates the need for a valuation allowance to reduce its deferred tax assets to the amount that is more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to be realized. The Company has considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance. Should the Company determine that it would <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> be able to realize all or part of its deferred tax assets in the future, an adjustment to the deferred tax assets would be charged to income in the period such determination was made.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company recognizes the tax benefit from an uncertain tax position only if it is more likely than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from such positions are then measured based on the largest benefit that has a greater than <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50%</div> likelihood of being realized upon settlement. The Company recognizes interest and penalties accrued related to unrecognized tax benefits in tax expense.</div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment Reporting, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top"><td style="width: 0.5in"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(p)</div></td> <td><div style="display: inline; font-style: italic;">Segments and Related Information</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company follows the provisions of Accounting Standards Codification (ASC) <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">280,</div> <div style="display: inline; font-style: italic;">Segment Reporting</div>, which establish standards for the way public business enterprises report information and operating segments in annual financial statements (see Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18</div>).</div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_StockholdersEquityTreasuryStockPolicyTextBlock', window );">Stockholders Equity, Treasury Stock [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"><tr style="vertical-align: top; text-align: justify"><td style="width: 0.5in; text-align: right"></td> <td style="width: 0.5in"><div style="display: inline; font-style: italic;">(q)</div></td> <td style="text-align: justify"><div style="display: inline; font-style: italic;">Treasury Stock</div></td> </tr> </table> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 1in">The Company accounts for treasury stock under the cost method, using the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div>-in, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">first</div> out flow assumption, and we include treasury stock as a component of stockholders&#x2019; equity. The Company did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> repurchase any shares of common stock during the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017.</div></div></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Accounting Pronouncements, Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font-size: 10pt; margin: 0pt 0; text-indent: 0.5in"><div style="display: inline; font-style: italic;">Recent Accounting Pronouncements</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> May 2014, </div>the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No.</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2014</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">09,</div> <div style="display: inline; font-style: italic;">Revenue from Contracts with Customers</div>, which was subsequently updated (&#x201c;Accounting Standards Codification (ASC) <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606&#x201d;</div>). The Company adopted ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">606</div> on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 1, 2018. </div>See Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div> for further details.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; background-color: white">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> February 2016, </div>the FASB issued ASU&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No.</div>&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">02,</div>&nbsp;&#x201c;<div style="display: inline; font-style: italic;">Leases (ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div>),</div>&#x201d; and issued subsequent amendments to the initial guidance in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 2018 </div>within ASU&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No.</div>&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">01</div>&nbsp;and in <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> July 2018 </div>within ASU Nos.&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10</div>&nbsp;and&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11.</div>&nbsp;The standard requires lessees to recognize leases on the balance sheet as a&nbsp;right-of-use (&#x201c;ROU&#x201d;)&nbsp;asset and a lease liability, other than leases that meet the definition of a short-term lease. The liability will be equal to the present value of the lease payments. The asset will be based on the liability, subject to adjustment. Currently, under existing U.S. generally accepted accounting principles, the Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> recognize on the balance sheet a&nbsp;right-of-use&nbsp;asset or lease liability related to its operating leases. For income statement purposes, the leases will continue to be classified as either operating or finance. Operating leases will result in straight-line expense (similar to current operating leases) and finance leases will result in a front-loaded expense pattern (similar to current capital leases). The standard is effective for fiscal years, and interim periods within those fiscal years, beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018.</div> Early adoption is permitted. The standard allows an entity to elect to have a date of initial application as of the beginning of the period of adoption. The standard provides for the option to elect a package of practical expedients upon adoption. </div></div> <div style=" font-size: 10pt; margin: 0pt 0">&nbsp;</div> <!-- Field: Page; Sequence: 44; Value: 1 --> <!-- Field: /Page --> <div style=" font-size: 10pt; margin: 0pt 0"></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">The Company adopted ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">842</div> as of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 1, 2019, </div>using a modified retrospective approach and applying the standard&#x2019;s transition provisions at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 1, 2019, </div>the effective date. The Company elected the package of practical expedients permitted under the transition guidance, which among other things, allows us to carryforward the historical lease classification.&nbsp; In addition, the Company elected to combine the lease and non-lease components into a single lease component for its leases and is making an accounting policy election to exclude from balance sheet reporting those leases with initial terms of <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12</div> months or less. The Company estimates that adoption of the standard will result in recognition of operating lease ROU assets and lease liabilities of approximately&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$4.0</div> million&nbsp;and&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$4.1</div> million, respectively, with the difference due to deferred rent that will be reclassified to the ROU asset value. We do <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> expect adoption of the standard to materially affect our results of operations or cash flows.</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; background-color: white">In <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January 2017, </div>the FASB issued ASU&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">No.</div>&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017</div>-<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">04,</div>&nbsp;<div style="display: inline; font-style: italic;">Intangibles&#x2014;Goodwill and Other (ASC <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">350</div>), Simplifying the Test for Goodwill Impairment</div>. The guidance removes Step <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div> of the goodwill impairment test and eliminates the need to determine the fair value of individual assets and liabilities to measure goodwill impairment. A goodwill impairment will now be the amount by which a reporting unit&#x2019;s carrying value exceeds its fair value, <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> to exceed the carrying amount of goodwill. Entities will continue to have the option to perform a qualitative assessment to determine if a quantitative impairment test is necessary. The guidance will be applied prospectively and is effective for annual and interim goodwill impairment tests in fiscal years beginning after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019.</div> Early adoption is permitted for any impairment tests performed on testing dates after <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> January&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2017.</div> The Company does <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> believe adoption will have a material impact on its financial condition or results of operations.</div></div></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_RevisionsPolicyPolicyTextBlock', window );">Revisions Policy [Policy Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in"><div style="display: inline; font-style: italic;">Revisions</div></div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">&nbsp;</div> <div style=" font-size: 10pt; margin: 0pt 0 0pt 0.5in">Certain revisions have been made to the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017 </div>Condensed Consolidated Balance Sheet to conform to the current year presentation relating to a reclassification of deferred revenue. The reclassification resulted in an increase in deferred revenue and a decrease in accrued expenses in the amount of approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$297,000.</div> In addition, certain revisions have been made to the Condensed Consolidated Statements of Cash Flows for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> also due to a reclassification of deferred revenue. The reclassification resulted in an increase to the change in deferred revenue and a decrease in the change in accrued expenses in the amount of approximately <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$91,000</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">$206,000</div> for the years ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2017 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2016,</div> respectively. These revisions had <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> impact on previously reported net income and are deemed immaterial to the previously issued financial statements.</div></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_RevisionsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revisions to financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_RevisionsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_ShippingAndHandlingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_ShippingAndHandlingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_StockholdersEquityTreasuryStockPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its treasury stock transactions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_StockholdersEquityTreasuryStockPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4273-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 305<br> -SubTopic 10<br> -Section 05<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6375392&amp;loc=d3e26790-107797<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.3A-02)<br> -URI http://asc.fasb.org/extlink&amp;oid=27015204&amp;loc=d3e355033-122828<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.3A-03)<br> -URI http://asc.fasb.org/extlink&amp;oid=27015204&amp;loc=d3e355100-122828<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredChargesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for deferral and amortization of significant deferred charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredChargesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109250915&amp;loc=d3e13279-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32847-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6491622&amp;loc=d3e9504-115650<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32809-109319<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32840-109319<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e32247-109318<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e32280-109318<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 05<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=65884525&amp;loc=d3e40913-109327<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=66092785&amp;loc=d3e4556-108314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109236672&amp;loc=d3e543-108305<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66092785&amp;loc=d3e4492-108314<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, basis of assets, depreciation and depletion methods used, including composite deprecation, estimated useful lives, capitalization policy, accounting treatment for costs incurred for repairs and maintenance, capitalized interest and the method it is calculated, disposals and impairments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for stock option and stock incentive plans. This disclosure may include (1) the types of stock option or incentive plans sponsored by the entity (2) the groups that participate in (or are covered by) each plan (3) significant plan provisions and (4) how stock compensation is measured, and the methodologies and significant assumptions used to determine that measurement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for trade and other accounts receivables. This disclosure may include the basis at which such receivables are carried in the entity's statements of financial position (for example, net realizable value), how the entity determines the level of its allowance for doubtful accounts, when impairments, charge-offs or recoveries are recognized, and the entity's income recognition policies for such receivables, including its treatment of related fees and costs, its treatment of premiums, discounts or unearned income, when accrual of interest is discontinued, how the entity records payments received on nonaccrual receivables and its policy for resuming accrual of interest on such receivables.  If the enterprise holds a large number of similar loans, disclosure may include the accounting policy for the anticipation of prepayments and significant assumptions underlying prepayment estimates for amortization of premiums, discounts, and nonrefundable fees and costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=84173941&amp;loc=d3e5212-111524<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84173941&amp;loc=SL6953423-111524<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84173941&amp;loc=d3e5093-111524<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10133-111534<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6840006096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock', window );">Property, Plant and Equipment, Estimated Useful Lives [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in; text-align: left; vertical-align: top"><div style="display: inline; font-size: 10pt">Leasehold improvements</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="text-align: center; white-space: nowrap"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" margin-top: 0; margin-bottom: 0; text-align: center"></div></div></div></div> <div style=" margin-top: 0; margin-bottom: 0; text-align: center"><div style="display: inline; font-size: 10pt">Shorter of estimated useful life or remaining lease term</div></div> </td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in; width: 63%"><div style="display: inline; font-size: 10pt">Buildings and improvements (in years)</div></td> <td style="font-size: 10pt; width: 1%"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 12%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">20 </div></div></td> <td style="font-size: 10pt; width: 12%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">-</div></div></td> <td style="width: 12%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> 40</div></div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in"><div style="display: inline; font-size: 10pt">Machinery &amp; Equipment</div> (in years)</td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">7 </div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">-</div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">15</div></div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; margin: 0pt 0 0pt 1in"><div style="display: inline; font-size: 10pt">Furniture, fixtures, computers &amp; software</div> (in years)</td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">3 </div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">-</div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> 7</div></div></td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of Goodwill [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Goodwill</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 65%; font-size: 10pt"><div style="display: inline; font-size: 10pt">December 31, 2017</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">7,322</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 20%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; white-space: nowrap"><div style="display: inline; font-size: 10pt">Acquired in Dielectrics business combination (See Note 22)</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">44,516</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">December 31, 2018</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">51,838</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 1in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Share-based compensation expense</td> <td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,212</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,068</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,056</div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="13" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Years Ended December 31,</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2018</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="5" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2017</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2016</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Expected volatility</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">27.7</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 5%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">27.4% </div></div></td> <td style="width: 5%; font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">- </div></div></td> <td style="width: 5%; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">29.1%</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">29.7</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Expected dividends</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">None</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">&nbsp;</div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">None</div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">&nbsp;</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">None</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Risk-free interest rate</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">2.7</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.56%</div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> - </div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.84%</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">0.9</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">%</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Exercise price</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">31.20</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">$27.05 </div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">&#x2013; </div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">$28.70</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">22.02</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Expected term (in years)</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">6.0</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">2.7</div></div></td> <td style="font-size: 10pt; text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> to </div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">5.8 </div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">5.0</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; text-indent: -6.85pt; padding-left: 6.85pt"><div style="display: inline; font-size: 10pt">Weighted-average grant-date fair value</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">10.15</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">5.59</div></div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style=" font-size: 10pt; text-align: center; margin: 0pt 6.75pt 0pt 5.5pt"><div style="display: inline; font-size: 10pt"> -</div></div></div></td> <td style="text-align: center"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt"> $8.51</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">6.11</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the estimated useful lives of property, plant and equipment held by the company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_PropertyPlantAndEquipmentEstimatedUsefulLivesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13854-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831799280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Revenue Recognition (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">Schedule of New Accounting Pronouncements and Changes in Accounting Principles [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Reported</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Adjusted</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31, <br /> 2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Cumulative <br /> Adjustments</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">January 1, <br /> 2018</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Assets:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; font-size: 10pt; text-align: left">Property, plant and equipment</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">106,716</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,027</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">107,743</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Accumulated depreciation and amortization</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(53,064</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(548</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(53,612</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Net property, plant and equipment</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">53,652</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">479</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">54,131</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Liabilities:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Deferred revenue</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">297</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">574</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">871</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Deferred income taxes</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,440</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(25</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,415</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Stockholders' equity:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Retained earnings</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">97,562</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(70</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">97,492</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31, 2018</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Reported</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Balances <br /> without <br /> adoption of <br /> ASC 606</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Difference</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="white-space: nowrap; font-size: 10pt">Assets:</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; font-size: 10pt; text-align: left">Property, plant and equipment</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">111,779</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">110,372</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,407</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Accumulated depreciation and amortization</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(54,112</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(53,110</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,002</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Net property, plant and equipment</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">57,667</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">57,262</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">405</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Liabilities:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Deferred revenue</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,507</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,129</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">378</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Deferred income taxes</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,129</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,154</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(25</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Stockholders' equity:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Retained earnings</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">111,802</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">111,750</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">52</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">For the Year Ended December 31, 2018</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">As Reported</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Balances <br /> without <br /> adoption of <br /> ASC 606</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Difference</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left">Net sales</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">190,455</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">190,259</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">196</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-bottom: 1pt">Cost of sales</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">142,147</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">142,073</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">74</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Gross profit</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">48,308</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">48,186</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">122</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-style: italic; text-align: right">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left; border-bottom: Black 1pt solid">Net sales of:</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt">Products</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">183,186</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">146,275</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">144,210</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Tooling and Machinery</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,302</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,181</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,633</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Engineering services</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,967</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">387</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">289</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total net sales</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">190,455</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">147,843</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">146,132</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Contract with Customer, Asset and Liability [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Contract Liabilities</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: right">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 85%; font-size: 10pt">Deferred revenue - January 1, 2018</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">871</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Acquired in Dielectrics business combination</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,175</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Increases due to consideration received from customers</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,188</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Revenue recognized</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,727</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 2.25pt">Deferred revenue - December 31, 2018</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,507</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of contract balances and changes in contract balances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22499-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=109236672&amp;loc=d3e765-108305<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.10-01.(b)(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=27015980&amp;loc=d3e46468-122699<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22580-107794<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=109236672&amp;loc=d3e725-108305<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22583-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6839911696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Supplemental Cash Flow Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock', window );">Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; text-align: center">(in thousands)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Cash paid for:</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; font-size: 10pt; padding-left: 10pt">Interest</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,303</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">47</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">66</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Income taxes, net of refunds</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,463</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,878</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,562</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Non-cash investing and financing activities:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Capital additions accrued but not yet paid</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">218</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">85</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">87</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of supplemental cash flow information for the periods presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831797984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Receivables (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt; text-align: left">Accounts receivable&#x2013;trade</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28,885</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22,033</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Less allowance for doubtful receivables</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(564</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(652</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Receivables, net</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28,321</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21,381</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3,4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831877088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory, Current [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: right; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt; text-align: left">Raw materials</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,727</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,898</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Work in process</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,521</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,207</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Finished goods</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,328</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,758</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total Inventory</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19,576</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,863</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6840063744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Other Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Tradename <br /> &amp; Brand</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Non-<br /> Compete</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Customer<br /> List</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Total</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">Estimated useful life</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">10 years</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">5 years</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center; border-bottom: Black 1pt solid">20 years</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%; font-size: 10pt; text-align: left">Gross amount</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">367</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">462</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22,555</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,384</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Accumulated amortization</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(33</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(85</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,034</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,152</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Net balance</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">334</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">377</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21,521</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22,232</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 35%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2019</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,257</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 50%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2020</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,257</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2021</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,257</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2022</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,257</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2023</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,172</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">Thereafter</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">16,032</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">Total</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">22,232</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6840049792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Property, Plant, and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt; text-align: left">Land and improvements</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,191</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,191</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Buildings and improvements</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35,187</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28,939</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Leasehold improvements</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,843</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,553</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Machinery &amp; Equipment</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">62,441</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">58,602</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Furniture, fixtures, computers &amp; software</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,119</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,820</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Construction in progress</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">999</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6,611</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">111,780</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">106,716</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6608641424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Indebtedness (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">Schedule of Long-term Debt Instruments [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">December 31, <br /> 2018</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 35%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Revolving credit facility</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">8,000</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 50%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">Term loan</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">17,143</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Total long-term debt</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">25,143</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Current portion</td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">(2,857</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">Long-term debt, excluding current portion</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">22,286</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28541-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21506-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(e),(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28551-108399<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21521-112644<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21538-112644<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=75038535&amp;loc=d3e64711-112823<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6839933440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Liabilities [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt; text-align: left">Compensation</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,529</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,536</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Benefits / self-insurance reserve</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">782</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">334</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Paid time off</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,131</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">990</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Commissions payable</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">384</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">309</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt">Other</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,632</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,297</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,458</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,466</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6840074144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;" cellspacing="0" cellpadding="0"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="white-space: nowrap; font-size: 10pt">Current</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 55%; font-size: 10pt; padding-left: 10pt">Federal</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,772</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,117</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,120</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt">State</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">439</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">551</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">651</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,211</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,668</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,771</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Deferred</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-left: 10pt">Federal</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,917</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,091</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">546</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt">State</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(36</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">72</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,881</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,019</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">576</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total income tax provision</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,092</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,649</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,347</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Deferred tax assets:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 70%; font-size: 10pt; text-align: left; padding-left: 10pt">Reserves</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">367</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">398</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Inventory capitalization</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">421</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">228</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Compensation programs</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">447</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">394</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Retirement liability</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Equity-based compensation</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">290</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">158</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Deferred rent</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Intangible assets</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">141</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">274</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Tax credits</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">257</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 20pt">Total deferred tax assets</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,936</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,465</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Deferred tax liabilities:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt">Excess of book over tax basis of fixed assets</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,668</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,305</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Goodwill</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,397</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(600</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt">Total deferred tax liabilities</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(6,065</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(3,905</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 20pt">Net long-term deferred tax liabilities</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(4,129</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2,440</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">)</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left">Computed &#x201c;expected&#x201d; tax rate</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.0</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34.0</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">34.0</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Increase (decrease) in income taxes resulting from:</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right">&nbsp;</td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">State taxes, net of federal tax benefit</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2.8</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3.5</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3.7</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Meals and entertainment</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.2</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.3</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.2</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Tax credits</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1.9</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(0.6</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(0.6</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Domestic production deduction</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2.6</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(2.5</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Non-deductible ISO stock option expense</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.3</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Unrecognized tax benefits</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(0.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Excess tax benefits on equity awards</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1.3</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1.4</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Excess compensation</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.8</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Impact on deferred taxes of new legislation</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(11.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Other</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.5</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.1</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.3</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Effective tax rate</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22.2</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">22.3</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35.3</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt; text-align: left">Gross UTB balance at beginning of fiscal year</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">150</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">150</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Reductions for tax positions of prior years</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Gross UTB balance at end of fiscal year</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">150</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">150</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 55<br> -Paragraph 217<br> -URI http://asc.fasb.org/extlink&amp;oid=109238393&amp;loc=d3e36027-109320<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6715420704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Net Income Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock', window );">Schedule of Weighted Average Number of Shares [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left">Basic weighted average common shares outstanding during the year</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,347</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,248</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,190</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Weighted average common equivalent shares due to stock options and restricted stock units</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">83</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">89</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">85</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Diluted weighted average common shares outstanding during the year</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,430</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,337</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,275</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831705920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Stock Option and Equity Incentive Plans (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock', window );">Schedule of Employee Service Share Based Compensation Allocation of Recognized Period Costs, By Award Type [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; color: #8497B0; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="11" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Years Ended December 31,</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold"><div style="display: inline; text-decoration: underline;">Share-based compensation related to:</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 55%; font-size: 10pt; text-align: left">Common stock grants</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">505</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">505</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">505</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Stock option grants</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">149</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">138</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">237</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Restricted Stock Unit awards</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">559</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">425</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">314</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Total share-based compensation</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,213</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,068</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,056</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Share-based Compensation, Stock Options, Activity [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Shares Under <br /> Options</td> <td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-weight: bold;">Weighted <br /> Average <br /> Exercise <br /> Price</div><br /> <div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal">&nbsp;(per share)</div></td> <td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-weight: bold;">Weighted <br /> Average <br /> Remaining <br /> Contractual <br /> Life</div><br /> <div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal">(in years)</div></td> <td style="font-size: 10pt; font-weight: normal; font-style: normal; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: normal; font-style: normal; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-weight: bold;">Aggregate <br /> Intrinsic <br /> Value</div><br /> <div style="display: inline; font-size: 10pt; font-weight: normal; font-style: normal">(in thousands)</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%; font-size: 10pt">Outstanding December 31, 2017</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">202,739</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18.23</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Granted</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,344</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31.20</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Exercised</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(78,680</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">31.43</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-bottom: 2.25pt">Outstanding December 31, 2018</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">134,403</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20.46</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.50</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,296</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 2.25pt">Exercisable at December 31, 2018</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">126,543</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">19.97</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.53</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,286</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Vested and expected to vest at December 31, 2018</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">134,403</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20.46</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4.50</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,296</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Restricted <br /> Stock Units</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Weighted <br /> Average Award <br /> Date Fair Value</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 70%; font-size: 10pt">Outstanding at December 31, 2017</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">57,395</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21.03</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Awarded</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30,831</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">29.36</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">Shares vested</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(16,050</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.55</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-bottom: 2.25pt">Outstanding at December 31, 2018</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">72,176</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">$</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23.60</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock', window );">Schedule of Future Share-based Compensation Expense [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Options</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Common<br /> Stock</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Restricted<br /> Stock Units</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Total</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%; font-size: 10pt; text-align: left">2019</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">502</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">530</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">2020</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">28</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">416</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">444</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">2021</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">250</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt">2022</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">30</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt; padding-left: 10pt">Total</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">56</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,198</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,254</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed. The amounts are aggregated by award type.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsByAwardTypeTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of future share-based compensation expense expected to be recorded in the succeeding fiscal years for equity securities granted.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_ScheduleOfFutureShareBasedCompensationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6850012432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Commitments and Contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock', window );">Schedule of Future Minimum Rental Payments for Operating Leases [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 1in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Years Ending December 31,</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Operating <br /> Leases</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 35%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2019</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,051</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 50%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2020</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,070</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2021</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1,063</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">2022</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">975</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">2023</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">36</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">Total minimum lease payments</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">4,195</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of future minimum payments required in the aggregate and for each of the five succeeding fiscal years for operating leases having initial or remaining noncancelable lease terms in excess of one year and the total minimum rentals to be received in the future under noncancelable subleases as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831735552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Fair Value of Financial Instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Fair Value, Assets Measured on Recurring Basis [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt"><div style="display: inline; text-decoration: underline;">Level 2</div></div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">December 31, <br /> 2018</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">Assets:</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt">Derivative financial instruments</td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">64</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 50%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99377789&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99377789&amp;loc=d3e19190-110258<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=99377789&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831689360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Segment Data (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock', window );">Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Market</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Net Sales</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">%</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Net Sales</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">%</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Net Sales</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">%</td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 28%; font-size: 10pt">Medical</td> <td style="width: 3%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">110,282</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">57.9</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> <td style="width: 3%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">70,087</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">47.4</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> <td style="width: 3%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">64,733</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 8%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">44.3</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt">Consumer</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">24,989</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">21,328</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14.4</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,721</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">14.2</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Automotive</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">20,012</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10.5</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">23,118</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15.6</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">27,255</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">18.7</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Aerospace &amp; Defense</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">13,133</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.9</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,521</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7.8</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,951</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7.5</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt">Electronics</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,453</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.0</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,960</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.1</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">11,675</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8.0</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-bottom: 1pt">Industrial</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,586</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5.6</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,829</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6.6</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,797</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7.4</div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">%</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">&nbsp;&nbsp;&nbsp;&nbsp;Net Sales</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">190,455</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100.0</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">147,843</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100.0</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> <td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">146,132</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;</td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">100.0</div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">%</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6840103440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Quarterly Financial Information (Unaudited) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Quarterly Financial Information [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q1</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q2</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q3</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q4</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%; font-size: 10pt; text-align: left">Net sales</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">42,931</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">49,019</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">47,808</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">50,697</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Gross profit</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10,185</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,986</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,431</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">12,706</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Net income</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,777</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3,990</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,134</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">4,410</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Basic net income per share</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.24</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.54</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.56</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.60</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Diluted net income per share</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.24</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.54</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.56</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.59</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q1</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q2</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q3</td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid">&nbsp;</td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">Q4</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 48%; font-size: 10pt; text-align: left">Net sales</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,053</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,886</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">35,684</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> <td style="width: 1%; font-size: 10pt">&nbsp;</td> <td style="width: 1%; font-size: 10pt; text-align: left">$</td> <td style="width: 10%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37,220</div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Gross profit</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,516</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">9,941</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">8,193</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">7,837</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Net income</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,171</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,630</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1,695</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2,714</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left">Basic net income per share</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.30</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.36</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.23</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.38</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left">Diluted net income per share</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.30</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.36</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.23</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt">&nbsp;</td> <td style="font-size: 10pt; text-align: left">&nbsp;</td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">0.37</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;</td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109225645&amp;loc=d3e1280-108306<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831748000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Plant Consolidation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock', window );">Restructuring and Related Costs [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2017</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2016</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: left"><div style="display: inline; font-size: 10pt"><div style="display: inline; text-decoration: underline;">Restructuring Costs</div></div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Massachusetts</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 50%; font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">Relocation</div></td> <td style="width: 1%; font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">63</div></div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">420</div></div></td> <td style="white-space: nowrap; width: 1%; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 20%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">Total restructuring costs</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">63</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">420</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 5.P.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140864-122747<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.P.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6653175488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 22 - Acquisition (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock', window );">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">Consideration Paid:</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="width: 35%; font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Cash paid at closing</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">80,000</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 50%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 20pt"><div style="display: inline; font-size: 10pt">Working capital adjustment</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">250</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 20pt"><div style="display: inline; font-size: 10pt">Cash from Dielectrics</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">(3,272</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Total consideration</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">76,978</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">Purchase Price Allocation:</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Accounts receivable</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">4,384</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Inventory</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">4,418</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Other current assets</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">122</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Property, plant and equipment</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">4,600</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Customer list</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">22,555</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Non-compete</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">462</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Trade name and brand</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">367</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-bottom: 1pt; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Goodwill</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">44,516</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Total identifiable assets</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">81,424</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Accounts payable</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">(1,325</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Accrued expenses</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">(946</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt"><div style="display: inline; font-size: 10pt">Deferred revenue</div></td> <td style="font-size: 10pt; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">(2,175</div></div></td> <td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">Net assets acquired</div></td> <td style="font-size: 10pt; padding-bottom: 2.25pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">76,978</div></div></td> <td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock', window );">Business Acquisition, Pro Forma Information [Table Text Block]</a></td>
<td class="text"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; margin: 0pt 0 0pt 0.5in; min-; min-width: 700px;"> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="7" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">Year Ended December 31,</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2018</div></td> <td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"><div style="display: inline; font-size: 10pt">2017</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom"> <td style="white-space: nowrap; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><div style="display: inline; font-size: 10pt">(Unaudited)</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td colspan="3" style="white-space: nowrap; font-size: 10pt; text-align: center"><div style="display: inline; font-size: 10pt">(Unaudited)</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 50%; font-size: 10pt"><div style="display: inline; font-size: 10pt">Sales</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">193,510</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="width: 12%; font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">180,419</div></div></td> <td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="width: 20%; background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Operating Income</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">19,464</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">18,990</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">Net Income</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">14,110</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">13,126</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">Earnings per share:</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-size: 10pt; padding-left: 10pt">Basic</td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.92</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.81</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> <tr style="vertical-align: bottom; background-color: White"> <td style="font-size: 10pt; padding-left: 10pt">Diluted</td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.90</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">$</div></td> <td style="font-size: 10pt; text-align: right"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"><div style="display: inline; font-size: 10pt">1.79</div></div></td> <td style="white-space: nowrap; font-size: 10pt; text-align: left"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> <td style="background-color: White"><div style="display: inline; font-size: 10pt">&nbsp;</div></td> </tr> </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=84161108&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6839909008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Valuation and Qualifying Accounts (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TableTextBlock', window );"><strong>Notes Tables</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock', window );">Summary of Allowance for Doubtful Accounts and Revenue Adjustments [Table Text Block]</a></td>
<td class="text">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt">&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; min-; min-width: 700px;"> &lt;tr style="vertical-align: bottom"> &lt;td style="white-space: nowrap; font-size: 10pt; text-align: center">&nbsp;&lt;/td> &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;&lt;/td> &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2018&lt;/td> &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;&lt;/td> &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2017&lt;/td> &lt;td style="font-size: 10pt; font-weight: bold; padding-bottom: 1pt; text-align: center">&nbsp;&lt;/td> &lt;td colspan="3" style="white-space: nowrap; font-size: 10pt; font-weight: bold; text-align: center; border-bottom: Black 1pt solid">2016&lt;/td> &lt;/tr> &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> &lt;td style="width: 55%; font-size: 10pt; text-align: left">Balance at beginning of year&lt;/td> &lt;td style="width: 1%; font-size: 10pt">&nbsp;&lt;/td> &lt;td style="width: 1%; font-size: 10pt; text-align: left">$&lt;/td> &lt;td style="width: 12%; font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">652&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="width: 1%; font-size: 10pt">&nbsp;&lt;/td> &lt;td style="width: 1%; font-size: 10pt; text-align: left">$&lt;/td> &lt;td style="width: 12%; font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">567&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="width: 1%; font-size: 10pt">&nbsp;&lt;/td> &lt;td style="width: 1%; font-size: 10pt; text-align: left">$&lt;/td> &lt;td style="width: 12%; font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">499&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; width: 1%; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;/tr> &lt;tr style="vertical-align: bottom; background-color: White"> &lt;td style="font-size: 10pt; text-align: left; padding-left: 10pt">Provision for bad debt&lt;/td> &lt;td style="font-size: 10pt">&nbsp;&lt;/td> &lt;td style="font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(50&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left">)&lt;/td> &lt;td style="font-size: 10pt">&nbsp;&lt;/td> &lt;td style="font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">116&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="font-size: 10pt">&nbsp;&lt;/td> &lt;td style="font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">126&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;/tr> &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 1pt; padding-left: 10pt">Write-offs, net of recoveries&lt;/td> &lt;td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;&lt;/td> &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(38&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)&lt;/td> &lt;td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;&lt;/td> &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(31&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)&lt;/td> &lt;td style="font-size: 10pt; padding-bottom: 1pt">&nbsp;&lt;/td> &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(58&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; border-bottom: Black 1pt solid; font-size: 10pt; text-align: left">)&lt;/td> &lt;/tr> &lt;tr style="vertical-align: bottom; background-color: White"> &lt;td style="font-size: 10pt; text-align: left; padding-bottom: 2.25pt">Balance at end of year&lt;/td> &lt;td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;&lt;/td> &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$&lt;/td> &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">564&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;&lt;/td> &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$&lt;/td> &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">652&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;td style="font-size: 10pt; padding-bottom: 2.25pt">&nbsp;&lt;/td> &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">$&lt;/td> &lt;td style="border-bottom: Black 2.25pt double; font-size: 10pt; text-align: right">&lt;div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">567&lt;/div>&lt;/td> &lt;td style="white-space: nowrap; border-bottom: Black 2.25pt double; font-size: 10pt; text-align: left">&nbsp;&lt;/td> &lt;/tr> &lt;/table>&lt;/div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the allowance for doubtful accounts and revenue adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_SummaryOfAllowanceForDoubtfulAccountsAndRevenueAdjustmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6847289984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies (Details Textual) - USD ($)<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Jan. 01, 2019</div></th>
<th class="th"><div>Jan. 01, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash Equivalents, at Carrying Value, Total</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashUninsuredAmount', window );">Cash, Uninsured Amount</a></td>
<td class="nump">3,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount', window );">Business Acquisition, Goodwill, Expected Tax Deductible Amount</a></td>
<td class="nump">$ 47,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Treasury Stock, Shares, Acquired</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract with Customer, Liability, Current</a></td>
<td class="nump">$ 2,507,000<span></span>
</td>
<td class="nump">$ 297,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 871,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Increase (Decrease) in Contract with Customer, Liability</a></td>
<td class="nump">35,000<span></span>
</td>
<td class="nump">91,000<span></span>
</td>
<td class="nump">$ 206,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Increase (Decrease) in Accrued Liabilities, Total</a></td>
<td class="nump">1,472,000<span></span>
</td>
<td class="nump">974,000<span></span>
</td>
<td class="num">(567,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued Liabilities, Current, Total</a></td>
<td class="nump">8,458,000<span></span>
</td>
<td class="nump">5,466,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis=ufpt_ReclassificationOfDeferredRevenueMember', window );">Reclassification of Deferred Revenue [Member] | Scenario, Adjustment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract with Customer, Liability, Current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">297,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Increase (Decrease) in Contract with Customer, Liability</a></td>
<td class="nump">91,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Increase (Decrease) in Accrued Liabilities, Total</a></td>
<td class="num">(206,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued Liabilities, Current, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(297,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member', window );">Accounting Standards Update 2016-02 [Member] | Subsequent Event [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating Lease, Right-of-Use Asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating Lease, Liability, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Employee Service Share-based Compensation, Tax Benefit from Compensation Expense</a></td>
<td class="nump">$ 544,000<span></span>
</td>
<td class="nump">$ 525,000<span></span>
</td>
<td class="nump">$ 318,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">20 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of goodwill arising from a business combination that is expected to be deductible for tax purposes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashUninsuredAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash as of the balance sheet date that is not insured by the Federal Deposit Insurance Corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashUninsuredAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130532-203044<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130531-203044<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total recognized tax benefit related to compensation cost for equity-based payment arrangements recognized in income during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis=ufpt_ReclassificationOfDeferredRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis=ufpt_ReclassificationOfDeferredRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementScenarioAxis=us-gaap_ScenarioAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementScenarioAxis=us-gaap_ScenarioAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201602Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831825312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives', window );">Leasehold improvements</a></td>
<td class="text">Shorter of estimated useful life or remaining lease term<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, plant, and equipment, useful life (Year)</a></td>
<td class="text">20 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, plant, and equipment, useful life (Year)</a></td>
<td class="text">40 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, plant, and equipment, useful life (Year)</a></td>
<td class="text">7 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, plant, and equipment, useful life (Year)</a></td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=ufpt_FurnitureFixturesAndComputersMember', window );">Furniture, Fixtures, and Computers [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, plant, and equipment, useful life (Year)</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=ufpt_FurnitureFixturesAndComputersMember', window );">Furniture, Fixtures, and Computers [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, plant, and equipment, useful life (Year)</a></td>
<td class="text">7 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Describes the periods of time over which an entity anticipates to receive utility from its property, plant and equipment (that is, the periods of time over which an entity allocates the initial cost of its property, plant and equipment).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 35<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=68071081&amp;loc=d3e1205-110223<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentEstimatedUsefulLives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=ufpt_FurnitureFixturesAndComputersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=ufpt_FurnitureFixturesAndComputersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6593891136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies - Schedule of Goodwill (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 7,322<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Acquired in Dielectrics business combination (See Note 22)</a></td>
<td class="nump">44,516<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 51,838<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6834929040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies - Compensation Cost Charged Against Income (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, General and Administrative Expenses [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based compensation expense</a></td>
<td class="nump">$ 1,212<span></span>
</td>
<td class="nump">$ 1,068<span></span>
</td>
<td class="nump">$ 1,056<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6834922656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies - Fair Value Assumptions (Details) - Employee Stock Option [Member] - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">27.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29.70%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">2.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.90%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice', window );">Exercise price (in dollars per share)</a></td>
<td class="nump">$ 31.20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 22.02<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (Year)</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant-date fair value (in dollars per share)</a></td>
<td class="nump">$ 10.15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6.11<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.56%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice', window );">Exercise price (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 27.05<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 255 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant-date fair value (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.84%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice', window );">Exercise price (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 28.70<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years 292 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant-date fair value (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8.51<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Agreed-upon price for the exchange of the underlying asset relating to the share-based payment award.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expected term of share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6847002336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Revenue Recognition (Details Textual)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Contract with Customer, Liability, Revenue Recognized</a></td>
<td class="nump">$ 4,727,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=ufpt_ReceivablesNetMember', window );">Receivables, Net [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Contract with Customer, Asset, Net, Current, Total</a></td>
<td class="nump">65,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByAssetClassAxis=ufpt_DeferredRevenueMember', window );">Deferred Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Contract with Customer, Liability, Revenue Recognized</a></td>
<td class="nump">$ 615,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130531-203044<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130533-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=ufpt_ReceivablesNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=ufpt_ReceivablesNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByAssetClassAxis=ufpt_DeferredRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByAssetClassAxis=ufpt_DeferredRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6851012656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Revenue Recognition - Adoption of ASC 606 (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Mar. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Sep. 30, 2017</div></th>
<th class="th"><div>Jun. 30, 2017</div></th>
<th class="th"><div>Mar. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Jan. 01, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">$ 111,779<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 106,716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 111,779<span></span>
</td>
<td class="nump">$ 106,716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 107,743<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation and amortization</a></td>
<td class="num">(54,112)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(53,064)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(54,112)<span></span>
</td>
<td class="num">(53,064)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(53,612)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">57,667<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">53,652<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">57,667<span></span>
</td>
<td class="nump">53,652<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">54,131<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">2,507<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">297<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,507<span></span>
</td>
<td class="nump">297<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">871<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNoncurrent', window );">Deferred income taxes</a></td>
<td class="nump">4,129<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,129<span></span>
</td>
<td class="nump">2,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,415<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">111,802<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">97,562<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">111,802<span></span>
</td>
<td class="nump">97,562<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">97,492<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">50,697<span></span>
</td>
<td class="nump">$ 47,808<span></span>
</td>
<td class="nump">$ 49,019<span></span>
</td>
<td class="nump">$ 42,931<span></span>
</td>
<td class="nump">37,220<span></span>
</td>
<td class="nump">$ 35,684<span></span>
</td>
<td class="nump">$ 37,886<span></span>
</td>
<td class="nump">$ 37,053<span></span>
</td>
<td class="nump">190,455<span></span>
</td>
<td class="nump">147,843<span></span>
</td>
<td class="nump">$ 146,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">142,147<span></span>
</td>
<td class="nump">112,356<span></span>
</td>
<td class="nump">111,482<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">12,706<span></span>
</td>
<td class="nump">$ 12,431<span></span>
</td>
<td class="nump">$ 12,986<span></span>
</td>
<td class="nump">$ 10,185<span></span>
</td>
<td class="nump">$ 7,837<span></span>
</td>
<td class="nump">$ 8,193<span></span>
</td>
<td class="nump">$ 9,941<span></span>
</td>
<td class="nump">$ 9,516<span></span>
</td>
<td class="nump">48,308<span></span>
</td>
<td class="nump">$ 35,487<span></span>
</td>
<td class="nump">$ 34,650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member', window );">Accounting Standards Update 2014-09 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,027<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation and amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(548)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">479<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">574<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNoncurrent', window );">Deferred income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(25)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (70)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member', window );">Calculated under Revenue Guidance in Effect before Topic 606 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">110,372<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">110,372<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation and amortization</a></td>
<td class="num">(53,110)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(53,110)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">57,262<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">57,262<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">2,129<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,129<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNoncurrent', window );">Deferred income taxes</a></td>
<td class="nump">4,154<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,154<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">111,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">111,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">190,259<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">142,073<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,186<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member', window );">Difference between Revenue Guidance in Effect before and after Topic 606 [Member] | Accounting Standards Update 2014-09 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">1,407<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,407<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation and amortization</a></td>
<td class="num">(1,002)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,002)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Net property, plant and equipment</a></td>
<td class="nump">405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">378<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">378<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNoncurrent', window );">Deferred income taxes</a></td>
<td class="num">(25)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(25)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">$ 52<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">196<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">74<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 122<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130532-203044<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130531-203044<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting and classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31958-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31931-109318<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130539-203045<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130545-203045<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_CalculatedUnderRevenueGuidanceInEffectBeforeTopic606Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InitialApplicationPeriodCumulativeEffectTransitionAxis=us-gaap_DifferenceBetweenRevenueGuidanceInEffectBeforeAndAfterTopic606Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6836864800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Revenue Recognition - Revenue Disaggregated by the Major Types of Good and Services Sold (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Mar. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Sep. 30, 2017</div></th>
<th class="th"><div>Jun. 30, 2017</div></th>
<th class="th"><div>Mar. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 50,697<span></span>
</td>
<td class="nump">$ 47,808<span></span>
</td>
<td class="nump">$ 49,019<span></span>
</td>
<td class="nump">$ 42,931<span></span>
</td>
<td class="nump">$ 37,220<span></span>
</td>
<td class="nump">$ 35,684<span></span>
</td>
<td class="nump">$ 37,886<span></span>
</td>
<td class="nump">$ 37,053<span></span>
</td>
<td class="nump">$ 190,455<span></span>
</td>
<td class="nump">$ 147,843<span></span>
</td>
<td class="nump">$ 146,132<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Product [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">183,186<span></span>
</td>
<td class="nump">146,275<span></span>
</td>
<td class="nump">144,210<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=ufpt_ToolingAndMachineryMember', window );">Tooling and Machinery [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,302<span></span>
</td>
<td class="nump">1,181<span></span>
</td>
<td class="nump">1,633<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=ufpt_EngineeringAndDevelopmentMember', window );">Engineering and Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,967<span></span>
</td>
<td class="nump">$ 387<span></span>
</td>
<td class="nump">$ 289<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130539-203045<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130545-203045<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=ufpt_ToolingAndMachineryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=ufpt_ToolingAndMachineryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=ufpt_EngineeringAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=ufpt_EngineeringAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6847126096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Revenue Recognition - Contract Liabilities (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Deferred revenue - January 1, 2018</a></td>
<td class="nump">$ 871<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination', window );">Acquired in Dielectrics business combination</a></td>
<td class="nump">2,175<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers', window );">Increases due to consideration received from customers</a></td>
<td class="nump">4,188<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized</a></td>
<td class="num">(4,727)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Deferred revenue - December 31, 2018</a></td>
<td class="nump">$ 2,507<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in obligation to transfer good or service to customer for which consideration from customer has been received.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_ContractWithCustomerLiabilityIncreaseDueToConsiderationReceivedFromCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130531-203044<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130532-203044<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due, from business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831789824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Supplemental Cash Flow Information (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_CashlessExerciseOfStockOptions', window );">Cashless Exercise of Stock Options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 172,000<span></span>
</td>
<td class="nump">$ 166,000<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_CashlessExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the value of shares surrendered to pay for the strike price of the options exercised.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_CashlessExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831954048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest</a></td>
<td class="nump">$ 1,303<span></span>
</td>
<td class="nump">$ 47<span></span>
</td>
<td class="nump">$ 66<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes, net of refunds</a></td>
<td class="nump">3,463<span></span>
</td>
<td class="nump">3,878<span></span>
</td>
<td class="nump">3,562<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Non-cash investing and financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Capital additions accrued but not yet paid</a></td>
<td class="nump">$ 218<span></span>
</td>
<td class="nump">$ 85<span></span>
</td>
<td class="nump">$ 87<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4332-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4313-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831968976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Receivables (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for Doubtful Accounts</a></td>
<td class="num">$ (50,000)<span></span>
</td>
<td class="nump">$ 116,000<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense related to write-down of receivables to the amount expected to be collected. Includes, but is not limited to, accounts receivable and notes receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.5)<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=82913815&amp;loc=SL49130534-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831817920">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 4 - Receivables - Receivables (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Accounts receivable&#8211;trade</a></td>
<td class="nump">$ 28,885<span></span>
</td>
<td class="nump">$ 22,033<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Less allowance for doubtful receivables</a></td>
<td class="num">(564)<span></span>
</td>
<td class="num">(652)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesNetCurrent', window );">Receivables, net</a></td>
<td class="nump">$ 28,321<span></span>
</td>
<td class="nump">$ 21,381<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amounts due from customers or clients, within one year of the balance sheet date (or the normal operating cycle, whichever is longer) for goods or services (including trade receivables) that have been delivered or sold in the normal course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A valuation allowance for trade and other receivables due to an Entity within one year (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84173941&amp;loc=d3e5074-111524<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-06(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6488278&amp;loc=d3e604059-122996<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6832091248">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 5 - Inventories - Summary of Inventory (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 11,727<span></span>
</td>
<td class="nump">$ 6,898<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work in process</a></td>
<td class="nump">2,521<span></span>
</td>
<td class="nump">1,207<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">5,328<span></span>
</td>
<td class="nump">4,758<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total Inventory</a></td>
<td class="nump">$ 19,576<span></span>
</td>
<td class="nump">$ 12,863<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=68049868&amp;loc=d3e3927-108312<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831313456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Other Intangible Assets (Details Textual) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</a></td>
<td class="text">19 years 219 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of Intangible Assets, Total</a></td>
<td class="nump">$ 1.2<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6847103312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 6 - Other Intangible Assets - Definite-lived Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">$ 23,384<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(1,152)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Net balance</a></td>
<td class="nump">22,232<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=ufpt_TradeNameAndBrandMember', window );">Trade Name and Brand [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">367<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(33)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Net balance</a></td>
<td class="nump">334<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">462<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(85)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Net balance</a></td>
<td class="nump">377<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerListsMember', window );">Customer Lists [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">22,555<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="num">(1,034)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Net balance</a></td>
<td class="nump">$ 21,521<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=ufpt_TradeNameAndBrandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=ufpt_TradeNameAndBrandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerListsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerListsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831321808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 6 - Other Intangible Assets - Future Amortization of Intangible Assets (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2019</a></td>
<td class="nump">$ 1,257<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2020</a></td>
<td class="nump">1,257<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2021</a></td>
<td class="nump">1,257<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2022</a></td>
<td class="nump">1,257<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2023</a></td>
<td class="nump">1,172<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Thereafter</a></td>
<td class="nump">16,032<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 22,232<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831657120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Property, Plant, and Equipment (Details Textual) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation, Depletion and Amortization, Nonproduction, Total</a></td>
<td class="nump">$ 6.6<span></span>
</td>
<td class="nump">$ 5.3<span></span>
</td>
<td class="nump">$ 5.3<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6838051632">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 7 - Property, Plant, and Equipment - Property, Plant, and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Jan. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">$ 111,779<span></span>
</td>
<td class="nump">$ 107,743<span></span>
</td>
<td class="nump">$ 106,716<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandAndLandImprovementsMember', window );">Land and Land Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">3,191<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,191<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">35,187<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,939<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">2,843<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,553<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">62,441<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">58,602<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=ufpt_FurnitureFixturesAndComputersMember', window );">Furniture, Fixtures, and Computers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">7,119<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,820<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Construction in Progress [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment</a></td>
<td class="nump">$ 999<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,611<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandAndLandImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandAndLandImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=ufpt_FurnitureFixturesAndComputersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=ufpt_FurnitureFixturesAndComputersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6851006480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Indebtedness (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 01, 2018</div></th>
<th class="th"><div>Dec. 02, 2013</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember', window );">Other Assets [Member] | Other Nonoperating Income (Expense) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeGainOnDerivative', window );">Derivative, Gain on Derivative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 64,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest Rate Swap [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_invest_DerivativeNotionalAmount', window );">Derivative, Notional Amount</a></td>
<td class="nump">$ 20,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,142,856<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeTermOfContract', window );">Derivative, Term of Contract</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Derivative, Fixed Interest Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.70%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest Rate Swap [Member] | Other Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Derivative Asset, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 64,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | London Interbank Offered Rate (LIBOR) [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | London Interbank Offered Rate (LIBOR) [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | Prime Rate [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | Prime Rate [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=ufpt_AmendedAndRestatedCreditAgreementMember', window );">Amended and Restated Credit Agreement [Member] | Subsidiary Guarantors [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt Instrument, Face Amount</a></td>
<td class="nump">$ 70,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Debt Instrument, Interest Rate, Effective Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.52%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=ufpt_AmendedAndRestatedCreditAgreementMember', window );">Amended and Restated Credit Agreement [Member] | Subsidiary Guarantors [Member] | Unsecured Term Loan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt Instrument, Face Amount</a></td>
<td class="nump">20,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=ufpt_AmendedAndRestatedCreditAgreementMember', window );">Amended and Restated Credit Agreement [Member] | Subsidiary Guarantors [Member] | Unsecured Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=ufpt_AmendedAndRestatedCreditAgreementMember', window );">Amended and Restated Credit Agreement [Member] | Subsidiary Guarantors [Member] | Standby Letters of Credit [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=ufpt_AmendedAndRestatedCreditAgreementMember', window );">Amended and Restated Credit Agreement [Member] | Prime Rate [Member] | Maximum [Member] | Subsidiary Guarantors [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="nump">0.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=ufpt_UnsecuredRevolvingCreditFacilityMember', window );">Unsecured Revolving Credit Facility [Member] | London Interbank Offered Rate (LIBOR) [Member] | Minimum [Member] | Subsidiary Guarantors [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=ufpt_UnsecuredRevolvingCreditFacilityMember', window );">Unsecured Revolving Credit Facility [Member] | London Interbank Offered Rate (LIBOR) [Member] | Maximum [Member] | Subsidiary Guarantors [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="nump">1.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_invest_DerivativeNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate notional amount specified by the derivative(s). Expressed as an absolute value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Article 12<br> -Section 13<br> -Sentence Column B<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">invest_DerivativeNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>invest_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28551-108399<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109500613&amp;loc=SL6036836-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109250915&amp;loc=d3e13433-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFixedInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fixed interest rate related to the interest rate derivative.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFixedInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeGainOnDerivative">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the fair value of derivatives recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5618551-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeGainOnDerivative</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period the derivative contract is outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_OtherNonoperatingIncomeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_OtherNonoperatingIncomeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_PrimeRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=ufpt_AmendedAndRestatedCreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=ufpt_AmendedAndRestatedCreditAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityAxis=ufpt_SubsidiaryGuarantorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAxis=ufpt_SubsidiaryGuarantorsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=ufpt_UnsecuredTermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=ufpt_UnsecuredTermLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=ufpt_UnsecuredRevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=ufpt_UnsecuredRevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=us-gaap_StandbyLettersOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=us-gaap_StandbyLettersOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=ufpt_UnsecuredRevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=ufpt_UnsecuredRevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6828906368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 8 - Indebtedness - Long-term Debt (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 25,143<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Current portion</a></td>
<td class="num">(2,857)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt, excluding current portion</a></td>
<td class="nump">22,286<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=ufpt_TermLoanMember', window );">Term Loan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">17,143<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 8,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109500613&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=ufpt_TermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=ufpt_TermLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831781520">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 9 - Accrued Expenses - Accrued Expenses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalariesCurrent', window );">Compensation</a></td>
<td class="nump">$ 3,529<span></span>
</td>
<td class="nump">$ 2,536<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SelfInsuranceReserveCurrent', window );">Benefits / self-insurance reserve</a></td>
<td class="nump">782<span></span>
</td>
<td class="nump">334<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedVacationCurrent', window );">Paid time off</a></td>
<td class="nump">1,131<span></span>
</td>
<td class="nump">990<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalesCommissionCurrent', window );">Commissions payable</a></td>
<td class="nump">384<span></span>
</td>
<td class="nump">309<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">2,632<span></span>
</td>
<td class="nump">1,297<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">$ 8,458<span></span>
</td>
<td class="nump">$ 5,466<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalariesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalariesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalesCommissionCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalesCommissionCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedVacationCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6409733&amp;loc=d3e19396-108361<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6911-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedVacationCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e7018-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SelfInsuranceReserveCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of accrued known and estimated losses incurred as of the balance sheet date for which no insurance coverage exists, and for which a claim has been made or is probable of being asserted, typically arising from workmen's compensation-type of incidents and personal injury to nonemployees from accidents on the entity's property that are expected to be paid within one year (or the normal operating cycle, if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SelfInsuranceReserveCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6834922944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Income Taxes (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 17, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Deferred Tax Assets, Net of Valuation Allowance, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">34.00%<span></span>
</td>
<td class="nump">34.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized Tax Benefits, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 150,000<span></span>
</td>
<td class="nump">$ 150,000<span></span>
</td>
<td class="nump">$ 150,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">153,000<span></span>
</td>
<td class="nump">153,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability', window );">Income Tax Expense (Benefit), Continuing Operations, Adjustment of Deferred Tax (Asset) Liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1,500,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (50,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementScenarioAxis=us-gaap_ScenarioForecastMember', window );">Scenario, Forecast [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized Tax Benefits, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities', window );">Unrecognized Tax Benefits, Decrease Resulting from Settlements with Taxing Authorities</a></td>
<td class="nump">$ 156,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Domestic Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Open Tax Year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2015 2016 2017 2018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State and Local Jurisdiction [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OpenTaxYear', window );">Open Tax Year</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2015 2016 2017 2018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAxis=ufpt_OneStateJurisdictionMember', window );">One State Jurisdiction [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAmount', window );">Tax Credit Carryforward, Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 325,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income tax expense (benefit) from continuing operations attributable to an adjustment of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OpenTaxYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tax year that remains open to examination under enacted tax laws, in CCYY format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OpenTaxYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>us-types:gYearListItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10B<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=SL37586934-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from settlements with taxing authorities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e32123-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementScenarioAxis=us-gaap_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementScenarioAxis=us-gaap_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAxis=ufpt_OneStateJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAxis=ufpt_OneStateJurisdictionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6837335408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Income Taxes - Income Tax Provision (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 1,772<span></span>
</td>
<td class="nump">$ 3,117<span></span>
</td>
<td class="nump">$ 3,120<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">439<span></span>
</td>
<td class="nump">551<span></span>
</td>
<td class="nump">651<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current income taxes</a></td>
<td class="nump">2,211<span></span>
</td>
<td class="nump">3,668<span></span>
</td>
<td class="nump">3,771<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">1,917<span></span>
</td>
<td class="num">(1,091)<span></span>
</td>
<td class="nump">546<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="num">(36)<span></span>
</td>
<td class="nump">72<span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="nump">1,881<span></span>
</td>
<td class="num">(1,019)<span></span>
</td>
<td class="nump">576<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax provision</a></td>
<td class="nump">$ 4,092<span></span>
</td>
<td class="nump">$ 2,649<span></span>
</td>
<td class="nump">$ 4,347<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6832016592">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 10 - Income Taxes - Deferred Tax Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals', window );">Reserves</a></td>
<td class="nump">$ 367<span></span>
</td>
<td class="nump">$ 398<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Inventory capitalization</a></td>
<td class="nump">421<span></span>
</td>
<td class="nump">228<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent', window );">Compensation programs</a></td>
<td class="nump">447<span></span>
</td>
<td class="nump">394<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits', window );">Retirement liability</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">7<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Equity-based compensation</a></td>
<td class="nump">290<span></span>
</td>
<td class="nump">158<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent', window );">Deferred rent</a></td>
<td class="nump">11<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets', window );">Intangible assets</a></td>
<td class="nump">141<span></span>
</td>
<td class="nump">274<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards', window );">Tax credits</a></td>
<td class="nump">257<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total deferred tax assets</a></td>
<td class="num">(1,936)<span></span>
</td>
<td class="num">(1,465)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Excess of book over tax basis of fixed assets</a></td>
<td class="num">(4,668)<span></span>
</td>
<td class="num">(3,305)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill', window );">Goodwill</a></td>
<td class="num">(1,397)<span></span>
</td>
<td class="num">(600)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="num">(6,065)<span></span>
</td>
<td class="num">(3,905)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_AggregateDeferredTaxLiabilitiesNoncurrent', window );">Net long-term deferred tax liabilities</a></td>
<td class="num">$ (4,129)<span></span>
</td>
<td class="num">$ (2,440)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_AggregateDeferredTaxLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount, in aggregate, of the deferred tax liability attributable to taxable temporary differences, net of deferred tax asset attributable to deductible temporary differences and carryforwards net of valuation allowances</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_AggregateDeferredTaxLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from intangible assets including goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=115928272&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from postretirement benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsPostretirementBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115928272&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=115928272&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred rent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115928272&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 740<br> -Section 25<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109126419&amp;loc=d3e9972-128506<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=115928272&amp;loc=d3e28680-109314<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 740<br> -Section 25<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109126419&amp;loc=d3e9979-128506<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=115928272&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6838014608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Income Taxes - Income Tax Rate Reconciliation (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Computed &#8220;expected&#8221; tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">34.00%<span></span>
</td>
<td class="nump">34.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State taxes, net of federal tax benefit</a></td>
<td class="nump">2.80%<span></span>
</td>
<td class="nump">3.50%<span></span>
</td>
<td class="nump">3.70%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment', window );">Meals and entertainment</a></td>
<td class="nump">0.20%<span></span>
</td>
<td class="nump">0.30%<span></span>
</td>
<td class="nump">0.20%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits', window );">Tax credits</a></td>
<td class="num">(1.90%)<span></span>
</td>
<td class="num">(0.60%)<span></span>
</td>
<td class="num">(0.60%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities', window );">Domestic production deduction</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(2.60%)<span></span>
</td>
<td class="num">(2.50%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Non-deductible ISO stock option expense</a></td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">0.30%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments', window );">Unrecognized tax benefits</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(0.10%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent', window );">Excess tax benefits on equity awards</a></td>
<td class="num">(1.30%)<span></span>
</td>
<td class="num">(1.40%)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Excess compensation</a></td>
<td class="nump">0.80%<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">Impact on deferred taxes of new legislation</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(11.10%)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">0.30%<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">22.20%<span></span>
</td>
<td class="nump">22.30%<span></span>
</td>
<td class="nump">35.30%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to the tax benefit from equity-based compensation costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_EffectiveIncomeTaxRateReconciliationTaxBenefitsFromSharebasedCompensationCostPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of difference between the effective income tax rate and domestic federal statutory income tax rate attributable to the amount of unrecognized tax benefits under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_EffectiveIncomeTaxRateReconciliationUnrecognizedTaxBenefitsAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deduction for qualified production activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsQualifiedProductionActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to meals and entertainment expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to equity-based compensation costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to excess tax benefit for share-based compensation cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6834728400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Income Taxes - Unrecognized Tax Benefits (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Gross UTB balance at beginning of fiscal year</a></td>
<td class="nump">$ 150,000<span></span>
</td>
<td class="nump">$ 150,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Reductions for tax positions of prior years</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Gross UTB balance at end of fiscal year</a></td>
<td class="nump">$ 150,000<span></span>
</td>
<td class="nump">$ 150,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10B<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=SL37586934-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831887472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Net Income Per Share (Details Textual) - shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</a></td>
<td class="nump">10,344<span></span>
</td>
<td class="nump">27,336<span></span>
</td>
<td class="nump">52,377<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6849940608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted average common shares outstanding during the year (in shares)</a></td>
<td class="nump">7,347<span></span>
</td>
<td class="nump">7,248<span></span>
</td>
<td class="nump">7,190<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Weighted average common equivalent shares due to stock options and restricted stock units (in shares)</a></td>
<td class="nump">83<span></span>
</td>
<td class="nump">89<span></span>
</td>
<td class="nump">85<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted weighted average common shares outstanding during the year (in shares)</a></td>
<td class="nump">7,430<span></span>
</td>
<td class="nump">7,337<span></span>
</td>
<td class="nump">7,275<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1500-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6835085808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Stock Option and Equity Incentive Plans (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 06, 2018</div></th>
<th class="th"><div>Feb. 21, 2016</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Jun. 08, 2011</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">101,626<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,212,000<span></span>
</td>
<td class="nump">$ 1,068,000<span></span>
</td>
<td class="nump">$ 1,056,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation', window );">Adjustments to Additional Paid in Capital, Income Tax Benefit from Share-based Compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 167,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">145,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember', window );">Employee and Nonemployee Stock Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">134,403<span></span>
</td>
<td class="nump">202,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,344<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,200,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from Stock Options Exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,300,000<span></span>
</td>
<td class="nump">$ 800,000<span></span>
</td>
<td class="nump">$ 700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation', window );">Shares Paid for Exercise Price and Tax Withholding for Share Based Compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,511<span></span>
</td>
<td class="nump">6,514<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_SharesPaidForExercisePriceOfAwards', window );">Shares Paid for Exercise Price of Awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,511<span></span>
</td>
<td class="nump">6,514<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares Paid for Tax Withholding for Share Based Compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice', window );">Shares Paid for Exercise Price and Tax Withholding for Share-based Compensation, Average Market Price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 26.45<span></span>
</td>
<td class="nump">$ 25.50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares Paid for Tax Withholding for Share Based Compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,238<span></span>
</td>
<td class="nump">4,377<span></span>
</td>
<td class="nump">3,389<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice', window );">Shares Paid for Tax Withholding for Share Based Compensation Market Price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 27.60<span></span>
</td>
<td class="nump">$ 24.50<span></span>
</td>
<td class="nump">$ 22.82<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation', window );">Adjustments to Additional Paid in Capital, Income Tax Benefit from Share-based Compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 145,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=ufpt_The2003IncentivePlanMember', window );">The 2003 Incentive Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,250,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative', window );">Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued, Accumulative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,236,812<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized', window );">Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">73,392<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">185,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49,375<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">854,077<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=ufpt_The2003IncentivePlanMember', window );">The 2003 Incentive Plan [Member] | Common Stock [Member] | Chairman Chief Executive Officer and President [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Stock Issued During Period, Value, Share-based Compensation, Net of Forfeitures, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period</a></td>
<td class="nump">3,366<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=ufpt_NonemployeeDirectorStockIncentivePlanMember', window );">Nonemployee Director Stock Incentive Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">975,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative', window );">Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued, Accumulative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,366<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=ufpt_NonemployeeDirectorStockIncentivePlanMember', window );">Nonemployee Director Stock Incentive Plan [Member] | Employee and Nonemployee Stock Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">106,543<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">348,490<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted since inception of the share-based compensation plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represent the number of shares issued under a share-based compensation plan since inception as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedAccumulative</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of shares the employees use to repay the employer for the exercise price and income tax withholding obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the average price per share used by the employees to repay the employer for the exercise price and income tax withholding obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_SharesPaidForExercisePriceAndTaxWithholdingForShareBasedCompensationAverageMarketPrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_SharesPaidForExercisePriceOfAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of shares which the employees use to repay the employer for exercise price of awards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_SharesPaidForExercisePriceOfAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For net-share settlement of share-based awards when the employer settles employees' income tax withholding obligations, this element represents the market price per share of shares used by the employees to repay the employer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_SharesPaidForTaxWithholdingForShareBasedCompensationMarketPrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in additional paid in capital (APIC) resulting from a tax benefit associated with share-based compensation plan other than an employee stock ownership plan (ESOP). Includes, but is not limited to, excess tax benefit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 740<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109245112&amp;loc=d3e23524-113945<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of stock options granted under share-based compensation arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of additional shares authorized for issuance under an established share-based compensation plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of shares (or other type of equity) originally approved (usually by shareholders and board of directors), net of any subsequent amendments and adjustments, for awards under the equity-based compensation plan. As stock or unit options and equity instruments other than options are awarded to participants, the shares or units remain authorized and become reserved for issuance under outstanding awards (not necessarily vested).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share instruments newly issued under a share-based compensation plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For net-share settlement of share-based awards when the employer settles employees' income tax withholding obligations, this element represents the number of shares the employees use to repay the employer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock (or other type of equity) issued during the period as a result of any equity-based compensation plan other than an employee stock ownership plan (ESOP), net of stock value of such awards forfeited. Stock issued could result from the issuance of restricted stock, the exercise of stock options, stock issued under employee stock purchase plans, and/or other employee benefit plans.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=ufpt_The2003IncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=ufpt_The2003IncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=ufpt_ChairmanChiefExecutiveOfficerAndPresidentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=ufpt_NonemployeeDirectorStockIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=ufpt_NonemployeeDirectorStockIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6837330576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Stock Option and Equity Incentive Plans - Compensation Cost (Details) - Selling, General and Administrative Expenses [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based compensation expense</a></td>
<td class="nump">$ 1,212<span></span>
</td>
<td class="nump">$ 1,068<span></span>
</td>
<td class="nump">$ 1,056<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_CommonStockMember', window );">Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based compensation expense</a></td>
<td class="nump">505<span></span>
</td>
<td class="nump">505<span></span>
</td>
<td class="nump">505<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember', window );">Employee and Nonemployee Stock Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based compensation expense</a></td>
<td class="nump">149<span></span>
</td>
<td class="nump">138<span></span>
</td>
<td class="nump">237<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based compensation expense</a></td>
<td class="nump">$ 559<span></span>
</td>
<td class="nump">$ 425<span></span>
</td>
<td class="nump">$ 314<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6850136592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Stock Option and Equity Incentive Plans - Summary of Stock Option Activity (Details) - Employee and Nonemployee Stock Option [Member]<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding (in shares) | shares</a></td>
<td class="nump">202,739<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, weighted average exercise price (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 18.23<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross | shares</a></td>
<td class="nump">10,344<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted, weighted average exercise price (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 31.20<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares) | shares</a></td>
<td class="num">(78,680)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised, weighted average exercise price (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 31.43<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding (in shares) | shares</a></td>
<td class="nump">134,403<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, weighted average exercise price (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 20.46<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding, weighted average remaining contractual life (Year)</a></td>
<td class="text">4 years 182 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Outstanding, aggregate intrinsic value | $</a></td>
<td class="nump">$ 1,296<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable (in shares) | shares</a></td>
<td class="nump">126,543<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable, weighted average exercise price (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 19.97<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Exercisable, weighted average remaining contractual life (Year)</a></td>
<td class="text">4 years 193 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Exercisable, aggregate intrinsic value | $</a></td>
<td class="nump">$ 1,286<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested and expected to vest (in shares) | shares</a></td>
<td class="nump">134,403<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Vested and expected to vest, weighted average exercise price (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 20.46<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested and expected to vest, weighted average remaining contractual life (Year)</a></td>
<td class="text">4 years 182 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Vested and expected to vest, aggregate intrinsic value | $</a></td>
<td class="nump">$ 1,296<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6826319088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Stock Option and Equity Incentive Plans - Restricted Stock Unit Activity (Details) - Restricted Stock Units (RSUs) [Member]<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2018 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding (in shares) | shares</a></td>
<td class="nump">57,395<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, weighted average award date fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 21.03<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Awarded (in shares) | shares</a></td>
<td class="nump">30,831<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Awarded, weighted average award date fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 29.36<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Shares vested (in shares) | shares</a></td>
<td class="num">(16,050)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Shares vested (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 23.55<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Outstanding (in shares) | shares</a></td>
<td class="nump">72,176<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, weighted average award date fair value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 23.60<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value of nonvested awards on equity-based plans excluding option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, revenue or profit achievement stock award plan) for which the employer is contingently obligated to issue equity instruments or transfer assets to an employee who has not yet satisfied service or performance criteria necessary to gain title to proceeds from the sale of the award or underlying shares or units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6837832384">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 12 - Stock Option and Equity Incentive Plans - Future Share-based Compensation Expense (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths', window );">2019</a></td>
<td class="nump">$ 530<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo', window );">2020</a></td>
<td class="nump">444<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree', window );">2021</a></td>
<td class="nump">250<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour', window );">2022</a></td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Total</a></td>
<td class="nump">1,254<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember', window );">Employee and Nonemployee Stock Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths', window );">2019</a></td>
<td class="nump">28<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo', window );">2020</a></td>
<td class="nump">28<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree', window );">2021</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour', window );">2022</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Total</a></td>
<td class="nump">56<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_CommonStockMember', window );">Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths', window );">2019</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo', window );">2020</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree', window );">2021</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour', window );">2022</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Total</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths', window );">2019</a></td>
<td class="nump">502<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo', window );">2020</a></td>
<td class="nump">416<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree', window );">2021</a></td>
<td class="nump">250<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour', window );">2022</a></td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Total</a></td>
<td class="nump">$ 1,198<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the next fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the fourth fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the third fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of unrecognized cost of equity-based awards made to employees under equity-based compensation awards that have yet to vest, which is expected to be recognized during the second fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=ufpt_EmployeeAndNonemployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831693440">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 13 - Preferred Stock (Details Textual)<br></strong></div></th>
<th class="th">
<div>Mar. 18, 2009 </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>$ / shares</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding', window );">Preferred Stock Dividends Number of Preferred Share Purchase Rights Distributed for each Share of Common Stock Outstanding</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common Stock, Par or Stated Value Per Share</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred Stock, Par or Stated Value Per Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightAxis=ufpt_PreferredSharePurchaseRightMember', window );">Preferred Share Purchase Right [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight', window );">Class of Warrant or Right, Number of Securities Called by Each Warrant or Right | shares</a></td>
<td class="nump">0.001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Class of Warrant or Right, Exercise Price of Warrants or Rights</a></td>
<td class="nump">$ 25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=ufpt_SeriesAJuniorParticipatingPreferredStockMember', window );">Series A Junior Participating Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight', window );">Class of Warrant or Right, Number of Securities Called by Each Warrant or Right | shares</a></td>
<td class="nump">0.001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred Stock, Par or Stated Value Per Share</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of preferred share purchase rights declared as dividend for each outstanding share of common stock on March, 2009.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_PreferredStockDividendsNumberOfPreferredSharePurchaseRightsDistributedForEachShareOfCommonStockOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(i)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of securities into which each warrant or right may be converted. For example, but not limited to, each warrant may be converted into two shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=ufpt_PreferredSharePurchaseRightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=ufpt_PreferredSharePurchaseRightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=ufpt_SeriesAJuniorParticipatingPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=ufpt_SeriesAJuniorParticipatingPreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6847376512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Supplemental Retirement Benefits (Details Textual) - Supplemental Employee Retirement Plan [Member] - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost', window );">Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Total</a></td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate', window );">Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate</a></td>
<td class="nump">4.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths', window );">Defined Benefit Plan, Expected Future Benefit Payment, Next Twelve Months</a></td>
<td class="nump">$ 25,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (k)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=108410482&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of benefits for defined benefit plan expected to be paid in next fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=108410482&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of net periodic benefit cost (credit) for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=108410482&amp;loc=d3e2709-114920<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=112275985&amp;loc=d3e4179-114921<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=108410482&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetirementPlanTypeAxis=us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanTypeAxis=us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6836869344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - Commitments and Contingencies (Details Textual) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseAndRentalExpense', window );">Operating Leases, Rent Expense, Total</a></td>
<td class="nump">$ 1.2<span></span>
</td>
<td class="nump">$ 0.9<span></span>
</td>
<td class="nump">$ 0.8<span></span>
</td>
</tr>
</table>
<div style="display: none;"><table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseAndRentalExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of rent expense incurred for leased assets, including but not limited to, furniture and equipment, that is not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseAndRentalExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6847282240">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 15 - Commitments and Contingencies - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent', window );">2019</a></td>
<td class="nump">$ 1,051<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears', window );">2020</a></td>
<td class="nump">1,070<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears', window );">2021</a></td>
<td class="nump">1,063<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears', window );">2022</a></td>
<td class="nump">975<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears', window );">2023</a></td>
<td class="nump">36<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDue', window );">Total minimum lease payments</a></td>
<td class="nump">$ 4,195<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for leases having an initial or remaining non-cancelable letter-terms in excess of one year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6837283552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Employee Benefit Plans (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanCostRecognized', window );">Defined Contribution Plan, Cost</a></td>
<td class="nump">$ 1,100,000<span></span>
</td>
<td class="nump">$ 800,000<span></span>
</td>
<td class="nump">$ 700,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount', window );">Self-insured Health Insurance Program, Stop Loss Amount</a></td>
<td class="nump">225,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent', window );">Deferred Compensation Liability, Classified, Noncurrent, Total</a></td>
<td class="nump">2,044,000<span></span>
</td>
<td class="nump">2,030,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent', window );">Assets for Plan Benefits, Defined Benefit Plan</a></td>
<td class="nump">$ 2,000,000<span></span>
</td>
<td class="nump">$ 2,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of the stop loss per insured person under the partially self-insured health insurance program.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_SelfIinsuredHealthInsuranceProgramStopLossAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable beyond one year (or the operating cycle, if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset, recognized in statement of financial position, for overfunded defined benefit pension and other postretirement plans.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109237824&amp;loc=d3e1731-114919<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109237824&amp;loc=d3e1703-114919<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=108410482&amp;loc=d3e1928-114920<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAssetsForPlanBenefitsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831852128">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 17 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Measurements, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Derivative financial instruments</a></td>
<td class="nump">$ 64<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109250915&amp;loc=d3e13433-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6831317920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Segment Data (Details Textual)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2018</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of Reportable Segments</a></td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of Operating Segments</a></td>
<td class="nump">1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6847549520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Segment Data - Net Sales by Market (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Mar. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Sep. 30, 2017</div></th>
<th class="th"><div>Jun. 30, 2017</div></th>
<th class="th"><div>Mar. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 50,697<span></span>
</td>
<td class="nump">$ 47,808<span></span>
</td>
<td class="nump">$ 49,019<span></span>
</td>
<td class="nump">$ 42,931<span></span>
</td>
<td class="nump">$ 37,220<span></span>
</td>
<td class="nump">$ 35,684<span></span>
</td>
<td class="nump">$ 37,886<span></span>
</td>
<td class="nump">$ 37,053<span></span>
</td>
<td class="nump">$ 190,455<span></span>
</td>
<td class="nump">$ 147,843<span></span>
</td>
<td class="nump">$ 146,132<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage', window );">Percentage of concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=ufpt_MedicalMember', window );">Medical [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 110,282<span></span>
</td>
<td class="nump">$ 70,087<span></span>
</td>
<td class="nump">$ 64,733<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage', window );">Percentage of concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">57.90%<span></span>
</td>
<td class="nump">47.40%<span></span>
</td>
<td class="nump">44.30%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=ufpt_ConsumerMember', window );">Consumer [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,989<span></span>
</td>
<td class="nump">$ 21,328<span></span>
</td>
<td class="nump">$ 20,721<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage', window );">Percentage of concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13.10%<span></span>
</td>
<td class="nump">14.40%<span></span>
</td>
<td class="nump">14.20%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=ufpt_AutomotiveMember', window );">Automotive [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,012<span></span>
</td>
<td class="nump">$ 23,118<span></span>
</td>
<td class="nump">$ 27,255<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage', window );">Percentage of concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.50%<span></span>
</td>
<td class="nump">15.60%<span></span>
</td>
<td class="nump">18.70%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=ufpt_AerospaceDefenseMember', window );">Aerospace &amp; Defense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,133<span></span>
</td>
<td class="nump">$ 11,521<span></span>
</td>
<td class="nump">$ 10,951<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage', window );">Percentage of concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.90%<span></span>
</td>
<td class="nump">7.80%<span></span>
</td>
<td class="nump">7.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=ufpt_ElectronicsMember', window );">Electronics [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,453<span></span>
</td>
<td class="nump">$ 11,960<span></span>
</td>
<td class="nump">$ 11,675<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage', window );">Percentage of concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.00%<span></span>
</td>
<td class="nump">8.10%<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=ufpt_IndustrialMember', window );">Industrial [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,586<span></span>
</td>
<td class="nump">$ 9,829<span></span>
</td>
<td class="nump">$ 10,797<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage', window );">Percentage of concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.60%<span></span>
</td>
<td class="nump">6.60%<span></span>
</td>
<td class="nump">7.40%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of revenue, including tax collected from customer, from satisfaction of performance obligation by transferring promised good or service to customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_RevenueFromContractWithCustomerIncludingAssessedTaxPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130539-203045<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130545-203045<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=ufpt_MedicalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=ufpt_MedicalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=ufpt_ConsumerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=ufpt_ConsumerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=ufpt_AutomotiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=ufpt_AutomotiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=ufpt_AerospaceDefenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=ufpt_AerospaceDefenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=ufpt_ElectronicsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=ufpt_ElectronicsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=ufpt_IndustrialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=ufpt_IndustrialMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6839082000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Mar. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Sep. 30, 2017</div></th>
<th class="th"><div>Jun. 30, 2017</div></th>
<th class="th"><div>Mar. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 50,697<span></span>
</td>
<td class="nump">$ 47,808<span></span>
</td>
<td class="nump">$ 49,019<span></span>
</td>
<td class="nump">$ 42,931<span></span>
</td>
<td class="nump">$ 37,220<span></span>
</td>
<td class="nump">$ 35,684<span></span>
</td>
<td class="nump">$ 37,886<span></span>
</td>
<td class="nump">$ 37,053<span></span>
</td>
<td class="nump">$ 190,455<span></span>
</td>
<td class="nump">$ 147,843<span></span>
</td>
<td class="nump">$ 146,132<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">12,706<span></span>
</td>
<td class="nump">12,431<span></span>
</td>
<td class="nump">12,986<span></span>
</td>
<td class="nump">10,185<span></span>
</td>
<td class="nump">7,837<span></span>
</td>
<td class="nump">8,193<span></span>
</td>
<td class="nump">9,941<span></span>
</td>
<td class="nump">9,516<span></span>
</td>
<td class="nump">$ 48,308<span></span>
</td>
<td class="nump">$ 35,487<span></span>
</td>
<td class="nump">$ 34,650<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income</a></td>
<td class="nump">$ 4,410<span></span>
</td>
<td class="nump">$ 4,134<span></span>
</td>
<td class="nump">$ 3,990<span></span>
</td>
<td class="nump">$ 1,777<span></span>
</td>
<td class="nump">$ 2,714<span></span>
</td>
<td class="nump">$ 1,695<span></span>
</td>
<td class="nump">$ 2,630<span></span>
</td>
<td class="nump">$ 2,171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic net income per share (in dollars per share)</a></td>
<td class="nump">$ 0.60<span></span>
</td>
<td class="nump">$ 0.56<span></span>
</td>
<td class="nump">$ 0.54<span></span>
</td>
<td class="nump">$ 0.24<span></span>
</td>
<td class="nump">$ 0.38<span></span>
</td>
<td class="nump">$ 0.23<span></span>
</td>
<td class="nump">$ 0.36<span></span>
</td>
<td class="nump">$ 0.30<span></span>
</td>
<td class="nump">$ 1.95<span></span>
</td>
<td class="nump">$ 1.27<span></span>
</td>
<td class="nump">$ 1.11<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted net income per share (in dollars per share)</a></td>
<td class="nump">$ 0.59<span></span>
</td>
<td class="nump">$ 0.56<span></span>
</td>
<td class="nump">$ 0.54<span></span>
</td>
<td class="nump">$ 0.24<span></span>
</td>
<td class="nump">$ 0.37<span></span>
</td>
<td class="nump">$ 0.23<span></span>
</td>
<td class="nump">$ 0.36<span></span>
</td>
<td class="nump">$ 0.30<span></span>
</td>
<td class="nump">$ 1.93<span></span>
</td>
<td class="nump">$ 1.26<span></span>
</td>
<td class="nump">$ 1.10<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1337-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=109256448&amp;loc=d3e4984-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=SL5780133-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=109256448&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1377-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130539-203045<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130545-203045<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6839197280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Plant Consolidation (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 18, 2015</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCharges', window );">Restructuring Charges, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 63,000<span></span>
</td>
<td class="nump">$ 420,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=ufpt_NewburyportMassachusettsFacilityMember', window );">Newburyport, Massachusetts Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCharges', window );">Restructuring Charges, Total</a></td>
<td class="nump">$ 2,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Payments for Restructuring</a></td>
<td class="nump">2,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=ufpt_NewburyportMassachusettsFacilityMember', window );">Newburyport, Massachusetts Facility [Member] | Employee Severance Payments and Relocation Costs [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedCostExpectedCost1', window );">Restructuring and Related Cost, Expected Cost, Total</a></td>
<td class="nump">180,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=ufpt_NewburyportMassachusettsFacilityMember', window );">Newburyport, Massachusetts Facility [Member] | Moving and Vacating Expense [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedCostExpectedCost1', window );">Restructuring and Related Cost, Expected Cost, Total</a></td>
<td class="nump">1,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=ufpt_NewburyportMassachusettsFacilityMember', window );">Newburyport, Massachusetts Facility [Member] | Lease Termination [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedCostExpectedCost1', window );">Restructuring and Related Cost, Expected Cost, Total</a></td>
<td class="nump">$ 360,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRestructuring">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3367-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRestructuring</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringAndRelatedCostExpectedCost1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount expected to be recognized in earnings for the specified restructuring cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedCostExpectedCost1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140864-122747<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=ufpt_NewburyportMassachusettsFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=ufpt_NewburyportMassachusettsFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=ufpt_EmployeeSeverancePaymentsAndRelocationCostsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=ufpt_MovingAndVacatingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=ufpt_MovingAndVacatingExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=ufpt_LeaseTerminationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=ufpt_LeaseTerminationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R94.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6632045248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 20 - Plant Consolidation - Restructuring Costs (Details) - Newburyport, Massachusetts Facility [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessExitCosts1', window );">Relocation</a></td>
<td class="nump">$ 63<span></span>
</td>
<td class="nump">$ 420<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Total restructuring costs</a></td>
<td class="nump">$ 63<span></span>
</td>
<td class="nump">$ 420<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessExitCosts1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Includes, but is not limited to, one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, and relocating employees, and termination benefits associated with an ongoing benefit arrangement. Excludes expenses associated with special or contractual termination benefits, a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140864-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessExitCosts1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=ufpt_NewburyportMassachusettsFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=ufpt_NewburyportMassachusettsFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>R95.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6839200256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 21 - Material Overcharge Settlement (Details Textual) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_LitigationCaseAxis=ufpt_PolyurethaneFoamAntitrustLawsuitMember', window );">Polyurethane Foam Antitrust Lawsuit [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LitigationSettlementAmountAwardedFromOtherParty', window );">Litigation Settlement, Amount Awarded from Other Party</a></td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="nump">$ 2.1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationSettlementAmountAwardedFromOtherParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount awarded from other party in judgment or settlement of litigation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationSettlementAmountAwardedFromOtherParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=ufpt_PolyurethaneFoamAntitrustLawsuitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_LitigationCaseAxis=ufpt_PolyurethaneFoamAntitrustLawsuitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<FILENAME>R96.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6838255344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 22 - Acquisition (Details Textual)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Feb. 01, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Business Combination, Acquisition Related Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,089,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue from Contract with Customer, Including Assessed Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50,697,000<span></span>
</td>
<td class="nump">$ 47,808,000<span></span>
</td>
<td class="nump">$ 49,019,000<span></span>
</td>
<td class="nump">$ 42,931,000<span></span>
</td>
<td class="nump">$ 37,220,000<span></span>
</td>
<td class="nump">$ 35,684,000<span></span>
</td>
<td class="nump">$ 37,886,000<span></span>
</td>
<td class="nump">$ 37,053,000<span></span>
</td>
<td class="nump">190,455,000<span></span>
</td>
<td class="nump">147,843,000<span></span>
</td>
<td class="nump">146,132,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss) Attributable to Parent, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,311,000<span></span>
</td>
<td class="nump">$ 9,210,000<span></span>
</td>
<td class="nump">$ 7,970,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseArrangementTypeAxis=ufpt_DielectricsMember', window );">Dielectrics [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lessee, Operating Lease, Term of Contract</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_NumberOfLeaseTermOptions', window );">Number of Lease Term Options</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember', window );">Dielectrics [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired', window );">Business Acquisition, Percentage of Voting Interests Acquired</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Payments to Acquire Businesses, Gross</a></td>
<td class="nump">$ 80,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment', window );">Business Combination, Consideration Transferred, Working Capital Adjustment</a></td>
<td class="nump">$ 250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts', window );">Business Combination, Acquisition Related Costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue from Contract with Customer, Including Assessed Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss) Attributable to Parent, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of adjustment to working capital in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_NumberOfLeaseTermOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of lease term options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_NumberOfLeaseTermOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of voting equity interests acquired at the acquisition date in the business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -URI http://asc.fasb.org/extlink&amp;oid=84229725&amp;loc=d3e1043-128460<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAcquisitionRelatedCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130539-203045<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130545-203045<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseArrangementTypeAxis=ufpt_DielectricsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseArrangementTypeAxis=ufpt_DielectricsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<FILENAME>R97.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6839391472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 22 - Acquisition - Assets Acquires and Liabilities Assumed (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Feb. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 51,838,000<span></span>
</td>
<td class="nump">$ 7,322,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember', window );">Dielectrics [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash paid at closing</a></td>
<td class="nump">$ 80,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment', window );">Working capital adjustment</a></td>
<td class="nump">250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAcquiredFromAcquisition', window );">Cash from Dielectrics</a></td>
<td class="num">(3,272,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Total consideration</a></td>
<td class="nump">76,978,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="nump">4,384,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventory</a></td>
<td class="nump">4,418,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther', window );">Other current assets</a></td>
<td class="nump">122,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property, plant and equipment</a></td>
<td class="nump">4,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">44,516,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill', window );">Total identifiable assets</a></td>
<td class="nump">81,424,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(1,325,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="num">(946,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue', window );">Deferred revenue</a></td>
<td class="num">(2,175,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Net assets acquired</a></td>
<td class="nump">76,978,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember', window );">Dielectrics [Member] | Customer Lists [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="nump">22,555,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember', window );">Dielectrics [Member] | Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="nump">462,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember', window );">Dielectrics [Member] | Trade Name and Brand [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Intangible assets</a></td>
<td class="nump">$ 367,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of adjustment to working capital in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_BusinessCombinationConsiderationTransferredWorkingCapitalAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of assets acquired, including goodwill at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsIncludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accrued liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ufpt_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ufpt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109124213&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109124213&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84161108&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84161108&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84161108&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred revenue expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84161108&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of intangible assets, excluding goodwill, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84161108&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of inventory recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84161108&amp;loc=d3e4845-128472<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=108330185&amp;loc=d3e2207-128464<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=108330185&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84161108&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84161108&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAcquiredFromAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAcquiredFromAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerListsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerListsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=ufpt_TradeNameAndBrandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=ufpt_TradeNameAndBrandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>110
<FILENAME>R98.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6697294016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 22 - Acquisition - Pro Forma Information (Unaudited) (Details) - Dielectrics [Member] - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaRevenue', window );">Sales</a></td>
<td class="nump">$ 193,510<span></span>
</td>
<td class="nump">$ 180,419<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax', window );">Operating Income</a></td>
<td class="nump">19,464<span></span>
</td>
<td class="nump">18,990<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss', window );">Net Income</a></td>
<td class="nump">$ 14,110<span></span>
</td>
<td class="nump">$ 13,126<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="nump">$ 1.92<span></span>
</td>
<td class="nump">$ 1.81<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="nump">$ 1.90<span></span>
</td>
<td class="nump">$ 1.79<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma basic net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of pro forma income from continuing operations as if the business combination had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeChangesInAccountingAndExtraordinaryItemsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionsProFormaRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionsProFormaRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=ufpt_DielectricsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>111
<FILENAME>R99.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.19.1</span><table class="report" border="0" cellspacing="2" id="idp6851354688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Valuation and Qualifying Accounts (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at beginning of year</a></td>
<td class="nump">$ 652<span></span>
</td>
<td class="nump">$ 567<span></span>
</td>
<td class="nump">$ 499<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Provision for bad debt</a></td>
<td class="num">(50)<span></span>
</td>
<td class="nump">116<span></span>
</td>
<td class="nump">126<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Write-offs, net of recoveries</a></td>
<td class="num">(38)<span></span>
</td>
<td class="num">(31)<span></span>
</td>
<td class="num">(58)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at end of year</a></td>
<td class="nump">$ 564<span></span>
</td>
<td class="nump">$ 652<span></span>
</td>
<td class="nump">$ 567<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>112
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( +-*;TX?(\\#P    !,"   +    7W)E;',O+G)E;'.MDD^+
MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V
M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F'
M.>RGGD7E2B.5^S3%":4A+<TXP)6E/S/WJVR;A5ND9T*YKCM+1[873T$7LF<;
M!I99-G\LCNVW<+ZT+/0:S>,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C
M-R."?S]PN -02P,$%     @ LTIO3B?HAPZ"    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(?
MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/
M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+""
MWTG] E!+ P04    " "S2F].[F.<V^X    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+!:L,P#(9?9?B>R$[8H";-I66G#08K;.QF;+4UC6-C:R1]^R5>
MFS*V!]C1TN]/GT"-#E+[B"_1!XQD,=V-KNN3U&'-CD1! B1]1*=2.27ZJ;GW
MT2F:GO$ 0>F3.B!4G#^ 0U)&D8(96(2%R-K&:*DC*O+Q@C=ZP8?/V&68T8 =
M.NPI@2@%L':>&,YCU\ -,,,(HTO?!30+,5?_Q.8.L$MR3'9)#<-0#G7.33L(
M>']^>LWK%K9/I'J-TZ]D)9T#KMEU\EN]V>X>65MQL2IX78C['5_)BLN:?\RN
M/_QNPLX;N[?_V/@JV#;PZR[:+U!+ P04    " "S2F].F5R<(Q &  "<)P
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
M/HR9?0[U'7RYNYY4?M\/ARX<M].&X'32-^=YLS.][KBN_P-02P,$%     @
MLTIO3EBZS?-1 @  ] <  !@   !X;"]W;W)K<VAE971S+W-H965T,RYX;6R-
ME=N.FS 0AE\%\0!K<W" B" UJ:I6:J5HJVZOG<0): %3VPG;MZ]M6 2VFVPN
M@@__S'QCS$S>4_;*2T*$]];4+=_XI1#=&@!^+$F#^1/M2"MWSI0U6,@INP#>
M,8)/VJBI00CA"C2X:OTBUVM[5N3T*NJJ)7OF\6O38/9W2VK:;_S ?U]XKBZE
M4 N@R#M\(3^)^-7MF9R!R<NI:DC+*]IZC)PW_J=@O0N@,M"*EXKT?#;V5"H'
M2E_5Y-MIXT-%1&IR%,H%EH\;V9&Z5IXDQY_1J3_%5(;S\;OW+SIYF<P!<[*C
M]>_J),J-G_K>B9SQM1;/M/]*QH20[XW9?R<W4DNY(I$QCK3F^M\[7KF@S>A%
MHC3X;7A6K7[VPPY*1S.W03@:A)-!$-\UB$:#R#   YE.]3,6N,@9[3TVO*T.
MJTL1K"-YF$>UJ,].[\ELN5R]%4F<@YOR,TJV@R2<2<*E8F<KHG22 !E_@@B=
M$*&VC^<0R( 8)(F6M%H"GV!@<#P0+4@B)TEDDZP,DD&"9D$"J'\&S&/=@B=V
M\L0V3V+PQ%8<D^2>8L& G S(9D@-!O20X9YBP;!R,JQLALQ@6'WDACP0+4@2
M)TEBD:1&KMO$RC6$SBOR >&"*'42I3:1D?8VM0(E<8 @-#]DARZ"608S-T_F
MY,EL'B/.-G/$25$<1P:/0Q>F,$+_.1_93YPU#MI$D5GDH/TN,H0RL](]D@T\
M8%9^53_\@=FE:KEWH$)6<EUOSY0*(EW")^FLE"UXFM3D+-0PD6,V]*%A(F@W
M]E@P-?KB'U!+ P04    " "S2F].3/,]).H#  "N$0  &    'AL+W=O<FMS
M:&5E=',O<VAE970T+GAM;'V8VXZC.!"&7P5QOXW+-J=6$JE)--J5=J76K&;W
MFDZ<! W@#)#.[-NO.70F5!5]$\#YRO[+F/K!JYMMOK=G8SKO9U76[=H_=]WE
M.0C:_=E4>?MD+Z9V_QQM4^6=NVQ.07MI3'X8@JHRD$)$0947M;]9#6VOS69E
MKUU9U.:U\=IK5>7-?YDI[6WM@__1\+4XG;N^(=BL+OG)_&VZ;Y?7QET%]UX.
M167JMK"UUYCCVG^!YYU4?<! _%.86_MP[O6IO%G[O;_XX[#V1:_(E&;?]5WD
M[O!NMJ8L^YZ<CA]3I_Y]S#[P\?RC]R]#\BZ9M[PU6UO^6QRZ\]I/?.]@COFU
M[+[:V^]F2BCTO2G[/\V[*1W>*W%C[&W9#K_>_MIVMIIZ<5*J_.=X+.KA>)OZ
M_PCC ^04(.\!$'T:H*8 ]2M ?QJ@IP"- H(QE6%N=GF7;U:-O7G->'LO>;^*
MX%F[V=_WC<-D#_^YZ6E=Z_LFT:O@O>]G0K(1D0\(W(G =7X?07(C9)*$R_D
M6TJH9([L*)*$O C%IJF&>/T8'Z$T1R0:D'I,,Q4Z#)%8!M-QHA42S&$1*,F+
MUJQH347'2/2(A+-AI!.$1#,82!6B*=AQ&.AD073(B@ZI:'0SLY ,HQ,E$+6E
ME HUGH =0^DH%+SBB%4<4<4I4AR1460<AU@Q0ZE$HP6T8R@-8F$UQZSBF"A.
M!5(<TULI<%I;VD\(2.VGR$QJPDI-J%0T1$81K&*;D&PB_,!11,N%99"R2E.J
M%!6J+"5C_ 8"E<LM!TD\K0PDW:/&ZP7!EVY!%:-9R29F-A"I#@R$'S,&6:@*
ML. S0,42HP&Z:-,(L%UP&$0X]1V'2:GB!=FL>;V I+)#+%O2I4>FF#(2</EE
M(-#I@E[>YX :78J-;F+F*U1)@24S6"BP9 :*EB3S+@?4YE)L<T"=*<+/'=,/
MJ6:?,W.UO+T!];<4^QM04X)$"X4%,Q@D88HU,YA4L+2.>8\#:G(I-CF@SJ0%
MKH%;AI*1)J*9OI1>TLR['%#O 8%];H+F+UH*L($P6"J!K&9*Q6F\X"+ &QZ,
M1J1FJI?6&.]$0*T(!/:B"8H?$W_"M6G+4I)4=XZ"I;=\WHTD=2/ 2SZ;("0:
M/Q@L)7&U9*DES;PI26#NU8()2]X@)#6(QY>Y*6U:V&-%/(*CI"9?0@P%Z<(:
ME;Q+2.H2(+!-2%K:8ZVP2W"44GB!<92,\3MO\/#16IGF-&P(M-[>7NNN__A[
M:+UO.KS(_J,7M6?PO!NW#GYU,^YD_)4WIZ)NO3?;N4_JX</W:&UGG$CQY.2=
M37ZX7Y3FV/6GL3MOQAV$\:*SEVEW)+AOT6S^!U!+ P04    " "S2F].P_V>
MN-8$  ")&@  &    'AL+W=O<FMS:&5E=',O<VAE970U+GAM;(V976_B1A2&
M_PKBGK7GC+^("-(2L%JIE:*MVEX[81+0&LS:3MC^^]K&83/GO(-]$[#SGJ^9
M\7G&P^)<E-^KG3'UY.<A/U;WTUU=G^X\KWK>F4-6?2E.YMC\YZ4H#UG=7):O
M7G4J3;;MC ZY1[X?>8=L?YPN%]V]QW*Y*-[J?'\TC^6D>CL<LO*_E<F+\_U4
M33]N?-N_[NKVAK=<G+)7\Y>I_SX]ELV5=_6RW1_,L=H7QTEI7NZG7]5=JJ/6
MH%/\LS?GZM/W25O*4U%\;R]^W]Y/_38CDYOGNG61-1_OYL'D>>NIR>-'[W1Z
MC=D:?O[^X3WMBF^*><HJ\U#D_^ZW]>Y^FDPG6_.2O>7UM^+\F^D+"J>3OOH_
MS+O)&WF;21/CN<BK[N_D^:VJBT/OI4GED/V\?.Z/W>>Y]_]AA@VH-Z"K =%-
M ]T;Z*O!932=!D%O$/R*$-\T"'N#\)=!<-,@Z@VBJX&ZS,=EL+K17V=UMER4
MQ7E27A;0*6O7J;J+FOE];F]VT]G]KYF JKG[OE1^O/#>6T>]9G71D*5);,T#
MTLQMS1IHE&]K-DBC;$V*-'35>$V]UZ()%DV=@\!RH%G1%TW8:8Z=)E8!SU:*
MM(\3T3 1#1()6"(73?0Y$6*#+R6D8S]DPR]5B:\3YFLC5;,P82LBE2+EZS!V
M3$( :P] [2SE52#'5^,8(8P1@A@1BR$U(5MP#Z%(0_DA\Y,.B*QL(YAM!++E
MSV(DH@0)CA'#&#&(P9[EE=2($8E%&B&QQSV]K;%R36"N"<B5!5DE(LB,23;2
MS:=RK#3F,(VY3(-8(UA)C1BRN<R4>#GK83^;84DZ$,JJ6?F8"SZHFI?4BZPU
M'[!G.!T0V<DX(*5 ,JQQK7N1U;'GL<^S&5#9Z6!\*,0/OC"59 -?F,"/:V4J
MS \% $*<9+W(*ID4[_M Y6*9P@U=@8Y.G&:]Z";.E&S[%!)OW&L@2Q(=BL)D
M1$ TX*S9$_BA S<*\T8AX'"H*4D*[2"GPJ!0B!2<:[W(@C0?:$D3Y4=B:*#*
M01V%L:,0=\0^4Q(CB!UA,#$40@;'6R^Z.3 2*U',@0]%KGPQ6A1@B^PDLITK
M1YL@W,P)-7..L%YD/2=\7$CV\AG-^483A!,4&Z%)<33'EHHP.F@,.DA"84[\
MU20=4MGI.-X\QJ"#)#IFSAG'8" $!MZ("($A$>\XX\% & R$P,#;%0$P:+[\
M !BB* KX=$K9/ XC#@80$8 !.&L0&SM?.#$8: P8"(#!->T8##0&#$ D-JL$
M>K[8,Z1#*CME3 8:0P:29(@=^UG"9* Q9*!A,I!L^LU:YJ\^4.7:91)F XUA
M TDV.+;6&J-!CT$#$(D5HT&S5@%_-$=XVHS0I$/1[-(Q&C1"@^*E2Y$L78)!
M\5W4>H2CS0A-.A#,+AQ#2 ,("29J"2$5:'$6-RBS$W(<@Z%S,+[4M>30S+76
M,8<TXA!O-4 D)WQ8L]:2&[-83/BPHW3 D5TXIH\&]"'>_+2D3ZR3D&<,&.4Z
M\L2,TH!1_.QHI>7+2QSP69 :FJLHX1,!WH.:UN^+@T^I0R>?P%O@!R%_ KU/
M!_#MCS1_9N7K_EA-GHJZ+@[=B?M+4=2F\>E_:49S9[+M]2(W+W7[-6Z^EY<?
M1RX7=7'J?_CQKK\^+?\'4$L#!!0    ( +-*;T[DJ,.], 4  .@:   8
M>&PO=V]R:W-H965T<R]S:&5E=#8N>&ULC9G1;N,V$$5_Q?![5N*0%*7 ,1#;
M*%J@!8(MVCXK,1,;*UFNI,3;OZ\D*UYKYM+8E]B2#X=W&&HN22U.5?VMV7G?
MSKZ7Q:%YF._:]G@?1<W+SI=Y\Z4Z^D/WRVM5EWG;7=9O47.L?;X=&I5%1'&<
M1&6^/\R7B^'>4[U<5.]ML3_XIWK6O)=E7O^W\D5U>IBK^>>-K_NW7=O?B):+
M8_[F__3M7\>GNKN*+E&V^](?FGUUF-7^]6'^J.XW.NT;#,3?>W]JKK[/^E2>
MJ^I;?_';]F$>]XI\X5_:/D3>?7SXM2^*/E*GX]\QZ/S29]_P^OMG]%^&Y+MD
MGO/&KZOBG_VVW3W,T_ELZU_S]Z+]6IU^]6-"=CX;L__=?_BBPWLE71\O5=$,
M?V<O[TU;E6.43DJ9?S]_[@_#YVF,_]D,-Z"Q 5T:J.1F STVT#\:F)L-S-C
ML ;1.95A;#9YFR\7=76:U>=_[S'O9Y&Z-]WHO_0WA\$>?NN&I^GN?BR5CA?1
M1Q]H9%9GAJZ9"Q%UT2]=$.IB1:(Y33M82T*G4V0CD=1B$1KFJ8?V>I)G( L#
M Y@A@+D.0"R/U9E)!N9P9HQ6BF4KJ8P4&_.-A%SF8BS80L$69$PX0 (#)#)C
MK5G&9\9>RTPU3UA"-M&6)0PA@_4ZJ-<!O8;I=:*7.^.87,DP8B.)P,"F4&@J
MA:J$"4U%%XH4?VX %"?\R4&03;#>#.K-A-Z$S_Q,=I*F?!Y(Z$[%*F-Z)65=
M0*Z*<4V+P;.J>%&3D.6"?X+9C,PT*Q.H32I0A!5X5D,A8)%]5"2D&I$R2:ED
M;<*S!MAUZ1CS!I1V5[-OJAI79:6E:CZU1F:JFC++54M,4<H?!D#9@ TH[ -*
M&H'A57%DII)-QA5+RIB$"P:ANKD1THRM0%FIF5?&D9EV1+R:K!$FW0M0%&<!
MS=A]E+0?*\99FL:=$],90$1B8@ J<P'%V'^4-"#^;*V4M ZEE.:2)95I+AA8
M69+J@&)L1$HZD75<,? /X[@3 2ISADN6T)U-0H.,O4A),[(IERPMA"\WUH#)
M1&F7#,4!*R)L102L2/-)0<!"^/.Y!A"):H$@%9@3A+V(%%#,)\4(L7XHYIHE
MIIQ)N.,#+-/!@<;^1P0L-&!&A,V(I!DIG?',@1M9P\O)&F$JUBEW4<2Y\"3#
MED1@;V+X)HZ D;@D<T*Y#";6/+>9J63L2"0=28GU"DD7<7RQCABN5B(JL+$@
M[$4$MD)BG4+ 05+2Q&T?<=W4<'Q#A#BGLL!.@[ GD9./A0D5!&P2!+8K8O5
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
MWENQ3Y.,W8+0C#E/&+[&+ CFU9<0?"O$F?]'Y]OTPV:&AT@_K*,?C]L"R:9
M$@62?TH\OBMQ"Y.^"\)6/=5@FCA-EI0X='&25]YE8!]X?),W^#3MWX1I9&?)
M%9U_V=C_&M&!3V5WYT>H]1]L,134+AP_^+.9QFPR'/;S#V++-R[^ E!+ P04
M    " "S2F].P<NP@;<!  #2 P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q
M,2YX;6QM4^UNVR 4?17$ Y3$<=HLLBTUK:I-VJ2HT[K?Q+ZV48'K 8Z[MQ]@
MU_,Z_P'NY9QS/[AD YI7VP(X\J:DMCEMG>N.C-FR!<7M#7:@_4V-1G'G3=,P
MVQG@520IR9+-YI8I+C0MLN@[FR+#WDFAX6R([97BYO<)) XYW=)WQ[-H6A<<
MK,@ZWL!W<#^ZL_$6FU4JH4!;@9H8J'-ZOSV>TH"/@!<!@UV<2:CD@O@:C"]5
M3C<A(9!0NJ# _7:%!Y R"/DT?DV:= X9B,OSN_I3K-W7<N$6'E#^%)5K<WJ@
MI(*:]](]X_ 9IGKVE$S%?X4K2 \/F?@8)4H;5U+VUJ&:5'PJBK^-N]!Q'\:;
M73K1U@G)1$AFPB'&86.@F/DC=[S(# [$C+WO>'CB[3'QO2F#,[8BWOGDK?=>
MB^WM7<:N06C"G$9,LL3,".;5YQ#)6HA3\A\]6:?O5C/<1?IN&7V_7Q=(5P72
M*)#^4^+A0XEKF$\?@K!%3Q68)DZ3)27V.D[RPCL/['T2W^0O?)SV;]PT0EMR
M0>=?-O:_1G3@4]G<^!%J_0>;#0FU"\<[?S;CF(V&PV[Z06S^QL4?4$L#!!0
M   ( +-*;TXE?A*2M@$  -(#   9    >&PO=V]R:W-H965T<R]S:&5E=#$R
M+GAM;&U3VV[<(!#]%<0'!)OU-M'*MI1-%:52*ZT2M7EF[;&-PL4%O$[_/H =
MQTG] LPPY\R98<A';5YL!^#0JQ3*%KASKC\08JL.)+-7N@?E;QIM)'/>-"VQ
MO0%61Y 4A";)-R(95[C,H^]DREP/3G %)X/L("4S_XX@]%C@%+\['GG;N> @
M9=ZS%I[ _>Y/QEMD8:FY!&6Y5LA 4^#;]'#,0GP,^,-AM*LS"I6<M7X)QH^Z
MP$D0! (J%QB8WRYP!T($(B_C[\R)EY0!N#Z_L]_'VGTM9V;A3HMG7KNNP#<8
MU="P0;A'/3[ 7,\>H[GXGW !X<.#$I^CTL+&%56#=5K.+%Z*9*_3SE7<Q^DF
MHS-L&T!G %T -S$/F1)%Y=^98V5N](C,U/N>A2=.#]3WI@K.V(IXY\5;[[V4
MZ762DTL@FF..4PQ=QRP1Q+,O*>A6BB/]#TZWX;M-A;L(WZVS[_?;!-DF018)
MLD\EIE]*W(KYJI*L>BK!M'&:+*KTH.(DK[S+P-[&1R0?X=.T_V*FY<JBLW;^
M96/_&ZT=>"G)E1^ASG^PQ1#0N'"\]F<SC=ED.-W//X@LW[A\ U!+ P04
M" "S2F].RVAYG;8!  #2 P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,RYX
M;6QM4]MNW" 0_17$!X1=UMM$*]M2-E642JVT2M3FF;7'-@IX7,#K].\#V'&<
MU"_ #.><N3"D YH7VP X\JI5:S/:.-<=&+-% UK8*^R@]3<5&BV<-TW-;&=
ME)&D%>.;S3>FA6QIGD;?R>0I]D[)%DZ&V%YK8?X=0>&0T2U]=SS*NG'!P?*T
M$S4\@?O=G8RWV*Q22@VME=@2 U5&;[>'8Q+P$?!'PF 79Q(J.2.^!.-'F=%-
M2 @4%"XH"+]=X Z4"D(^C;^3)IU#!N+R_*Y^'VOWM9R%A3M4S[)T349O*"FA
M$KURCS@\P%3/GI*I^)]P >7A(1,?HT!EXTJ*WCK4DXI/18O7<9=MW(?Q9I],
MM'4"GPA\)MS$.&P,%#/_+IS(4X,#,6/O.Q&>>'O@OC=%<,96Q#N?O/7>2[Z]
MWJ7L$H0FS''$\"5F1C"O/H?@:R&._#\Z7Z?O5C/<1?IN&7V_7Q=(5@62*)!\
M*C'Y4N(:YFL0MNBI!E/':;*DP+Z-D[SPS@-[R^.;?,#':?\E3"U;2\[H_,O&
M_E>(#GPJFRL_0HW_8+.AH'+A>.W/9ARST7#833^(S=\X?P-02P,$%     @
MLTIO3GLA39VV 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,30N>&UL
M;5-9;MLP$+T*P0.$-FW'AB$)B%,4*= "1H*VW[0T6A N"DE9Z>TSI&153?5#
M<H;OO5DX3'IC7UT-X,F[DMJEM/:^/3+F\AJ4<'>F!8TWI;%*>#1MQ5QK0121
MI"3CJ]4]4Z+1-$NB[VRSQ'1>-AK.EKA.*6'_G$":/J5K>G,\-U7M@X-E22LJ
M> '_LSU;M-BD4C0*M&N,)A;*E#ZLCZ=MP$? KP9Z-SN34,G%F-=@?"M2N@H)
M@83<!P6!VQ4>0<H@A&F\C9IT"AF(\_--_6NL'6NY" >/1OYN"E^G]$!) :7H
MI'\V_1.,]>PH&8O_#E>0" ^98(S<2!=7DG?.&S6J8"I*O ][H^/>#S>;&VV9
MP$<"GPB'2&!#H)CY%^%%EEC3$SOTOA7AB=='CKW)@S.V(MYA\@Z]UVR]OT_8
M-0B-F-. X7/,A&"H/H7@2R%._#\Z7Z9O%C/<1/IF'GVW6Q;8+@ILH\#VGQ+W
MGTI<PAP^!6&SGBJP59PF1W+3Z3C),^\TL \\OLE?^##M/X2M&NW(Q7A\V=C_
MTA@/F,KJ#D>HQ@\V&1)*'XY[/-MAS ;#FW;\06SZQMD'4$L#!!0    ( +-*
M;TZ<IP'7MP$  -(#   9    >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;&U3
M[6[;(!1]%<0#%,=)VBRR+36=IDY:I:C3MM_$OK91@>L"CMNW'V#7LSK_ >[E
MG',_N&0#FA?; CCRIJ2V.6V=ZXZ,V;(%Q>T-=J#]38U&<>=-TS#;&>!5)"G)
MTB2Y98H+38LL^LZFR+!W4F@X&V)[I;AY/X'$(:<;^N%X%DWK@H,56<<;^ GN
M5W<VWF*S2B44:"M0$P-U3N\WQ],NX"/@MX#!+LXD5')!? G&]RJG24@())0N
M*'"_7>$!I Q"/HW729/.(0-Q>?Y0_Q9K][5<N(4'E']$Y=J<'BBIH.:]=,\X
M/,)4SYZ2J?@?< 7IX2$3'Z-$:>-*RMXZ5).*3T7QMW$7.N[#>'.[GVCKA'0B
MI#/A$..P,5#,_"MWO,@,#L2,O>]X>.+-,?6]*8,SMB+>^>2M]UZ+S=V7C%V#
MT(0YC9ATB9D1S*O/(=*U$*?T/WJZ3M^N9KB-].TR^GZ_+K!;%=A%@=U2X)!\
M*G$-\[E(MNBI M/$:;*DQ%['25YXYX&]3^.;_(./T_[$32.T)1=T_F5C_VM$
M!SZ5Y,:/4.L_V&Q(J%TXWOFS&<=L-!QVTP]B\S<N_@)02P,$%     @ LTIO
M3GO4OV*V 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,38N>&UL;5/;
M;MP@$/T5Q >$7>QM5RO;4C91U$JMM$K5]IFUQS8*&!?P.OW[#MAQW=0OP SG
MG+DP9*.Q+ZX%\.15J\[EM/6^/S'FRA:T<'>FAPYO:F.U\&C:AKG>@J@B22O&
M=[L/3 O9T2*+OHLM,C-X)3NX6.(&K87]?09EQISNZ9OC63:M#PY69+UHX!OX
M[_W%HL46E4IJZ)PT';%0Y_1^?SJG 1\!/R2,;G4FH9*K,2_!^%SE=!<2 @6E
M#PH"MQL\@%)!"-/X-6O2)60@KL]OZD^Q=JSE*AP\&/535K[-Z9&2"FHQ*/]L
MQD\PUW.@9"[^"]Q (3QD@C%*HUQ<23DX;_2L@JEH\3KMLHO[.-TDAYFV3> S
M@2^$8XS#ID Q\T?A19%9,Q([];X7X8GW)XZ]*8,SMB+>8?(.O;=B?^09NP6A
M&7.>,'R-61 ,U9<0?"O$F?]'Y]OT9#/#)-*3=?3#85L@W11(HT#Z3XG)NQ*W
M,.F[(&S54PVVB=/D2&F&+D[RRKL,[#V/;_(7/DW[5V$;V3ER-1Y?-O:_-L8#
MIK*[PQ%J\8,MAH+:A^-'/-MIS";#FW[^06SYQL4?4$L#!!0    ( +-*;T[%
MOAC@MP$  -(#   9    >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;&U3VX[;
M(!#]%<0'+ E)=J/(MK39JFJE5HJV:OM,[+&-EHL+.-[^?0?L==VM7X 9SCES
M8<@&ZUY\"Q#(JU;&Y[0-H3LQYLL6M/!WM@.#-[5U6@0T7<-\YT!4B:05XYO-
M/=-"&EIDR7=Q16;[H*2!BR.^UUJXWV=0=LCIEKXYGF73ANA@1=:)!KY!^-Y=
M'%IL5JFD!N.E-<1!G=/'[>F\C_@$^"%A\(LSB95<K7V)QN<JIYN8$"@H0U00
MN-W@"92*0IC&KTF3SB$C<7E^4_^8:L=:KL+#DU4_917:G!XIJ: 6O0K/=O@$
M4ST'2J;BO\ -%,)C)ABCM,JGE92]#U9/*IB*%J_C+DW:A_%FQR?:.H%/!#X3
MCBD.&P.ES#^(((K,V8&XL?>=B$^\/7'L31F=J17I#I/WZ+T5V^,A8[<H-&'.
M(X8O,3."H?H<@J^%.//_Z'R=OEO-<)?HNV7TPV%=8+\JL$\"^W]*O']7XAKF
MX5T0MNBI!M>D:?*DM+U)D[SPS@/[F!Z1_86/T_Y5N$8:3ZXVX,NF_M?6!L!4
M-G<X0BU^L-E04(=X?,"S&\=L-(+MIA_$YF]<_ %02P,$%     @ LTIO3F6'
M57BX 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,3@N>&UL;5/M;ML@
M%'T5Q ,4QTG:-+(M-:VF3=JDJ-.VW\2^ME&!ZP&.N[<?8-?S6O\![N6<<S^X
M9 .:%]L"./*JI+8Y;9WKCHS9L@7%[0UVH/U-C49QYTW3,-L9X%4D*<G2)+EE
MB@M-BRSZSJ;(L'=2:#@;8GNEN/ES HE#3C?TS?$LFM8%!RNRCC?P'=R/[FR\
MQ6:52BC05J F!NJ</FR.IUW 1\!/ 8-=G$FHY(+X$HPO54Z3D!!(*%U0X'Z[
MPB-(&81\&K\G33J'#,3E^4W]4ZS=UW+A%AY1_A*5:W-ZH*2"FO?2/>/P&:9Z
M]I1,Q7^%*T@/#YGX&"5*&U=2]M:AFE1\*HJ_CKO0<1_&F[O;B;9.2"=".A,.
M,0X; \7,G[CC169P(&;L?<?#$V^.J>]-&9RQ%?'.)V^]]UIL#H>,78/0A#F-
MF'2)F1',J\\ATK40I_0#/5VG;U<SW$;Z=AE]OU\7V*T*[*+ [K\2[]^5N(*Y
M3]X%88N>*C!-G"9+2NQUG.2%=Q[8AS2^R3_X..W?N&F$MN2"SK]L['^-Z,"G
MDMSX$6K]!YL-";4+QSM_-N.8C8;#;OI!;/[&Q5]02P,$%     @ LTIO3L_-
M$*^V 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL;5/M;ML@
M%'T5Q .4F"1=%]F6FD[3)FU2U&GM;V)?VZC@ZP*.N[<?8,?U.O\![N6<<S^X
MI .:%]L ./*F56LSVCC7'1BS10-:V!OLH/4W%1HMG#=-S6QG0)21I!7CF\TM
MTT*V-$^C[V3R%'NG9 LG0VROM3!_CJ!PR&A"KXY'63<N.%B>=J*&7^!^=R?C
M+3:KE%)#:R6VQ$"5T?OD<-P%? 0\21CLXDQ")6?$EV!\+S.Z"0F!@L(%!>&W
M"SR 4D'(I_$Z:=(Y9" NSU?UK[%V7\M96'A ]2Q+UV3TCI(2*M$K]XC#-YCJ
MV5,R%?\#+J \/&3B8Q2H;%Q)T5N'>E+QJ6CQ-NZRC?LPWNROM'4"GPA\)MQ%
M AL#Q<R_""?RU.! S-C[3H0G3@[<]Z8(SMB*>.>3M]Y[R9//2<HN06C"'$<,
M7V)F!//J<PB^%N+(_Z/S=?IV-<-MI&^7T??[=8'=JL N"NS^*9%_*'$-L_T0
MA"UZJL'4<9HL*;!OXR0OO// WO/X)N_P<=I_"E/+UI(S.O^RL?\5H@.?RN;&
MCU#C/]AL**A<.'[R9S..V6@X[*8?Q.9OG/\%4$L#!!0    ( +-*;TX<4.8]
MMP$  -(#   9    >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;&U3VV[<(!#]
M%<0'A%VOG:0KVU(V5=5*K;1*U?29M<<V"C NX'7Z]P7LN&[J%V"&<\Y<&/(1
MS8OM !QY55+;@G;.]4?&;-6!XO8&>]#^ID&CN/.F:9GM#? ZDI1DR6YWRQ07
MFI9Y])U-F>/@I-!P-L0.2G'S^P02QX+NZ9OC2;2="PY6YCUOX3NX'_W9>(LM
M*K50H*U 30PT!7W8'T]IP$? LX#1KLXD5')!? G&E[J@NY 02*A<4.!^N\(C
M2!F$?!J_9DVZA S$]?E-_5.LW==RX18>4?X4M>L*>D])#0T?I'O"\3/,]624
MS,5_A2M(#P^9^!@52AM74@W6H9I5?"J*OTZ[T'$?IYOL;J9M$Y*9D"R$^QB'
M38%BYA^YXV5N<"1FZGW/PQ/OCXGO316<L17QSB=OO?=:[C^D.;L&H1ESFC#)
M&K,@F%=?0B1;(4[)?_1DFW[8S/ 0Z8=U]"S;%D@W!=(HD/Y38O:NQ"W,[;L@
M;-53!::-TV1)A8..D[SR+@/[D,0W^0N?IOT;-ZW0EES0^9>-_6\0'?A4=C=^
MA#K_P19#0N/"\<Z?S31FD^&PGW\06[YQ^0=02P,$%     @ LTIO3ON8)@FW
M 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL;5/M;ML@%'T5
MQ .4Q''6-+(M-:VJ3=JDJ-.ZW\2^ME&!ZP&.N[<?8-?S.O\![N6<<S^X9 .:
M5]L"./*FI+8Y;9WKCHS9L@7%[0UVH/U-C49QYTW3,-L9X%4D*<F2S>834UQH
M6F31=S9%AKV30L/9$-LKQ<WO$T@<<KJE[XYGT;0N.%B1=;R![^!^=&?C+3:K
M5$*!M@(U,5#G]'Y[/*4!'P$O @:[.)-0R07Q-1A?JIQN0D(@H71!@?OM"@\@
M91#R:?R:-.D<,A"7YW?UIUB[K^7"+3R@_"DJU^;T0$D%->^E>\;A,TSU["F9
MBO\*5Y >'C+Q,4J4-JZD[*U#-:GX5!1_&W>AXSZ,-_MTHJT3DHF0S(1#C,/&
M0#'S1^YXD1D<B!E[W_'PQ-MCXGM3!F=L1;SSR5OOO1;;N]N,78/0A#F-F&2)
MF1',J\\ADK40I^0_>K).WZUFN(OTW3+Z?K\ND*X*I%$@_:?$PX<2US!W'X*P
M14\5F"9.DR4E]CI.\L([#^Q]$M_D+WR<]F_<-$);<D'G7S;VOT9TX%/9W/@1
M:OT'FPT)M0O'6W\VXYB-AL-N^D%L_L;%'U!+ P04    " "S2F].ZMTTY+<!
M  #2 P  &0   'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6QM4]MNVS ,_15!
M'U#%2K(5@6V@Z3!LP 8$';8]*S9M"]7%D^2X^_M1LNMYG5\DD>(Y/*2H?+3N
MV7< @;QH97Q!NQ#Z$V.^ZD +?V=[,'C36*=%0-.US/<.1)U 6C&^V[UC6DA#
MRSSY+J[,[1"4-'!QQ ]:"_?[#,J.!<WHJ^-)MEV(#E;FO6CA&X3O_<6AQ1:6
M6FHP7EI#'#0%?<A.YT.,3P$_)(Q^=2:QDJNUS]'X7!=T%P6!@BI$!H';#1Y!
MJ4B$,G[-G'1)&8'K\RO[QU0[UG(5'AZM^BGKT!7TGI(:&C&H\&3'3S#7<Z1D
M+OX+W$!A>%2".2JK?%I)-?A@]<R"4K1XF79ITCY.-\?]#-L&\!G %\!]RL.F
M1$GY!Q%$F3L[$C?UOA?QB;,3Q]Y4T9E:D>Y0O$?OK<0'S=DM$LTQYRF&KV*R
M)8(A^Y*";Z4X\__@?!N^WU2X3_#].OOQN$UPV"0X)(+#/R5F;TK<BGFKDJUZ
MJL&U:9H\J>Q@TB2OO,O /O#T)G_#IVG_*EPKC2=7&_!E4_\;:P.@E-T=CE"'
M'VPQ%#0A'M_CV4UC-AG!]O,/8LLW+O\ 4$L#!!0    ( +-*;T[S*(U2M@$
M -(#   9    >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM;&U3VV[<(!#]%<0'
M!"_K3:.5;2F;*DJE5EJE:OO,VF,;!8P+>)W^?0?L.&[J%V"&<\Y<&++1V!?7
M GCRJE7G<MIZWQ\9<V4+6K@;TT.'-[6Q6G@T;<-<;T%4D:05XTERR[20'2VR
MZ#O;(C.#5[*#LR5NT%K8/R=09LSICKXYGF73^N!@1=:+!KZ#_]&?+5IL4:FD
MALY)TQ$+=4[O=\=3&O 1\%/"Z%9G$BJY&/,2C"]53I.0$"@H?5 0N%WA 90*
M0IC&[UF3+B$#<7U^4W^,M6,M%^'@P:A?LO)M3N\HJ: 6@_+/9GR"N9X#)7/Q
M7^$*"N$A$XQ1&N7B2LK!>:-G%4Q%B]=IEUW<Q^DFO9UIVP0^$_A"N(MQV!0H
M9OY9>%%DUHS$3KWO17CBW9%C;\K@C*V(=YB\0^^UX,D^8]<@-&-.$X:O,+L%
MP5!]"<&W0ISX?W2^3=]O9KB/]/TZ^N&P+9!N"J11(/VGQ/1#B5N8CT'8JJ<:
M;!.GR9'2#%V<Y)5W&=A['M_D'3Y-^S=A&]DY<C$>7S;VOS;& Z:2W. (M?C!
M%D-![</Q$Y[M-&:3X4T__R"V?./B+U!+ P04    " "S2F].^PMX%+<!  #2
M P  &0   'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6QM4]MNW" 0_17$!P0O
MZTU6*]M2-E752JVT2M7VF;7'%X6+"WB=_GT'[+ANZA=@AG/.7!BRT=@7UP)X
M\JJD=CEMO>]/C+FR!27<G>E!XTUMK!(>3=LPUUL0520IR7B2W#,E.DV++/HN
MMLC,X&6GX6*)&Y02]O<9I!ESNJ-OCN>N:7UPL"+K10/?P'_O+Q8MMJA4G0+M
M.J.)A3JGC[O3.0WX"/C1P>A69Q(JN1KS$HS/54Z3D!!(*'U0$+C=X FD#$*8
MQJ]9DRXA W%]?E/_&&O'6J["P9.1/[O*MSD]4E)!+0;IG\WX">9Z#I3,Q7^!
M&TB$ATPP1FFDBRLI!^>-FE4P%25>I[W3<1^GFY3/M&T"GPE\(1QC'#8%BIE_
M$%X4F34CL5/O>Q&>>'?BV)LR.&,KXATF[]![*WARG[%;$)HQYPG#5YC=@F"H
MOH3@6R'._#\ZWZ;O-S/<1_I^'?UPV!9(-P72*)#^4^+#NQ*W,,=W0=BJIPIL
M$Z?)D=(,.D[RRKL,[&-\1/87/DW[5V&;3CMR-1Y?-O:_-L8#II+<X0BU^,$6
M0T+MP_$!SW8:L\GPII]_$%N^<?$'4$L#!!0    ( +-*;TZQC_FPM@$  -(#
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;&U3[8Z<(!1]%<(#+,HX
M[7:B)CO;-&W2)I-MVOYF]*IDP6L!Q^W;%]"U9NL?X%[..?>#2SZA>;8=@",O
M6O6VH)USPXDQ6W6@A;W# 7I_TZ#1PGG3M,P.!D0=25HQGB3OF!:RIV4>?1=3
MYC@Z)7NX&&)'K87Y<P:%4T%3^NIXDFWG@H.5^2!:^ [NQW QWF*K2BTU]%9B
M3PPT!7U(3^<LX"/@IX3);LXD5')%? [&E[J@24@(%%0N* B_W> 1E I"/HW?
MBR9=0P;B]ORJ_BG6[FNY"@N/J'[)VG4%O:>DAD:,RCWA]!F6>HZ4+,5_A1LH
M#P^9^!@5*AM74HW6H5Y4?"I:O,R[[.,^S3?';*'M$_A"X"OA/L9A<Z"8^4?A
M1)D;G(B9>S^(\,3IB?O>5,$96Q'O?/+6>V\E3S[D[!:$%LQYQO -)ET1S*NO
M(?A>B#/_C\[WZ8?=# ^1?MA&/Q[W!;)=@2P*9-OX:?*FQ#W,VR+9IJ<:3!NG
MR9(*QSY.\L:[#NP#CV_R#SY/^S=A6ME;<D7G7S;VOT%TX%-)[OP(=?Z#K8:"
MQH7C>W\V\YC-AL-A^4%L_<;E7U!+ P04    " "S2F].:"!FB+8!  #2 P
M&0   'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6QM4]MNW" 0_17$!X0UZTVC
ME6TIFZI*I%9:I6K[S-KCBP*, WB=_GT!.ZZ;^@68X9PS%X9L1/-B6P!'WI34
M-J>M<_V1,5NVH(2]P1ZTOZG1*.&\:1IF>P.BBB0E&=_M;ID2G:9%%GUG4V0X
M.-EI.!MB!Z6$^7T"B6-.$_KN>.Z:U@4'*[)>-/ =W(_^;+S%%I6J4Z!MAYH8
MJ'-ZGQQ/:<!'P,\.1KLZDU#)!?$E&$]53G<A(9!0NJ @_':%!Y R"/DT7F=-
MNH0,Q/7Y7?U+K-W7<A$6'E#^ZBK7YO2.D@IJ,4CWC.,CS/4<*)F+_PI7D!X>
M,O$Q2I0VKJ0<K$,UJ_A4E'B;]D['?9QNTG2F;1/X3. +X2[&85.@F/EGX421
M&1R)F7K?B_#$R9'[WI3!&5L1[WSRUGNO!4]XQJY!:,:<)@Q?89(%P;SZ$H)O
MA3CQ_^A\F[[?S' ?Z?MU],-A6R#=%$BC0/I/B?L/)6YAT@]!V*JG"DP3I\F2
M$@<=)WGE70;VGL<W^0N?IOV;,$VG+;F@\R\;^U\C.O"I[&[\"+7^@RV&A-J%
MXR=_-M.838;#?OY!;/G&Q1]02P,$%     @ LTIO3GF+%:*W 0  T@,  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C<N>&UL;5/;;IPP$/T5RQ\0+UY(HA4@
M91-%K=1(JT1MG[TP@!5?J&V6Y.]C&T)IRHOM&9]SYN)Q/FKS:CL A]ZD4+;
MG7/]@1!;=2"9O=(]*'_3:".9\Z9IB>T-L#J2I"!TM[LFDG&%RSSZ3J;,]> $
M5W RR Y2,O-^!*'' B?XT_',V\X%!RGSGK7P NYG?S+>(HM*S24HR[5"!IH"
MWR6'8QKP$?"+PVA79Q0J.6O]&HSO=8%W(2$04+F@P/QV@7L0(@CY-/[,FG@)
M&8CK\Z?Z8ZS=UW)F%NZU^,UKUQ7X%J,:&C8(]ZS';S#7DV$T%_\#+B \/&3B
M8U1:V+BB:K!.RUG%IR+9V[1S%?=QNDFSF;9-H#.!+H3;&(=,@6+F#\RQ,C=Z
M1&;J?<_"$R<'ZGM3!6=L1;SSR5OOO90TR7)R"4(SYCAAZ J3+ CBU9<0="O$
MD?Y'I]OT_6:&^TC?KZ-GV;9 NBF01H'TGQ*OOY2XA;GY$H2L>BK!M'&:+*KT
MH.(DK[S+P-[1^"9_X=.T/S'3<F7163O_LK'_C=8.?"J[*S]"G?]@BR&@<>%X
MX\]F&K/)<+J??Q!9OG'Y 5!+ P04    " "S2F].+"*A@[@!  #2 P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R."YX;6QM4]MNG# 0_17+'Q"#ETVW*T#*
MIJI:J956J9H\>V$ *[X0VRSIW]<VA-"4%]LS/N?,Q>-\U.;9=@ .O4JA;($[
MY_HC(;;J0#)[HWM0_J;11C+G3=,2VQM@=21)06B2W!+)N,)E'GUG4^9Z<((K
M.!MD!RF9^7,"H<<"I_C-\<#;S@4'*?.>M? +W._^;+Q%%I6:2U"6:X4,- 6^
M2X^G+. CX)'#:%=G%"JY:/T<C.]U@9.0$ BH7%!@?KO"/0@1A'P:+[,F7D(&
MXOK\IOXUUNYKN3 +]UH\\=IU!3Y@5$/#!N$>]/@-YGKV&,W%_X K" \/F?@8
ME18VKJ@:K--R5O&I2/8Z[5S%?9QNLOU,VR;0F4 7PB'&(5.@F/D7YEB9&STB
M,_6^9^&)TR/UO:F",[8BWOGDK?=>2YH><G(-0C/F-&'H"I,N".+5EQ!T*\2)
M_D>GV_3=9H:[2-^MH^_WVP+9ID 6!;)_2OS\H<0-#$T^!"&KGDHP;9PFBRH]
MJ#C)*^\RL'<TOLD[?)KVG\RT7%ETT<Z_;.Q_H[4#GTIRXT>H\Q]L,00T+AP_
M^;.9QFPRG.[G'T26;US^!5!+ P04    " "S2F].2M,Y>+(!  #2 P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6QM4]N.FS 0_17+'[!.G*2M(D#:
M;%6U4BM%6[5]=F  :VT/M4W8_GUM0UB:\H)GAG/.7#S.!K0OK@7PY%4KXW+:
M>M\=&7-E"UJX!^S A#\U6BU\<&W#7&=!5(FD%>.;S3NFA32TR%+L;(L,>Z^D
M@;,EKM=:V#\G4#CD=$MO@6?9M#X&6)%UHH'OX']T9QL\-JM44H-Q$@VQ4.?T
M<7L\[2,^ 7Y*&-S")K&3"^)+=+Y4.=W$@D!!Z:."",<5GD"I*!3*^#UITCEE
M)"[MF_JGU'OHY2(</*'Z)2O?YO0#)174HE?^&8?/,/5SH&1J_BM<005XK"3D
M*%&Y]"5E[SSJ2264HL7K>$J3SF'2O]'6"7PB\#L"&Q.ERC\*+XK,XD#L./M.
MQ"O>'GF831F#:13I7RC>A>BUX'R;L6L4FC"G$<,7F#<$"^IS"KZ6XL3_H_-U
M^FZUPEVB[Y;9#X=U@?VJP#X)[/]ID=^UN(;9W25ABYEJL$W:)D=*[$W:Y$5T
M7MA'GN[D#3YN^S=A&VD<N: /-YOF7R-Z"*5L'L(*M>&!S8Z"VD?S?;#MN&:C
MX[&;7A";GW'Q%U!+ P04    " "S2F].JX<M(:$"   4"P  &0   'AL+W=O
M<FMS:&5E=',O<VAE970S,"YX;6QU5NV.VC 0?)4H#W".3<+'"9".JZI6:B5T
M5=O?/C 071*GMH'KV]=V0LHYXS_$=F9GU]G999=7J=[T20B3O-=5HU?IR9CV
MD1"].XF:ZP?9BL:^.4A5<V.WZDATJP3?>Z.Z(BS+IJ3F99.NE_YLJ]9+>395
MV8BM2O2YKKGZNQ&5O*Y2FMX.7LKCR;@#LEZV_"A^"/.SW2J[(P/+OJQ%HTO9
M)$H<5ND3?=PPY@P\XE<IKOING;BKO$KYYC9?]ZLT<Q&)2NR,H^#V<1'/HJH<
MDXWC3T^:#CZ=X?WZQO[97]Y>YI5K\2RKW^7>G%;I/$WVXL#/E7F1UR^BOU"1
M)OWMOXF+J"S<16)][&2E_6^R.VLCZY[%AE+S]^Y9-OYY[?EO9MB ]08L,""=
M(Q_Y)V[X>JGD-5'=QV^YRS%]9/;;[-RA_Q3^G0U>V]/+FK%\22Z.J,=L.@R[
MP] !02S[X((A%QLV,F?8? (CG'CSR8<("TR00X+<$^0?"*;!%1%FAIT4T$D!
M".:!$X198"=3Z&0Z)IAD@1.$B:1K!IW,  $+G"#,!#N90R=S0!#*#F$BB5]
M)PM $"8>82*)IQFNH Q0A*F'H$CN::12Z9@B#[,/09'T4UBN3Y0!BE  $!11
M ,5U32> 8M1Z$"@B HK+GX+:SD,90%!,![@#4%#>^4@'"!33 6X"%%1X,=(!
M L5T@/L !45>C'2 0#$=X%9 09T7(QT@4$P'N!M04.K%2 <(%-$!P_V @5(O
M0AU 4$0'#/<#!DI]&NH @F+_WK@?,%#JTU '$!3J@-P-);501S^.Z60GSXV?
M!>].AY'OR4]\Y#^\FQ>_<W4L&YV\2F-'(S_ '*0TPL:2/=@:.]D1==A4XF#<
M<F;7JIO3NHV1;3^#DF$07O\#4$L#!!0    ( +-*;TY\#(A<W@$   $%   9
M    >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;'54;6_;(!#^*X@?4!R2V%UD
M6VI:59NT25&G;9^)?7Y1P7B X^[?#[#CI2[[8KCCN>>YP]REHU2ON@$PZ$WP
M3F>X,:8_$**+!@33=[*'SIY44@EFK*EJHGL%K/1!@A,:13$1K.UPGGK?2>6I
M' QO.S@II <AF/IS!"['#&_PU?'2UHUQ#I*G/:OA.Y@?_4E9BRPL92N@TZWL
MD((JPP^;PS%Q> _XV<*H;_;(57*6\M497\H,1RXAX% 8Q\#L<H%'X-P1V31^
MSYQXD72!M_LK^[.OW=9R9AH>)?_5EJ;)\#U&)51LX.9%CI]AKF>/T5S\5[@
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
M._^RL?^-U@Y\*LF5'Z'.?[#%$-"X</SFSV8:L\EPNI]_$%F^<?D.4$L#!!0
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
MM 8,:FVWJ=G+>2KG0(MA>7#(^NH5OP%02P,$%     @ LTIO3O'IS?ZS 0
MT@,  !D   !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL;5/;;MLP#/T501]0
M)<JE0V ;:#H,*[ !08>MSXI-7U!)="4Y[OY^DNRX;N87BZ3/.;R(2GHTK[8&
M<.1=26U36CO7'ABS>0U*V#ML0?L_)1HEG'=-Q6QK0!21I"3CJ]6>*=%HFB4Q
M=C)9@IV3C8:3(;932IB_1Y#8IW1-KX'GIJI="+ L:44%O\#];D_&>VQ2*1H%
MVC:HB8$RI0_KPW$;\!'PIX'>SFP2.CDCO@;GJ4CI*A0$$G(7%(0_+O (4@8A
M7\;;J$FGE($XMZ_JWV+OOI>SL/"(\J4I7)W2+Y044(I.NF?LO\/8SXZ2L?D?
M< 'IX:$2GR-':>.7Y)UUJ$857XH2[\/9Z'CVH_Z5MDS@(X'?$-B0*%;^53B1
M)09[8H;9MR)<\?K _6SR$(RCB/]\\=9'+]F&[Q)V"4(CYCA@^ RSGA#,JT\I
M^%**(_^/SI?IF\4*-Y&^F=/WNV6![:+ -@IL/[6XOVEQ"7-_DX3-9JK 5'&;
M+,FQTW&39]%I81]XO),/^+#M/X6I&FW)&9V_V3C_$M&!+V5UYU>H]@]L<B24
M+ICWWC;#F@V.PW9\06QZQMD_4$L#!!0    ( +-*;TY CG82N $  -(#   9
M    >&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;&U3VV[<(!#]%<0'!"_>;).5
M;2F;JFJE5EJE:OO,VF,;!8P+>)W^?0?L.&[J%V"&<\Y<&++1V&?7 GCRHE7G
M<MIZWQ\9<V4+6K@;TT.'-[6Q6G@T;<-<;T%4D:05XTER8%K(CA99])UMD9G!
M*]G!V1(W:"WLGQ,H,^9T1U\=3[)I?7"P(NM% ]_!_^C/%BVVJ%120^>DZ8B%
M.J</N^-I'_ 1\%/"Z%9G$BJY&/,<C"]53I.0$"@H?5 0N%WA$90*0IC&[UF3
M+B$#<7U^5?\4:\=:+L+!HU&_9.7;G-Y14D$M!N6?S/@9YGIN*9F+_PI74 @/
MF6",TB@75U(.SAL]JV J6KQ,N^SB/DXWA\-,VR;PF<#?"/>QEBE0S/RC\*+(
MK!F)G7K?B_#$NR/'WI3!&5L1[S!YA]YKD?*[C%V#T(PY31B^PNP6!$/U)03?
M"G'B_]'Y-CW=S#"-]'1-/]QN"^PW!?918/]/B??O2MS I,F[(&S54PVVB=/D
M2&F&+D[RRKL,[ ./;_(&GZ;]F["-[!RY&(\O&_M?&^,!4TEN<(1:_&"+H:#V
MX?@!SW8:L\GPII]_$%N^<?$74$L#!!0    ( +-*;TXF3[>0LP$  -(#   9
M    >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;&U3VV[;, S]%4$?4"5RVA6!
M;:#I,'3 !@0=MCXK-GU!)=&5Y+C]^TFRXWJ97RR2/N?P(BH=T+S:!L"1=R6U
MS6CC7+=GS!8-*&%OL /M_U1HE'#>-36SG0%11I*2C&\V=TR)5M,\C;&CR5/L
MG6PU' VQO5+"?!Q XI#1+;T$GMNZ<2' \K03-?P"][L[&N^Q6:5L%6C;HB8&
MJHP^;/>'7<!'P)\6!KNP2>CDA/@:G.]E1C>A()!0N* @_'&&1Y R"/DRWB9-
M.J<,Q*5]4?\6>_>]G(2%1Y0O;>F:C-Y34D(E>NF><7B"J9];2J;F?\ 9I(>'
M2GR. J6-7U+TUJ&:5'PI2KR/9ZOC.4SZ%]HZ@4\$?D5@8Z)8^5?A1)X:'(@9
M9]^)<,7;/?>S*4(PCB+^\\5;'SWG2;)-V3D(39C#B.$+S">">?4Y!5]+<>#_
MT?DZ/5FM,(GT9$F_NUT7V*T*[*+ [I\6^56+:YCD*@E;S%2!J>,V65)@K^,F
M+Z+SPC[P>">?\'';?PI3M]J2$SI_LW'^%:(#7\KFQJ]0XQ_8[$BH7#"_>-N,
M:S8Z#KOI!;'Y&>=_ 5!+ P04    " "S2F].)U\;?;<!  #2 P  &0   'AL
M+W=O<FMS:&5E=',O<VAE970T-BYX;6QM4]MNW" 0_17$!X1=V[N-5K:E;*JJ
ME5IIE:KM,VN/;11@7,#K].\+V''<U"_ #.><N3#D(YIGVP$X\J*DM@7MG.M/
MC-FJ \7M'?:@_4V#1G'G3=,RVQO@=20IR9+=[L@4%YJ6>?1=3)GCX*30<#'$
M#DIQ\^<,$L>"[NFKXTFTG0L.5N8];^$[N!_]Q7B++2JU4*"M0$T,- 5]V)_.
M6<!'P$\!HUV=2:CDBO@<C"]U07<A(9!0N:# _7:#1Y R"/DT?L^:= D9B.OS
MJ_JG6+NOY<HM/*+\)6K7%?2>DAH:/DCWA.-GF.LY4#(7_Q5N(#T\9.)C5"AM
M7$DU6(=J5O&I*/XR[4+'?9QNCNE,VR8D,R%9"/<Q#IL"Q<P_<L?+W.!(S-3[
MGH<GWI\2WYLJ.&,KXIU/WGKOK4S3+&>W(#1CSA,F66'V"X)Y]25$LA7BG/Q'
M3[;IZ6:&::2G:_KQL"V0;0ID42#[I\3#NQ*W,,=W0=BJIPI,&Z?)D@H''2=Y
MY5T&]B&);_(&GZ;]&S>MT)9<T?F7C?UO$!WX5'9W?H0Z_\$60T+CPO&#/YMI
MS";#83__(+9\X_(O4$L#!!0    ( +-*;TX.?MJTN $  -(#   9    >&PO
M=V]R:W-H965T<R]S:&5E=#0W+GAM;&U3VV[<(!#]%<0'A#7>3;8KVU(V491*
MC;1*U?29M<<V"A<'\#KY^P)V7#?U"S##.6<N#-F@S:MM 1QZET+9'+?.=0="
M;-F"9/9*=Z#\3:V-9,Z;IB&V,\"J2)*"T,WFFDC&%2ZRZ#N9(M.]$US!R2#;
M2\G,QQ&$'G*<X$_',V]:%QRDR#K6P$]PO[J3\1:952HN05FN%3)0Y_@V.1RW
M 1\!+QP&NSBC4,E9Z]=@?*]RO D)@8#2!07FMPO<@1!!R*?Q-FGB.60@+L^?
MZ@^Q=E_+F5FXT^(WKUR;XSU&%=2L%^Y9#X\PU;/#:"K^!UQ >'C(Q,<HM;!Q
M165OG9:3BD]%LO=QYRKNPWBS2R;:.H%.!#H3]C$.&0/%S.^98T5F](#,V/N.
MA2=.#M3WI@S.V(IXYY.WWGLITO0F(Y<@-&&.(X8N,,F,(%Y]#D'70ASI?W2Z
M3D]7,TPC/5W2KW?K MM5@6T4V/Y3XOY+B6N8;U^"D$5/)9@F3I-%I>Y5G.2%
M=Q[86QK?Y"]\G/8G9AJN+#IKYU\V]K_6VH%/97/E1ZCU'VPV!-0N'&_\V8QC
M-AI.=],/(O,W+OX 4$L#!!0    ( +-*;TX"P+Y_P0$  #<$   9    >&PO
M=V]R:W-H965T<R]S:&5E=#0X+GAM;'54[6[<(!!\%<0#!'^FU<FVE$L5M5(K
MG5*U^<W9:QL%C OXG+Y] ?L<]TK_'.QZ9G86V"MFJ5YU#V#0F^"#+G%OS'@@
M1-<]"*KOY B#_=)*):BQH>J('A70QI,$)TD4W1-!V8"KPN=.JBKD9#@;X*20
MGH2@ZO<1N)Q+'.-KXIEUO7$)4A4C[> [F!_C2=F(;"H-$S!H)@>DH"WQ0WPX
MY@[O 3\9S'JW1ZZ3LY2O+OC2E#ARAH!#;9P"M<L%'H%S)V1M_%HU\5;2$??[
MJ_J3[]WV<J8:'B5_88WI2_P1HP9:.G'S+.?/L/:38[0V_Q4NP"W<.;$U:LFU
M_T7UI(T4JXJU(NC;LK+!K_.J?Z6%"<E*2&X(9"GDG7^BAE:%DC-2R]F/U%UQ
M?$CLV=0NZ8_"?[/FM<U>JC2+"G)Q0BOFN&"2'2;>$,2J;R624(EC\@\]"=/3
MH,/4T],]_3X/"V1!@<P+9'^U&-^T&,+\QV4>+)('!-*;(B%,=E.$["Y.@.K\
MD]6HEM/@QV67W:;B(?$7_PY?1NH;51T;-#I+8Y^/O^162@/62G1GO?1VBK>
M0VO<]H/=J^4M+X&1XSJF9/NOJ/X 4$L#!!0    ( +-*;TZE\[N'LP$  -(#
M   9    >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;&U3VXZ;,!#]%<L?L$X(
MR581(&VVJEJIE:*MVCX[,("UOE#;A.W?=VP(2U->\,QPSIF+Q]E@[*MK 3QY
M4U*[G+;>=T?&7-F"XN[!=*#Q3VVLXAY=VS#76>!5)"G)DLWFP!07FA99C)UM
MD9G>2Z'A;(GKE>+VSPFD&7*ZI;? BVA:'P*LR#K>P'?P/[JS18_-*I50H)TP
MFEBH<_JT/9[2@(^ GP(&M[!)Z.1BS&MPOE0YW82"0$+I@P+'XPK/(&40PC)^
M3YIT3AF(2_NF_BGVCKU<N(-G(W^)RK<Y_4!)!37OI7\QPV>8^ME3,C7_%:X@
M$1XJP1RED2Y^2=D[;]2D@J4H_C:>0L=SF/1OM'5",A&2.P(;$\7*/W+/B\R:
M@=AQ]AT/5[P])CB;,@3C*.(_+-YA]%KLTGW&KD%HPIQ&3++ ;&<$0_4Y1;*6
MXI3\1T_6Z;O5"G>1OEO2#_MU@715((T"Z3\M'NY:7,,\WB5ABYDJL$W<)D=*
MT^NXR8OHO+!/2;R3=_BX[=^X;81VY&(\WFR<?VV,!RQE\X KU.(#FQT)M0_F
M(]IV7+/1\::;7A";GW'Q%U!+ P04    " "S2F].-^@?\%4#  !I#@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6R-5]%NFS 4_17$>PLVMH$HB=0D
MC39IDZI.VYYIXB2H@#-PDN[O9P.E8%]8\Q# .?>><\WUB3V_B?*U.G$NG;<\
M*ZJ%>Y+R//.\:G?B>5+=BS,OU"\'4>:)5(_ET:O.)4_V=5">>=CWF9<G:>$N
MY_784[F<BXO,TH(_E4YUR?.D_+OBF;@M7.2^#SRGQY/4 ]YR?DZ._ >7/\]/
MI7KRNBS[-.=%E8K"*?EAX3Z@V183'5 C?J7\5O7N'5W*BQ"O^N'K?N'Z6A'/
M^$[J%(FZ7/F:9YG.I'3\:9.Z':<.[-^_9]_6Q:MB7I**KT7V.]W+T\*-7&?/
M#\DED\_B]H6W!5'7::O_QJ\\4W"M1''L1%;5W\[N4DF1MUF4E#QY:ZYI45]O
M;?[W,#@ MP&X"T!L,B!H X*/ #(90-H \MD V@;0SP:P-H 9 5XS6?7L;Q*9
M+.>EN#EETT#G1/<IFC'U?G=ZL'Z=]6_J!51J]+H,2#3WKCI1BUDU&-S#H [A
MJ>P=!88H5M@*QT."M8T(# T;&Q+1(>01R$+B(68+8*@/%Q. \Q74"<@@ 3+F
MJ\&P&E/4F!$* E(0@,*8L56#H3V*(/+U!R:B(!$%B *#B%JUD#">8&(@$P.8
MB,'$K))\HTVF$ ,1(2@B!$08/;0*K7(Q]<-^M8T4 !?;L*T-BT(T.G<1*#L"
M9#-#=F2W [5%VZ@86:A-9)?FLU'-,:@Y!C2'AN;84H-(B&W5-BX.B2W;AMU1
M%H[J1CYLASZ@W/)#W^**"(ULZ0"0$C8^F6C$HQ$@*AY) 7KP \+_;_YU"Z+C
M73VD@AT2019I-FP+&N_%(1-LE AR2K/-D&V5=U,-C6"O1)!91N8$4H!K:@9A
MMT2 7;*Q%+#7(<#LF/$_]8AL>R+^A+<CV* 0X% ,FURVK1 TQ04;"P*<A05P
M"@PO<0PL<6;^&;4@-EBYMNNL(1RVK7<#X (4C5:/82/ @!$P.I("-@(,& $S
M5R<("D=X8!? @ NP:"0%O+PQL+QMJ1#(]$:OMQO.>7FLSS*5LQ.70NK=8&^T
M.R\]8+V;-L97:+9I3CT?:9I#V/>D/*9%Y;P(J?;J]8[Z((3D2J-_KPSAI,Y]
MW4/&#U+?ANJ^; X_S8,4Y_9@YW6GR^4_4$L#!!0    ( +-*;TZ9)G+S-0(
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
MY/-G6.I)PV I_BM<@6JX<:(U*DZE_0;5)!5G"XNVPLB+&_O!CK/;29,ES9^
MEP2\)F!7BQ.RSC\21<I"\#D0KO<C,;\X/F#=F\H$;2OLGC8O=?1:)M&^0%=#
MM&!.#H,WF'A%(,V^2F"?Q G?I._VF9]@Y_6XLP3)/QX_O/'H,)G%# Z3XSR*
M(K]0XA5*;H7B=PA2+T'J(8C?.'68=.,T2]_UF7EE,H\,]A/D7H+\/SJ:WW0T
MBSU&T>:D,1"MO6,RJ/@TV/N]B:[7^![;D_H7[MZ ;T2T_2"#"U?ZO-M3V7"N
M0+N)[G3#.OWLK L*C3+37,^%NWQNH?BXO"MH?=S*/U!+ P04    " "S2F].
MOW+/+Z %   B'@  &0   'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6R-6=M2
MXS@0_954WIGH9LNF@"K"/<%5U$SM[K,A E*3Q%G;P.S?K^PXP>INQ7HAB3E]
ME71T9)U]%>7OZMV8>O1GO=I4Y^/WNMZ>3B;5R[M9Y]6/8FLV]C^O1;G.:_NS
M?)M4V]+DB]9HO9H(QN+).E]NQA=G[;.G\N*L^*A7RXUY*D?5QWJ=E_]-S:KX
M.A_S\?[!S^7;>]T\F%R<;?,W\\O4?VV?2OMK<O"R6*[-IEH6FU%I7L_'E_PT
MDTECT"+^7IJOJO=]U)3R7!2_FQ\/B_,Q:S(R*_-2-RYR^_%IKLQJU7BR>?S;
M.1T?8C:&_>][[[=M\;:8Y[PR5\7JG^6B?C\?)^/1PKSF'ZOZ9_%U;[J"HO&H
MJ_[1?)J5A3>9V!@OQ:IJ_XY>/JJZ6'=>;"KK_,_N<[EI/[\Z_WLSVD!T!N)@
M8&,?,Y"=@?PV4$<-5&>@0@VBSB *-8@[@SC40'<&.M0@Z0R24(.T,TA##3C;
MCQS[-HF/FQP&FP='V0\W%\$F^P'G<,0GN[G83N[KO,XOSLKB:U3NUN<V;VB
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
MNN8%@[.V4V+FTC]@O]!BF'H3FAMD_0=02P,$%     @ LTIO3LD+BA_E 0
MG00  !D   !X;"]W;W)K<VAE971S+W-H965T-3DN>&UL?53;CML@$/T5RQ^P
M^!8GBFQ+FT15*[52M%7;9V*/+UHP+N!X^_?EMEXGL?8%F.&<F3G D$V,OXH6
M0'IOE/0B]ULIASU"HFR!8O'$!NC53LTXQ5*9O$%BX( K0Z($14&0(HJ[WB\R
MXSOS(F.C)%T/9^Z)D5+,_QV L"GW0__=\=(UK=0.5&0#;N GR%_#F2L+S5&J
MCD(O.M9['.K<?P[WIUCC#>!W!Y-8K#VMY,+8JS:^5;D?Z(* 0"EU!*RF*QR!
M$!U(E?'7Q?3GE)JX7+]'_V*T*RT7+.#(R)^NDFWN[WRO@AJ/1+ZPZ2LX/1O?
M<^*_PQ6(@NM*5(Z2$6%&KQR%9-1%4:50_&;GKC?S9'>VD:.M$R)'B&9"F'Y*
MB!TA_B DGQ(21TCN",A*,6=SPA(7&6>3Q^WM#E@_HG"?J-,OM=,<MME3QR.4
M]UHD<9*AJP[D, >+B1:8<$8@%7U.$:VE.$0/].@VP?$1$>]N(:='R&ZS7D2\
MJC,V_.1&Y^9.I\6D!M,;3'!7Z",BW*H6NX.=5F!INH39@M'BDBCPQC2 \$HV
M]E)K77CG'GLV[^[.?U"]9UOE(XQMW!^8-UTOO N3Z@F9BZX9DZ"J#)Y4-[3J
MKY@- K74RZU:<]LQUI!L<)\!FG^DXC]02P,$%     @ LTIO3FQUEMLH @
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
M1ST7[O-Q@>+C_#+@Y7DJ_@%02P,$%     @ LTIO3HW/ OSS 0  -04  !D
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
M3SLY,?:F@^]5[@>Z("!02JV U7"!/1"BA509?YVF/RVIB?/Y5?VK\:Z\G+"
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
MC?K<@<M ME!L.\/Z[VT+2Q Z9E]H[^TYYYY+/[*1\6?1 $CGI:.]R-U&RN&
MD"@;Z(AX8 /T:J5FO"-2A?R"Q,"!5(;4480]+T8=:7NWR$SNQ(N,725M>SAQ
M1UR[CO _CT#9F+N^^YIX:B^-U E49 .YP'>0/X835Q%:5*JV@UZTK'<XU+G[
MP3\<4XTW@)\MC&(U=W0G9\:>=?"EREU/&P(*I=0*1 TW. *E6DC9^#UKNDM)
M35S/7]4_F=Y5+V<BX,CHK[:23>ZFKE-!3:Y4/K'Q,\S]1*XS-_\5;D 57#M1
M-4I&A?DZY55(ULTJRDI'7J:Q[<TX3BM).-/L!#P3\$+P_T\(9D*P(:#)F6GU
M(Y&DR#@;'3YMUD#TF? /@?J9I4Z:?V?65+="96]%Y+W/T$T+S9C'"8-7&/PO
MXKA'!.D"0<K X@);76###]<N?&_C8L+$!M-/+B(_#.QE FN9P%+&WY29,-&J
MS#N<1LFF89N2W4EH=1+N^/'62+@S@C%.XXV1O= ](Y'52&3A8[M ;!6(W[!U
M\:X5/[F[=8FU3+(K$Z9WCEAJ%4C?X#/=';'4\[Q-%;2Z6OJI^T;XI>V%<V92
MW5)SEVK&)"A![T'UW*C7=0DHU%)/$S7GTQLS!9(-\_.)EC>\^ M02P,$%
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
MUYF2_X$ON!5PJ43$V).6J5]G?V:<=),7(:5#K^.SZ=7S.OF_T>R$<"*$,R&
M'Q*BB1"]$<"'!# 1@$;PQE14;2K$49%3<G7H>+H#DDT4K("H_EX:5;'5.U$>
M)JR7(HZRW+M(1Q-F,V+"!2:8$9[P/H<(;2$VH4$/WP<H3424OH=4)B2-[2(B
M:YZ1XH-EGL#7\APQ4&'Z,<\DT;6:H"@($DVM#13Z=KW JA=8] ::WA$3+Z(
M_>Q*$Q/'FI_*Q,#XS@G'5K&Q1:Q6MTUL! G#0%-2FJ (0KT5+* DN:,76O7"
M3S0#-*($F7[.I0GZ$OB97E\3%0-HUYM8]2:?:(;$E!)!3:Z)T=N[,B'1G;Y-
MK5)30RK4.R$U*YNF>B>8(%'90.ONRD3%R9W*9E:YF:6RD:8W,_[,P,_T:\$$
MA1#H<BV>(I!H>KW%U=UA>E)CD3E[<NZYO $7UGGR/H;RZM?L&S&1QP'ZYF8<
MYS\1/34]<W:$B\&BKO\C(1P+C?Z#J&8MOB#F38N/7"X3L:;C'!TWG S3)X(W
M?Z<4_P%02P,$%     @ LTIO3E@6@^6D @  &@H  !D   !X;"]W;W)K<VAE
M971S+W-H965T-S0N>&UL=9;;CILP$(9?!7'?!1^!51*I256U4BM%6VU[[21.
M@A8PQ4ZR??O:P*+$'F[B __,?&,[8R]NJGO39RE-]%Y7C5[&9V/:YR31^[.L
MA7Y2K6SLEZ/J:F'LL#LENNVD./1&=97@-.5)+<HF7BWZN6VW6JB+J<I&;KM(
M7^I:=/_6LE*W98SBCXF7\G0V;B)9+5IQDK^D>6VWG1TEDY=#6<M&EZJ).GE<
MQI_1\P919] K?I?RIN_ZD4MEI]2;&WP_+./4$<E*[HUS(6QSE1M95<Z3Y?@[
M.HVGF,[POO_A_6N?O$UF)[3<J.I/>3#G99S'T4$>Q:4R+^KV38X)L3@:L_\A
MK[*R<D=B8^Q5I?O?:'_11M6C%XM2B_>A+9N^O8W^/\Q@ SP:X,E@6)Q9 S(:
M$,\@&<CZ5+\((U:+3MVB;MBM5KA#@9Z)7<R]F^S7KO]FL]5V]KIBE"Z2JW,T
M:M:#!M]I\*-B$RI(/DD2"S!18) "]_;T@8)Y%(.&]YIFB,$SCP/0%#,@! 0A
M  CW0 8-NPM",?) 0@W&,R 4!*$ B)?MFH8@OF83:DA!81 &@C  )/= 6)BM
MAQ$J,AB"@Q <@"@\"!Y"%*F'$6H0F]F6# 3)0A#F!5EG81#_>(02#E/D($4.
M4'@AUGE(07V,4(.SF<-1@" % .)M_;H(@S#_E )^$,R!4KB,I0 )\>M8&J!\
M0@7A?C&#9)2S&:"9NHH H*"PHC 2Y3SW@0 9(>D<$%QB45AC@[_0J'G,G!3^
M;D$RGJ8S.'"A14"E97[)1V$9M8$X\WD &2EFUP<NN BHN,PO_:.(/VP8PH4/
M!,@PI?X*)7>7M'LU_13=J6QTM%/&WO?]K7Q4RDCK,GVRV9WM0VT:5/)H7#>S
M_6YXK0P#H]KQ)99,S\'5?U!+ P04    " "S2F].M=)Q\M("   :#   &0
M 'AL+W=O<FMS:&5E=',O<VAE970W-2YX;6R-EV%OFS 0AO\*X@<43("0*HE4
M@J9-VJ2JT[;/)'$25,#,.$GW[V<#I>%XP_8E8//<^?5QYB[+JY"O]8ES9;T5
M>5FO[)-2U:/CU+L3+]+Z052\U$\.0A:ITD-Y=.I*\G3?&!6YX[ENZ!1I5MKK
M93/W+-=+<59Y5O)G:=7GHDCEGYCGXKJRF?T^\9(=3\I,..MEE1[Y=ZY^5,]2
MCYS>RSXK>%EGHK0D/ZSL)_:8,-\8-,3/C%_KFWO+;&4KQ*L9?-FO;-<HXCG?
M*>,BU9<+W_ \-YZTCM^=4[M?TQC>WK][_]1L7F]FF]9\(_)?V5Z=5G9D6WM^
M2,^Y>A'7S[S;4&!;W>Z_\@O/-6Z4Z#5V(J^;7VMWKI4H.B]:2I&^M=>L;*[7
M]DD8=F;8P.L,O-Z 31O,.H/9AX$_:>!W!CXQ<-JM-+%)4I6NEU)<+=F^WBHU
M6<0>?1W]G9EL@MT\T^&I]>QE'03SI7,QCCHF;AGOAF$]X6CO_1(>6B+V1N;>
M<('-F)A%0R09(U& 1<S@/F>-O3_8)UDC!HSG$ZF("8C6:68@UH=B?2!V0<0"
M)G2)6,0P(A8Q'A8;0+$!<# C8A%#(XL8&MEI/P.Q(10;@LB2;(P!$X9$+&+(
ML4FFF8'8.10[!PYHS@*&O.$-<D.R*0',W,5:(Z@U @Z(D!@Q]%/P'TP"F/#.
M^5I L0NP"$U9P-# _AM)T$IW$I:Y^ /M A?D7,00HCD+(9JT"+KSM6=W*@H#
MR]"TA="""@80#? T,]0+R],3\\8>(I?J!1!-!^AHI'?2T5 OKF0,E!<VBB^
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
M>CSD&1_:ZJ0/L/S+*=KJ?U!+ P04    " "S2F].<K>#I$D"  !F!P  &0
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
M,REZQE]%#2"=-TI:L7-K*;LM0J*J@6*Q81VTZLF9<8JE6O(+$AT'?#)!E*#
M\Q)$<=.Z96'V#KPLV%62IH4#=\254LS_[(&P?N?Z[GWCI;G44F^@LNCP!;Z#
M_-$=N%JAR>744&A%PUJ'PWGG/OG;O>_I */XV4 O9G-'EW)D[%4OOIQVKJ<S
M @*5U!98#3=X!D*TD\KC]VCJ3DP=.)_?W3^9XE4Q1RS@F9%?S4G6.S=SG1.<
M\97(%]9_AK&@V'7&ZK_"#8B2ZTP4HV)$F%^GN@K)Z.BB4J'X;1B;UHS]Z'\/
MLP<$8T P!80F  T@D_E'+'%9<-8[?#C\#NMW[&\#=3:5WC1'89ZIY(7:O95)
M%!?HIHU&S7[0!#.-/RF0<I\0@0VQ#U;A2938#4)KCJ$QB.8&0;K(<=#$1M,:
M39R&>6S'1%9,M,9$2\R@26>8P-]XH1T36S&Q!9,M,/&JFM#+P@>GGE@QB063
M+S#)NII\$SYX-ZD5DZXQL;? I*MJ/OB)-Y/]Q\FLG,S"\1><;%U.N(D?W('<
MBLG?<=7R53EIX*</3DUU+.MGY[WCLHVB14%+$)I]ZA3XQ30YX53LVIH..]N=
M&NE38%K%/_G0A;]A?FE:X1R95 W'M(4S8Q)4,MY&%5RKQC\M")REGJ9JSH?N
M-RPDZ\;.CJ:_E_(O4$L#!!0    ( +-*;TY3P-EWM (  'T+   9    >&PO
M=V]R:W-H965T<R]S:&5E=#@S+GAM;(V6W8Z;,!"%7P7Q  LV/R$K@M1L5;52
M*T5;=7OM)$Y :S"UG63[]K4-012/I=P$[!S/9T_FQ%/>N'B7-:4J^&A9)S=A
MK53_'$7R4-.6R"?>TTY_<^*B)4H/Q3F2O:#D:!>U+,)QG$<M:;JP*NW<3E0E
MORC6='0G GEI6R+^;BGCMTV(POO$:W.NE9F(JK(G9_J3JE_]3NA1-$4Y-BWM
M9,.[0-#3)OR$GK<X-0NLXJVA-SE[#\Q1]IR_F\&WXR:,S8XHHP=E0A#]N-(7
MRIB)I/?Q9PP:3DRS</Y^C_[%'EX?9D\D?>'L=W-4]28LPN!(3^3"U"N_?:7C
M@;(P&$__G5XITW*S$\TX<";M9W"X2,7;,8K>2DL^AF?3V>=MC']?!B_ XP(\
M+<##60:0W?EGHDA5"GX+Q)#\GIC?&#UCG9N#F;2IL-_IS4L]>ZWR#)?1U00:
M-=M!@V>:I,@G3:3C3Q ,0K -D,X"I'FR@ R:W&HZJ\F2&(8D("0!(.D",FBR
M&21-4QB2@I 4@&0+2.I <.8Y209",@"2+R"9 _%E*P<9N<- :/F[YPX#X<R3
MKA5(63F4//8$*,  Q0.54[CY+F#&&F2L'RB<]<,,%,,^BQ^H'$"4(0_&8V?T
M0.T (B\&-C1R'>V6SRB:)RWS_&T@V-+(]32*?7F'#8L@QRXK"!!Y$P);%D&>
M7181(/)B8-<BU[9 %;DB+P:V+7)]"U21*_)B8',CU]U %;DB+P;V-W(-GJ,$
M#H%A]V+(O<X-%KOU'F,/![8OANR[+*-1]-\MAGSWL>="AF[D91UAU[_>BPS#
M!L;0I;PL).S>RKZ[#,,FQZY_W4(:1?,. Z'U\M\DFC5.IC']0<2YZ62PYTKW
M8+93.G&NJ(X8/^DMU[H7G@:,GI1Y7>EW,32$PT#Q?FQVHZGCKOX!4$L#!!0
M   ( +-*;TY(!FA%(0(  !H'   9    >&PO=V]R:W-H965T<R]S:&5E=#@T
M+GAM;)55[:Z:,!B^%<(%6+Y1@R13LVS)EIBS;/M=\57(*92U5<[N?FVI!%AW
M='^D+<_7^UK:K*/LE9< PGFK2<,W;BE$NT:(%R74F"]H"XU\<Z:LQD).V07Q
ME@$^:5)-4.!Y":IQU;AYIM<.+,_H59"J@0-S^+6N,?N]!4*[C>N[]X67ZE(*
MM8#RK,47^ ;B>WM@<H8&E5-50\,KVC@,SAOW@[_>^YXB:,2/"CH^&CNJE".E
MKVKR^;1Q/94("!1"26#YN,$."%%*,L<O(^H.GHHX'M_5/^KB93%'S&%'R<_J
M),J-NW2=$YSQE8@7VGT"4U#L.J;Z+W #(N$JB?0H*.'ZURFN7-#:J,@H-7[K
MGU6CGYW1O]/LA, 0@H$0OD\(#2$<"$'T+B$RA&A&0'TINC=[+'">,=HYK/][
M6ZQVD;^.9/<+M:B;K=_)]G"Y>LN3.,S030D9S+;'!!-,-,7L;)AXBMG;,,F
M03+G$#:PA@VT0#012&=A>TRL,8W&^':+T&H16BR6,XL>DXXLO(7GSQKR#&C_
M #3)&UGS1I:\JUF4Z)DH#T"3*+$U2OQWE,2S"R16@<0B,(NY[3&K:<Q_Y4RM
M-JG%)IC9])AD9!/$=H^EU6-I\0CM BNKP.J)7JS^IQ?R<+9^_][C#;0UH >;
M XW.''5K?,7L4C7<.5(ACR]]R)PI%2 5O87<+*6\J(8)@;-0PU2.67]:]Q-!
M6W,3H>$ZS/\ 4$L#!!0    ( +-*;TXV,V='_P$  &@%   9    >&PO=V]R
M:W-H965T<R]S:&5E=#@U+GAM;'U4VXZ;,!#]%<0'K+EO% '2DJAJI5:*MFK[
M[,!PT=J8VB9L_[ZV(2P!M"]@#^><.3/8$P^,OXD:0%KOE+0BL6LINR-"(J^!
M8O'$.FC5EY)QBJ7:\@J)C@,N#(D2Y#E.A"AN6CN-3>S"TYCUDC0M7+@E>DHQ
M_Y<!84-BN_8]\-I4M=0!E,8=KN GR%_=A:L=FE6*AD(K&M9:',K$?G&/YU#C
M#>!W X-8K"U=R96Q-[WY5B2VHPT!@5QJ!:Q>-S@!(5I(V?@[:=IS2DU<KN_J
M7TSMJI8K%G!BY$]3R#JQ#[950(E[(E_9\!6F>D+;FHK_#C<@"JZ=J!PY(\(\
MK;P7DM%)15FA^'U\-ZUY#Y/^G;9/\":"-Q/<Z%."/Q'\#T+P*2&8",&*@,92
M3&_.6.(TYFRP^/AW.ZP/D7L,5/=S'33--M]4>X2*WM(H"F)TTT(3)ALQW@+C
MS@BDU.<4WEZ*S-O0O<<$IRW"/SQ"SEO((=PWX>_6Z1M^\%!GN*ISQ$0&TXY&
M'<=9>=V"_ WHO 4%2]"#WV#7;[#C-UKYW<,\[R<)=Y.$.P*KQF?AMBGAMA:T
M.&\4>&7NLK!RUK=2_[9%=!X7+YX^KZMXIL;(>.L_9,89] /SJFF%=652W09S
M9DO&)"B3SI-R6:NQ-V\(E%(OG]6:CY=_W$C637,-S<,U_0]02P,$%     @
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
MN-?HVW3;*?"F'Q\RF_ZFZC]02P,$%     @ LTIO3C+.IW"Z 0  \@,  !D
M  !X;"]W;W)K<VAE971S+W-H965T.3 N>&ULA5/;;M0P$/T5RQ]0;[SI4JV2
M2-TB!!)(JR+@V9M,$JN^!-O9E+_'ES0-)8(7VS,^9\X97XI)FR?; SCT+(6R
M)>Z=&XZ$V+H'R>R-'D#YG58;R9P/34?L8( UD20%H;O=@4C&%:Z*F#N;JM"C
M$US!V2 [2LG,KQ,(/94XPR^)1][U+B1(50RL@Z_@O@UGXR.R5&FX!&6Y5LA
M6^+[['C* SX"OG.8[&J-0B<7K9]"\*DI\2X8 @&U"Q68GZ[P $*$0M[&S[DF
M7B0#<;U^J?XA]NY[N3 +#UK\X(WK2WR'40,M&X5[U--'F/NYQ6AN_C-<07AX
M<.(U:BUL'%$]6J?E7,5;D>PYS5S%>4H[>3;3M@ET)M"%D!UB+TDH.G_/'*L*
MHR=DTMD/+%QQ=J3^;.J0C$<1][QYZ[/7ZG"7%>0:"LV84\+0%>8507SU18)N
M29SH7W2Z3=]O.MQ'>OZ'0_K&8<+<1HSZE\-\4R+?D-B_D<C_*T%69R[!=/&U
M653K4<67OLHN#_J>QCM[A:??\(69CBN++MKYFX_WTVKMP!O9W7@/O?^ 2R"@
M=6'YSJ]->H8I<'J8?QA9OGGU&U!+ P04    " "S2F].@34JD <$  !Q$P
M&0   'AL+W=O<FMS:&5E=',O<VAE970Y,2YX;6R-F.MRFSP0AF^%X0**) Y"
M'MLS<=(VB>E,IM]\[6]BRS93#B[@N+W[BH.)6:UB_L2@/._R2BNM0/-S4?ZJ
M#E+6UI\LS:N%?:CKX\QQJLU!9G'UJ3C*7/UG5Y197*O;<N]4QU+&VU:4I0XC
M)'"R.,GMY;QM>RF7\^)4ITDN7TJK.F597/Y=R;0X+VQJ7QJ^)_M#W30XR_DQ
MWLO_9/W_\:54=\X099MD,J^2(K=*N5O8=W06,=8(6N)'(L_5U;75=.6U*'XU
M-T_;A4T:1S*5F[H)$:N?-WDOT[2)I'S\[H/:PS,;X?7U)?J7MO.J,Z]Q)>^+
M]&>RK0\+.[2MK=S%I[3^7IP?9=\AW[;ZWD?R3:8*;YRH9VR*M&K_6IM351=9
M'T59R>(_W6^2M[_G/OY%A@M8+V"#0#W[(X';"]QW@?>AP.L%WE2!WPO\J8*@
M%P13!;P7\*F"L!>$4P6B%XBI DHNF2/ODN!CR9!L.ODIEW13!B1.-[':F?H0
MU_%R7A9GJ^P6VS%NUC2=*94*WK2V<[_]IYJME6I]6P:A-W?>FD@]L^H8=L5X
M%##/.D,'PE$6!A\,];%BFIZ-GW"O$Q[UQ\P#Q@1CYC/&\#'S16?<<(Q\Q<(
MYA%CQ)AY0AA&P.#>')SU;<.1CH0^GB(7GRIN&\"[#@#&=M4A08OD+>*30(#1
MO=<ICX<$^'U *$'@\'U&*"9<"O*I4RYG<)B_(I2OK89'+%8(1^()HXCO@L3J
M%!7$\\&T7B.8&C$/1(LP+* NP[/LX5GVM"P'(?#SC#%@ -83F.AC9N36Q]WZ
M2 2.1PCP",'-6?T<Z.-*"0OA&M0Q3D@()G^D4X''71?WS''/?$*., 8LL37&
M@ 46(8P@N-L0=QLB$0R;@\ CB-LY$MJP,D_ SJP12JT/6"D1BG!FL-SL\^C&
M2B8D"8,$G%<H!-<^"GD&RZ9W 8K$,.P1%-_'[RB[G:N>&0\PH5J_$<RE<).-
M,(PSW^3;L+E1?7=#TH5  A8^%()5 (5"@V5#I:9(^13"$,-0/ZE>0/5T^7K]
M<ZGKPGXC&/49A3U',")\T^HR5&VJEVTD73JD*C*TC4&::0PR[*O44+2I7DDY
M,=1]:BBE5*^E>KI") \>?/58HY@(".PYA@7<M+H,!9SJ%1Q)EPYQXD';&.1#
MTQAD>+%@AOK-](+*B>'5@AD**M,+JI:NGAFO!U][G4(P$3*X6:/!N##9-M1P
MIM=P/5L(Q.$[_!J%--,(1.$KAG/U19O)<M^>W536ICCE=?/%<M4ZG _=M<=#
MH'U%9T\4:7^FLZ@[_7D/WQU&?8O+?9)7UFM1JR_Q]F-Y5Q2U5-[))U7-#C+>
M#C>IW-7-)5?797<(U-W4Q;$_X'*&4[;E/U!+ P04    " "S2F].IM !9: #
M  #.#P  &0   'AL+W=O<FMS:&5E=',O<VAE970Y,BYX;6R-E]MRHS@0AE^%
MX@$"$A*"E.VJP8?8L;<J-5N[>TULV:8&D!?D>/;M5QSLX%9/QKD((']_J^F_
M!6AT4=6/^BBE=GX6>5F/W:/6IV?/J[='6:3UDSK)TORR5U61:G-9';SZ5,ET
MUXJ*W*.^'WI%FI7N9-2.O563D3KK/"OE6^74YZ)(J_\2F:O+V"7N=>![=CCJ
M9L";C$[I0?XI]5^GM\I<>;<HNZR099VITJGD?NQ^(\\;T? M\'<F+_7@W&GN
MY%VI'\W%:C=V_28AF<NM;B*DYO AIS+/FT FC7_[F.YMRD8X/+]&7[3W;N[E
M/:WE5.7_9#M]'+N1Z^SD/CWG^KNZ+&5_/]QU^IO?R ^9&[S)Q,RQ57G=_G>V
MYUJKHH]B4BG2G]TQ*]OCI8]_E>$"V@OH36#F_DH0](+@4\"^%+!>P!X5\%[
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
MNAVFU&%C=#-.X-'Y;\#R-U!+ P04    " "S2F].-LM*:RT"  !6!@  &0
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
MI5P==^*N@YGRU4Q2$JBTTC%-;&[)H"6K!XWMA!-X<Z*L:*_:WUKJUYUY:IG
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
MBD9>,";V$T5> !S[HSZK,,0J'" "_@*,$-[RX><H#*'[&_@J)87?3"7PIL#
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
M756B'9U^A3I%.UI_1(&B U1;C($;CMP^&7+8!*S:CMQO3NC+EH>RLU+(65&
M*,12U_5#+?-$ZF!PK1.O381GGV%.9%S' T[U;=HW.R[0Z[)$H\8%+S&74?)T
MRE=WKHNHY:!V+=),7&GNS"4+7Q<HZ$SB6:B41T;A5!+J4E-I:VDT7:-H,7,=
MWHR[#?=L>E"BSU?8!5,-R2HGH_=FGZK_-;O_B0M'H9]2]I.X]K?L4L=YU7H%
M41ZH"OD7T5/+@(7!+^F\E%VVH\.JXDO.09=,/$C:)L",(<]QZY& ?@8U'+-^
M2$?/B\Z*8@<VCT&]3K&H^=XW',/.*3H/J[ZJI$P)->/0(EUEG8X_7'TJN_W"
M3YGVSN%\O,6XV6'88-??\O2V>2B;91R1EE^A-^F#V2_FKDIHD,.=_E7G9C'@
MWV.:#9YTZ#:K_ZO+7#%1VI_?)EEQ!\^>WV;I @_)C(7"]XL%$%1!Y^02)DC%
M [XEX=2VLN)_#LW/W$@7&8C^&SP<? GW(_+#6X!U>MJM>+@\Y<K'LD7?1Z54
M]3:&/6:\=IJ5_9(I9N?,H>JUG%9&%0Z;>*KWB)2[JAFW5F37K[.D8]C^O<][
M;4D\[9-,!6UWIXO]#M),Y]RDF.,WF9=5$[+'*INGO\E8=N]AE:T\DQ@IT&UV
MI0I'$H;K3]SI8+7N3"(*YN^)C,<9;S#BCF7@VBS]EPV?_Y:;V-'^XQ=N&CH7
MKM;=00NWJ]QGGX7<\?XW6=C#^CMXH7<V?]#"/N:6<)?>==X1CY.E:WS_ (;O
M6%HRW:I^R:@[=U274NU#;?+LMQQ.HXAKCT&UWSBPR\>02M\*L'W#WWD,(45L
M:W,XCV9O&BX%7/AD>!I.]Q%5!P7N>FS<_5ASK!=P4$ 4!WV_TD:L9TA+- 7,
M"/>EQ)Q'.$G79#!$73)-9K?R*$7_6JJ!=2(<OB_SG =R1J%(;J;P,LZ8-Q;>
M/9-X_-N.Z75'FR-P#T[PYP3%I0UV2&_4E-3*]GV>+)><$OH2UZ?Y5N?AV-%/
MV^XASY3F(0=8 F50G:F_;E?H/X"EVF2S;,VQYDURV*UQ1,U,0,L!W7*3V*;;
MVDM&6+?>KNM'G;9>2@V"P6I+)+[&9D^60N%ZT5^QBL.A#R?=Z>6.YFR@!G(;
MZ'QG,A3*H^^OE]F-S@W)2LJ,<X9,1RX?H;MC@WP@K,I\RS(X3O3+1GV\3Y?
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
MO=X9],X3S'K3L+=>[PQZ9[W>!?0N>KT+Z%WT>A?0N^CU+J!WT>M=0.^BU[N
MWD6O=P&]BU[O GH7O=X%]"X3/*M##^M,\;3.#=_]MNWJZOO0[8Z;_MXI_RS^
M><X-W?WPOJ_W[[BN^GG #=3#99O:7%_O_H]Q7?5/17.;T3__!E!+ P04
M" "S2F].L;1>B5P"  #!.   $P   %M#;VYT96YT7U1Y<&5S72YX;6S-V]]N
MFS 4Q_%7B;B=@H,! U/3FVVW6Z7M!3QP @K_9+M=^O9S:#MI529U:B)];T+@
MF'-^$.MSEYL?C[-QJ^/0CVX;M=[/'X5P=6L&[>)I-F.H["8[:!].[5[,NC[H
MO1%RLU&BGD9O1K_VIQ[1[<UGL]/WO5]]>KI^:KV-]#SW7:U]-XWB86Q>-5T_
M-XRMZ9<UKNUF]R$LB%9?CJ&+"]>V4:BZ2+QAPNL;3^?AOF\/QMJN,?\5;=KM
MNMHT4WT_A%MB-UNC&]<:XX<^=JVVIOGN;3?NG_/>:>N_ZB$T%L=>_+4@OEX.
M_]B;\P&6RB4G^[ MS+E12^'I,WG7P)?=4$_6K&<;JM9W9QXO1+H+52=."R_Y
MB.:T=1K3O&EX:'V]'_;79 _+]W,O_$_1B>7POK=^N1P2DB.%Y,@@.7)(#@7)
M44!RE) <%21'LJ$$H8B:4$A-**8F%%03BJH)A=6$XFI"@36AR"HILDJ*K)(B
MJZ3(*BFR2HJLDB*KI,@J*;)*BJPI1=:4(FM*D36ER)I29$TILJ8465.*K"E%
MUI0B:T:1-:/(FE%DS2BR9A19,XJL&476C")K1I$UH\B:4V3-*;+F%%ESBJPY
M1=:<(FM.D36GR)I39,TILBJ*K(HBJZ+(JBBR*HJLBB*KHLBJ*+(JBJR*(FM!
MD;6@R%I09"THLA8460N*K 5%UH(B:T&1M:#(6E)D+2FREA192XJL)476DB)K
M29&UI,A:4F0M*;)6%%DKBJP51=:*(FM%D;6BR%I19*THLE846:LKRKH<XT%W
MX[^2_)RFP\M\L?QS\?8W4$L! A0#%     @ LTIO3A\CSP/     $P(   L
M             ( !     %]R96QS+RYR96QS4$L! A0#%     @ LTIO3B?H
MAPZ"    L0   !               ( !Z0   &1O8U!R;W!S+V%P<"YX;6Q0
M2P$"% ,4    " "S2F].[F.<V^X    K @  $0              @ &9 0
M9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " "S2F].F5R<(Q &  "<)P
M$P              @ &V @  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0
M   ( +-*;T[45+$?Q (  #(+   8              "  ?<(  !X;"]W;W)K
M<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " "S2F].XC%6&%4$  !]%0
M&               @ 'Q"P  >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L!
M A0#%     @ LTIO3EBZS?-1 @  ] <  !@              ( !?!   'AL
M+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    ( +-*;TY,\STDZ@,
M *X1   8              "  0,3  !X;"]W;W)K<VAE971S+W-H965T-"YX
M;6Q02P$"% ,4    " "S2F].P_V>N-8$  ")&@  &               @ $C
M%P  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#%     @ LTIO3N2H
MP[TP!0  Z!H  !@              ( !+QP  'AL+W=O<FMS:&5E=',O<VAE
M970V+GAM;%!+ 0(4 Q0    ( +-*;TXKHUSXM@$  -(#   8
M  "  94A  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q02P$"% ,4    " "S
M2F].<,9:@[@!  #2 P  &               @ &!(P  >&PO=V]R:W-H965T
M<R]S:&5E=#@N>&UL4$L! A0#%     @ LTIO3C[ 1N2W 0  T@,  !@
M         ( !;R4  'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0
M   ( +-*;TY0@+ .MP$  -(#   9              "  5PG  !X;"]W;W)K
M<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @ LTIO3L'+L(&W 0  T@,
M !D              ( !2BD  'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q0
M2P$"% ,4    " "S2F].)7X2DK8!  #2 P  &0              @ $X*P
M>&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0    ( +-*;T[+:'F=
MM@$  -(#   9              "  24M  !X;"]W;W)K<VAE971S+W-H965T
M,3,N>&UL4$L! A0#%     @ LTIO3GLA39VV 0  T@,  !D
M ( !$B\  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4    " "S
M2F].G*<!U[<!  #2 P  &0              @ '_,   >&PO=V]R:W-H965T
M<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( +-*;TY[U+]BM@$  -(#   9
M          "  >TR  !X;"]W;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#
M%     @ LTIO3L6^&."W 0  T@,  !D              ( !VC0  'AL+W=O
M<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    " "S2F].98=5>+@!  #2
M P  &0              @ '(-@  >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM
M;%!+ 0(4 Q0    ( +-*;T[/S1"OM@$  -(#   9              "  ;<X
M  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#%     @ LTIO3AQ0
MYCVW 0  T@,  !D              ( !I#H  'AL+W=O<FMS:&5E=',O<VAE
M970R,"YX;6Q02P$"% ,4    " "S2F].^Y@F";<!  #2 P  &0
M    @ &2/   >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    (
M +-*;T[JW33DMP$  -(#   9              "  8 ^  !X;"]W;W)K<VAE
M971S+W-H965T,C(N>&UL4$L! A0#%     @ LTIO3O,HC5*V 0  T@,  !D
M             ( !;D   'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"
M% ,4    " "S2F].^PMX%+<!  #2 P  &0              @ %;0@  >&PO
M=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    ( +-*;TZQC_FPM@$
M -(#   9              "  4E$  !X;"]W;W)K<VAE971S+W-H965T,C4N
M>&UL4$L! A0#%     @ LTIO3F@@9HBV 0  T@,  !D              ( !
M-D8  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"% ,4    " "S2F].
M>8L5HK<!  #2 P  &0              @ $C2   >&PO=V]R:W-H965T<R]S
M:&5E=#(W+GAM;%!+ 0(4 Q0    ( +-*;TXL(J&#N $  -(#   9
M      "  1%*  !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL4$L! A0#%
M  @ LTIO3DK3.7BR 0  T@,  !D              ( ! $P  'AL+W=O<FMS
M:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " "S2F].JX<M(:$"   4"P
M&0              @ 'I30  >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+
M 0(4 Q0    ( +-*;TY\#(A<W@$   $%   9              "  <%0  !X
M;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%     @ LTIO3G$"ZAG/
M 0  G 0  !D              ( !UE(  'AL+W=O<FMS:&5E=',O<VAE970S
M,BYX;6Q02P$"% ,4    " "S2F].4"6Q@+8!  #2 P  &0
M@ '<5   >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( +-*
M;T[PC$:7N $  -(#   9              "  <E6  !X;"]W;W)K<VAE971S
M+W-H965T,S0N>&UL4$L! A0#%     @ LTIO3L\F-;RW 0  T@,  !D
M         ( !N%@  'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4
M    " "S2F].X9D%!\$!   W!   &0              @ &F6@  >&PO=V]R
M:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( +-*;TZ5GQ\^N $  -(#
M   9              "  9Y<  !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL
M4$L! A0#%     @ LTIO3K!<DQ"Y 0  T@,  !D              ( !C5X
M 'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4    " "S2F].VE@P
MX;8!  #2 P  &0              @ %]8   >&PO=V]R:W-H965T<R]S:&5E
M=#,Y+GAM;%!+ 0(4 Q0    ( +-*;TX;#3 ?WP$   $%   9
M  "  6IB  !X;"]W;W)K<VAE971S+W-H965T-# N>&UL4$L! A0#%     @
MLTIO3@!Q;CZV 0  T@,  !D              ( !@&0  'AL+W=O<FMS:&5E
M=',O<VAE970T,2YX;6Q02P$"% ,4    " "S2F].#\N( MT!   !!0  &0
M            @ %M9@  >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4
M Q0    ( +-*;T[QZ<W^LP$  -(#   9              "  8%H  !X;"]W
M;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @ LTIO3D".=A*X 0
MT@,  !D              ( !:VH  'AL+W=O<FMS:&5E=',O<VAE970T-"YX
M;6Q02P$"% ,4    " "S2F].)D^WD+,!  #2 P  &0              @ %:
M;   >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    ( +-*;TXG
M7QM]MP$  -(#   9              "  41N  !X;"]W;W)K<VAE971S+W-H
M965T-#8N>&UL4$L! A0#%     @ LTIO3@Y^VK2X 0  T@,  !D
M     ( !,G   'AL+W=O<FMS:&5E=',O<VAE970T-RYX;6Q02P$"% ,4
M" "S2F]. L"^?\$!   W!   &0              @ $A<@  >&PO=V]R:W-H
M965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( +-*;TZE\[N'LP$  -(#   9
M              "  1ET  !X;"]W;W)K<VAE971S+W-H965T-#DN>&UL4$L!
M A0#%     @ LTIO3C?H'_!5 P  :0X  !D              ( ! W8  'AL
M+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4    " "S2F].F29R\S4"
M  #)!P  &0              @ &/>0  >&PO=V]R:W-H965T<R]S:&5E=#4Q
M+GAM;%!+ 0(4 Q0    ( +-*;T[,4&KTV $  & $   9              "
M ?M[  !X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L! A0#%     @ LTIO
M3L'7F3KK 0  W00  !D              ( !"GX  'AL+W=O<FMS:&5E=',O
M<VAE970U,RYX;6Q02P$"% ,4    " "S2F].*Q!S<=L"   V"P  &0
M        @ $L@   >&PO=V]R:W-H965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0
M   ( +-*;TY!/4I@Z $  .@$   9              "  3Z#  !X;"]W;W)K
M<VAE971S+W-H965T-34N>&UL4$L! A0#%     @ LTIO3K]RSR^@!0  (AX
M !D              ( !784  'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6Q0
M2P$"% ,4    " "S2F].=CQDQ_H"  "5"P  &0              @ $TBP
M>&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4 Q0    ( +-*;TX6?82U
M^0$  "P%   9              "  66.  !X;"]W;W)K<VAE971S+W-H965T
M-3@N>&UL4$L! A0#%     @ LTIO3LD+BA_E 0  G00  !D
M ( !E9   'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6Q02P$"% ,4    " "S
M2F].;'66VR@"   T!@  &0              @ &QD@  >&PO=V]R:W-H965T
M<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( +-*;T[R,3E.U $  "<$   9
M          "  1"5  !X;"]W;W)K<VAE971S+W-H965T-C$N>&UL4$L! A0#
M%     @ LTIO3N?NLW/: 0  J@0  !D              ( !&Y<  'AL+W=O
M<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4    " "S2F].C<\"_/,!   U
M!0  &0              @ $LF0  >&PO=V]R:W-H965T<R]S:&5E=#8S+GAM
M;%!+ 0(4 Q0    ( +-*;TY<Q4^K[P$  /X$   9              "  5:;
M  !X;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L! A0#%     @ LTIO3J:B
M;P1M @  R0@  !D              ( !?)T  'AL+W=O<FMS:&5E=',O<VAE
M970V-2YX;6Q02P$"% ,4    " "S2F].1)54\.D!  " !0  &0
M    @ $@H   >&PO=V]R:W-H965T<R]S:&5E=#8V+GAM;%!+ 0(4 Q0    (
M +-*;TZA;O" X@$  )D$   9              "  4"B  !X;"]W;W)K<VAE
M971S+W-H965T-C<N>&UL4$L! A0#%     @ LTIO3B@ZOP]V @  Y@@  !D
M             ( !6:0  'AL+W=O<FMS:&5E=',O<VAE970V."YX;6Q02P$"
M% ,4    " "S2F].UY#&@"0#  #.#@  &0              @ $&IP  >&PO
M=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4 Q0    ( +-*;TX,OSCC_P$
M ,\%   9              "  6&J  !X;"]W;W)K<VAE971S+W-H965T-S N
M>&UL4$L! A0#%     @ LTIO3OU HD<9 @  0@8  !D              ( !
MEZP  'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6Q02P$"% ,4    " "S2F].
M=(<VXZ<"  "("@  &0              @ 'GK@  >&PO=V]R:W-H965T<R]S
M:&5E=#<R+GAM;%!+ 0(4 Q0    ( +-*;TX@PX[YD (  +,(   9
M      "  <6Q  !X;"]W;W)K<VAE971S+W-H965T-S,N>&UL4$L! A0#%
M  @ LTIO3E@6@^6D @  &@H  !D              ( !C+0  'AL+W=O<FMS
M:&5E=',O<VAE970W-"YX;6Q02P$"% ,4    " "S2F].M=)Q\M("   :#
M&0              @ %GMP  >&PO=V]R:W-H965T<R]S:&5E=#<U+GAM;%!+
M 0(4 Q0    ( +-*;TZE"&,C]P$  #T%   9              "  7"Z  !X
M;"]W;W)K<VAE971S+W-H965T-S8N>&UL4$L! A0#%     @ LTIO3A;446'G
M 0  GP0  !D              ( !GKP  'AL+W=O<FMS:&5E=',O<VAE970W
M-RYX;6Q02P$"% ,4    " "S2F].5\Z_2!H"  #V!0  &0
M@ &\O@  >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM;%!+ 0(4 Q0    ( +-*
M;T[\5H#T!@0  %$3   9              "  0W!  !X;"]W;W)K<VAE971S
M+W-H965T-SDN>&UL4$L! A0#%     @ LTIO3G*W@Z1) @  9@<  !D
M         ( !2L4  'AL+W=O<FMS:&5E=',O<VAE970X,"YX;6Q02P$"% ,4
M    " "S2F].^Y.C3,D"  ")"@  &0              @ '*QP  >&PO=V]R
M:W-H965T<R]S:&5E=#@Q+GAM;%!+ 0(4 Q0    ( +-*;T[Q&311+@(  &H&
M   9              "  <K*  !X;"]W;W)K<VAE971S+W-H965T.#(N>&UL
M4$L! A0#%     @ LTIO3E/ V7>T @  ?0L  !D              ( !+\T
M 'AL+W=O<FMS:&5E=',O<VAE970X,RYX;6Q02P$"% ,4    " "S2F].2 9H
M12$"   :!P  &0              @ $:T   >&PO=V]R:W-H965T<R]S:&5E
M=#@T+GAM;%!+ 0(4 Q0    ( +-*;TXV,V='_P$  &@%   9
M  "  7+2  !X;"]W;W)K<VAE971S+W-H965T.#4N>&UL4$L! A0#%     @
MLTIO3B]F#:/B 0  F00  !D              ( !J-0  'AL+W=O<FMS:&5E
M=',O<VAE970X-BYX;6Q02P$"% ,4    " "S2F].;*(G5.0!   5!0  &0
M            @ '!U@  >&PO=V]R:W-H965T<R]S:&5E=#@W+GAM;%!+ 0(4
M Q0    ( +-*;T["./LG(P(  "T&   9              "  =S8  !X;"]W
M;W)K<VAE971S+W-H965T.#@N>&UL4$L! A0#%     @ LTIO3G<<E N9 0
M60,  !D              ( !-ML  'AL+W=O<FMS:&5E=',O<VAE970X.2YX
M;6Q02P$"% ,4    " "S2F].,LZG<+H!  #R P  &0              @ $&
MW0  >&PO=V]R:W-H965T<R]S:&5E=#DP+GAM;%!+ 0(4 Q0    ( +-*;TZ!
M-2J0!P0  '$3   9              "  ??>  !X;"]W;W)K<VAE971S+W-H
M965T.3$N>&UL4$L! A0#%     @ LTIO3J;0 66@ P  S@\  !D
M     ( !->,  'AL+W=O<FMS:&5E=',O<VAE970Y,BYX;6Q02P$"% ,4
M" "S2F].6WS99#4"  !U!P  &0              @ $,YP  >&PO=V]R:W-H
M965T<R]S:&5E=#DS+GAM;%!+ 0(4 Q0    ( +-*;T[<?X^>X0$  *D$   9
M              "  7CI  !X;"]W;W)K<VAE971S+W-H965T.30N>&UL4$L!
M A0#%     @ LTIO3NY4.LSI 0  V@0  !D              ( !D.L  'AL
M+W=O<FMS:&5E=',O<VAE970Y-2YX;6Q02P$"% ,4    " "S2F].?W'J!"T#
M  "N#0  &0              @ &P[0  >&PO=V]R:W-H965T<R]S:&5E=#DV
M+GAM;%!+ 0(4 Q0    ( +-*;TY=9P6Y[@(  !(,   9              "
M 13Q  !X;"]W;W)K<VAE971S+W-H965T.3<N>&UL4$L! A0#%     @ LTIO
M3C;+2FLM @  5@8  !D              ( !.?0  'AL+W=O<FMS:&5E=',O
M<VAE970Y."YX;6Q02P$"% ,4    " "S2F].8R+[GS4"  "@!@  &0
M        @ &=]@  >&PO=V]R:W-H965T<R]S:&5E=#DY+GAM;%!+ 0(4 Q0
M   ( +-*;T[N-A&8S5H   60 0 4              "  0GY  !X;"]S:&%R
M9613=')I;F=S+GAM;%!+ 0(4 Q0    ( +-*;TZ=^L"11@(  +H*   -
M          "  0A4 0!X;"]S='EL97,N>&UL4$L! A0#%     @ LTIO3H,Z
ML)71!@  PD$   \              ( !>58! 'AL+W=O<FMB;V]K+GAM;%!+
M 0(4 Q0    ( +-*;TY2P)F(YP(  ,$Z   :              "  7== 0!X
M;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( +-*;TZQM%Z)
M7 (  ,$X   3              "  99@ 0!;0V]N=&5N=%]4>7!E<UTN>&UL
64$L%!@    !L &P IAT  "-C 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>114
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>115
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.19.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>198</ContextCount>
  <ElementCount>377</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>70</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>001 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>002 - Statement - Consolidated Balance Sheets (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-consolidated-balance-sheets-parentheticals</Role>
      <ShortName>Consolidated Balance Sheets (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>003 - Statement - Consolidated Statements of Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-income</Role>
      <ShortName>Consolidated Statements of Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>004 - Statement - Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-stockholders-equity</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>005 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-consolidated-statements-of-cash-flows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>006 - Disclosure - Note 1 - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>007 - Disclosure - Note 2 - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition</Role>
      <ShortName>Note 2 - Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>008 - Disclosure - Note 3 - Supplemental Cash Flow Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-</Role>
      <ShortName>Note 3 - Supplemental Cash Flow Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>009 - Disclosure - Note 4 - Receivables</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-4-receivables</Role>
      <ShortName>Note 4 - Receivables</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>010 - Disclosure - Note 5 - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-5-inventories-</Role>
      <ShortName>Note 5 - Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>011 - Disclosure - Note 6 - Other Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-</Role>
      <ShortName>Note 6 - Other Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>012 - Disclosure - Note 7 - Property, Plant, and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment</Role>
      <ShortName>Note 7 - Property, Plant, and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>013 - Disclosure - Note 8 - Indebtedness</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-8-indebtedness</Role>
      <ShortName>Note 8 - Indebtedness</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>014 - Disclosure - Note 9 - Accrued Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses</Role>
      <ShortName>Note 9 - Accrued Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>015 - Disclosure - Note 10 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-10-income-taxes</Role>
      <ShortName>Note 10 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>016 - Disclosure - Note 11 - Net Income Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-</Role>
      <ShortName>Note 11 - Net Income Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>017 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans</Role>
      <ShortName>Note 12 - Stock Option and Equity Incentive Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>018 - Disclosure - Note 13 - Preferred Stock</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-</Role>
      <ShortName>Note 13 - Preferred Stock</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>019 - Disclosure - Note 14 - Supplemental Retirement Benefits</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits</Role>
      <ShortName>Note 14 - Supplemental Retirement Benefits</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>020 - Disclosure - Note 15 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies</Role>
      <ShortName>Note 15 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>021 - Disclosure - Note 16 - Employee Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans</Role>
      <ShortName>Note 16 - Employee Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>022 - Disclosure - Note 17 - Fair Value of Financial Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-</Role>
      <ShortName>Note 17 - Fair Value of Financial Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>023 - Disclosure - Note 18 - Segment Data</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-18-segment-data</Role>
      <ShortName>Note 18 - Segment Data</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>024 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited</Role>
      <ShortName>Note 19 - Quarterly Financial Information (Unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>025 - Disclosure - Note 20 - Plant Consolidation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation</Role>
      <ShortName>Note 20 - Plant Consolidation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>026 - Disclosure - Note 21 - Material Overcharge Settlement</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement</Role>
      <ShortName>Note 21 - Material Overcharge Settlement</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>027 - Disclosure - Note 22 - Acquisition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-22-acquisition</Role>
      <ShortName>Note 22 - Acquisition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>028 - Disclosure - Schedule II - Valuation and Qualifying Accounts</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts</Role>
      <ShortName>Schedule II - Valuation and Qualifying Accounts</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>029 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-significant-accounting-policies-policies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>030 - Disclosure - Note 1 - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-tables</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>031 - Disclosure - Note 2 - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-tables</Role>
      <ShortName>Note 2 - Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>032 - Disclosure - Note 3 - Supplemental Cash Flow Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-tables</Role>
      <ShortName>Note 3 - Supplemental Cash Flow Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>033 - Disclosure - Note 4 - Receivables (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-4-receivables-tables</Role>
      <ShortName>Note 4 - Receivables (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-4-receivables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>034 - Disclosure - Note 5 - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-5-inventories-tables</Role>
      <ShortName>Note 5 - Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-5-inventories-</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>035 - Disclosure - Note 6 - Other Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-tables</Role>
      <ShortName>Note 6 - Other Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>036 - Disclosure - Note 7 - Property, Plant, and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-tables</Role>
      <ShortName>Note 7 - Property, Plant, and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>037 - Disclosure - Note 8 - Indebtedness (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-tables</Role>
      <ShortName>Note 8 - Indebtedness (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-8-indebtedness</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>038 - Disclosure - Note 9 - Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-tables</Role>
      <ShortName>Note 9 - Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>039 - Disclosure - Note 10 - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-tables</Role>
      <ShortName>Note 10 - Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-10-income-taxes</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>040 - Disclosure - Note 11 - Net Income Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-tables</Role>
      <ShortName>Note 11 - Net Income Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>041 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-tables</Role>
      <ShortName>Note 12 - Stock Option and Equity Incentive Plans (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>042 - Disclosure - Note 15 - Commitments and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-tables</Role>
      <ShortName>Note 15 - Commitments and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>043 - Disclosure - Note 17 - Fair Value of Financial Instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-tables</Role>
      <ShortName>Note 17 - Fair Value of Financial Instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>044 - Disclosure - Note 18 - Segment Data (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-18-segment-data-tables</Role>
      <ShortName>Note 18 - Segment Data (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-18-segment-data</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>045 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-tables</Role>
      <ShortName>Note 19 - Quarterly Financial Information (Unaudited) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>046 - Disclosure - Note 20 - Plant Consolidation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-tables</Role>
      <ShortName>Note 20 - Plant Consolidation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>047 - Disclosure - Note 22 - Acquisition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-22-acquisition-tables</Role>
      <ShortName>Note 22 - Acquisition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-22-acquisition</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>048 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables</Role>
      <ShortName>Schedule II - Valuation and Qualifying Accounts (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>049 - Disclosure - Note 1 - Summary of Significant Accounting Policies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-details-textual</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-tables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>050 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-estimated-useful-lives-of-property-plant-and-equipment-details</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies - Estimated Useful Lives of Property, Plant, and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>051 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Schedule of Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-schedule-of-goodwill-details</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies - Schedule of Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>052 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Compensation Cost Charged Against Income (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-compensation-cost-charged-against-income-details</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies - Compensation Cost Charged Against Income (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>053 - Disclosure - Note 1 - Summary of Significant Accounting Policies - Fair Value Assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-1-summary-of-significant-accounting-policies-fair-value-assumptions-details</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies - Fair Value Assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>054 - Disclosure - Note 2 - Revenue Recognition (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-details-textual</Role>
      <ShortName>Note 2 - Revenue Recognition (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-tables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>055 - Disclosure - Note 2 - Revenue Recognition - Adoption of ASC 606 (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-adoption-of-asc-606-details</Role>
      <ShortName>Note 2 - Revenue Recognition - Adoption of ASC 606 (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>056 - Disclosure - Note 2 - Revenue Recognition - Revenue Disaggregated by the Major Types of Good and Services Sold (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-revenue-disaggregated-by-the-major-types-of-good-and-services-sold-details</Role>
      <ShortName>Note 2 - Revenue Recognition - Revenue Disaggregated by the Major Types of Good and Services Sold (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>057 - Disclosure - Note 2 - Revenue Recognition - Contract Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-2-revenue-recognition-contract-liabilities-details</Role>
      <ShortName>Note 2 - Revenue Recognition - Contract Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>058 - Disclosure - Note 3 - Supplemental Cash Flow Information (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-details-textual</Role>
      <ShortName>Note 3 - Supplemental Cash Flow Information (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-tables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>059 - Disclosure - Note 3 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-3-supplemental-cash-flow-information-schedule-of-supplemental-cash-flow-information-details</Role>
      <ShortName>Note 3 - Supplemental Cash Flow Information - Schedule of Supplemental Cash Flow Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>060 - Disclosure - Note 4 - Receivables (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-4-receivables-details-textual</Role>
      <ShortName>Note 4 - Receivables (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-4-receivables-tables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>061 - Disclosure - Note 4 - Receivables - Receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-4-receivables-receivables-details</Role>
      <ShortName>Note 4 - Receivables - Receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>062 - Disclosure - Note 5 - Inventories - Summary of Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-5-inventories-summary-of-inventory-details</Role>
      <ShortName>Note 5 - Inventories - Summary of Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>063 - Disclosure - Note 6 - Other Intangible Assets (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-details-textual</Role>
      <ShortName>Note 6 - Other Intangible Assets (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-tables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>064 - Disclosure - Note 6 - Other Intangible Assets - Definite-lived Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-definitelived-intangible-assets-details</Role>
      <ShortName>Note 6 - Other Intangible Assets - Definite-lived Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>065 - Disclosure - Note 6 - Other Intangible Assets - Future Amortization of Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-6-other-intangible-assets-future-amortization-of-intangible-assets-details</Role>
      <ShortName>Note 6 - Other Intangible Assets - Future Amortization of Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>066 - Disclosure - Note 7 - Property, Plant, and Equipment (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-details-textual</Role>
      <ShortName>Note 7 - Property, Plant, and Equipment (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-tables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>067 - Disclosure - Note 7 - Property, Plant, and Equipment - Property, Plant, and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-7-property-plant-and-equipment-property-plant-and-equipment-details</Role>
      <ShortName>Note 7 - Property, Plant, and Equipment - Property, Plant, and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>068 - Disclosure - Note 8 - Indebtedness (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-details-textual</Role>
      <ShortName>Note 8 - Indebtedness (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-tables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>069 - Disclosure - Note 8 - Indebtedness - Long-term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-8-indebtedness-longterm-debt-details</Role>
      <ShortName>Note 8 - Indebtedness - Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>070 - Disclosure - Note 9 - Accrued Expenses - Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-9-accrued-expenses-accrued-expenses-details</Role>
      <ShortName>Note 9 - Accrued Expenses - Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>071 - Disclosure - Note 10 - Income Taxes (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-details-textual</Role>
      <ShortName>Note 10 - Income Taxes (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-tables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>072 - Disclosure - Note 10 - Income Taxes - Income Tax Provision (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-provision-details</Role>
      <ShortName>Note 10 - Income Taxes - Income Tax Provision (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>073 - Disclosure - Note 10 - Income Taxes - Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-deferred-tax-assets-and-liabilities-details</Role>
      <ShortName>Note 10 - Income Taxes - Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>074 - Disclosure - Note 10 - Income Taxes - Income Tax Rate Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-income-tax-rate-reconciliation-details</Role>
      <ShortName>Note 10 - Income Taxes - Income Tax Rate Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>075 - Disclosure - Note 10 - Income Taxes - Unrecognized Tax Benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-10-income-taxes-unrecognized-tax-benefits-details</Role>
      <ShortName>Note 10 - Income Taxes - Unrecognized Tax Benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>076 - Disclosure - Note 11 - Net Income Per Share (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-details-textual</Role>
      <ShortName>Note 11 - Net Income Per Share (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-tables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>077 - Disclosure - Note 11 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-11-net-income-per-share-weighted-average-number-of-shares-used-to-compute-net-eps-details</Role>
      <ShortName>Note 11 - Net Income Per Share - Weighted Average Number of Shares Used to Compute Net EPS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>078 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-details-textual</Role>
      <ShortName>Note 12 - Stock Option and Equity Incentive Plans (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-tables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>079 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans - Compensation Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-compensation-cost-details</Role>
      <ShortName>Note 12 - Stock Option and Equity Incentive Plans - Compensation Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>080 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans - Summary of Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-summary-of-stock-option-activity-details</Role>
      <ShortName>Note 12 - Stock Option and Equity Incentive Plans - Summary of Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>081 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans - Restricted Stock Unit Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-restricted-stock-unit-activity-details</Role>
      <ShortName>Note 12 - Stock Option and Equity Incentive Plans - Restricted Stock Unit Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>082 - Disclosure - Note 12 - Stock Option and Equity Incentive Plans - Future Share-based Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-12-stock-option-and-equity-incentive-plans-future-sharebased-compensation-expense-details</Role>
      <ShortName>Note 12 - Stock Option and Equity Incentive Plans - Future Share-based Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>083 - Disclosure - Note 13 - Preferred Stock (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-details-textual</Role>
      <ShortName>Note 13 - Preferred Stock (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-13-preferred-stock-</ParentRole>
      <Position>84</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>084 - Disclosure - Note 14 - Supplemental Retirement Benefits (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits-details-textual</Role>
      <ShortName>Note 14 - Supplemental Retirement Benefits (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-14-supplemental-retirement-benefits</ParentRole>
      <Position>85</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>085 - Disclosure - Note 15 - Commitments and Contingencies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-details-textual</Role>
      <ShortName>Note 15 - Commitments and Contingencies (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-tables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>086 - Disclosure - Note 15 - Commitments and Contingencies - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-15-commitments-and-contingencies-future-minimum-lease-payments-under-noncancelable-operating-leases-details</Role>
      <ShortName>Note 15 - Commitments and Contingencies - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>087 - Disclosure - Note 16 - Employee Benefit Plans (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans-details-textual</Role>
      <ShortName>Note 16 - Employee Benefit Plans (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-16-employee-benefit-plans</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>088 - Disclosure - Note 17 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-17-fair-value-of-financial-instruments-financial-assets-measured-at-fair-value-on-a-recurring-basis-details</Role>
      <ShortName>Note 17 - Fair Value of Financial Instruments - Financial Assets Measured at Fair Value on a Recurring Basis (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>089 - Disclosure - Note 18 - Segment Data (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-18-segment-data-details-textual</Role>
      <ShortName>Note 18 - Segment Data (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-18-segment-data-tables</ParentRole>
      <Position>90</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>090 - Disclosure - Note 18 - Segment Data - Net Sales by Market (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-18-segment-data-net-sales-by-market-details</Role>
      <ShortName>Note 18 - Segment Data - Net Sales by Market (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>091 - Disclosure - Note 19 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-summarized-quarterly-financial-data-details</Role>
      <ShortName>Note 19 - Quarterly Financial Information (Unaudited) - Summarized Quarterly Financial Data (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-19-quarterly-financial-information-unaudited-tables</ParentRole>
      <Position>92</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>092 - Disclosure - Note 20 - Plant Consolidation (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-details-textual</Role>
      <ShortName>Note 20 - Plant Consolidation (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-tables</ParentRole>
      <Position>93</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>093 - Disclosure - Note 20 - Plant Consolidation - Restructuring Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-20-plant-consolidation-restructuring-costs-details</Role>
      <ShortName>Note 20 - Plant Consolidation - Restructuring Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>94</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>094 - Disclosure - Note 21 - Material Overcharge Settlement (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement-details-textual</Role>
      <ShortName>Note 21 - Material Overcharge Settlement (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-21-material-overcharge-settlement</ParentRole>
      <Position>95</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>095 - Disclosure - Note 22 - Acquisition (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-22-acquisition-details-textual</Role>
      <ShortName>Note 22 - Acquisition (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-note-22-acquisition-tables</ParentRole>
      <Position>96</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>096 - Disclosure - Note 22 - Acquisition - Assets Acquires and Liabilities Assumed (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-22-acquisition-assets-acquires-and-liabilities-assumed-details</Role>
      <ShortName>Note 22 - Acquisition - Assets Acquires and Liabilities Assumed (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>097 - Disclosure - Note 22 - Acquisition - Pro Forma Information (Unaudited) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-note-22-acquisition-pro-forma-information-unaudited-details</Role>
      <ShortName>Note 22 - Acquisition - Pro Forma Information (Unaudited) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>98</Position>
    </Report>
    <Report instance="ufpt-20181231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>098 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details</Role>
      <ShortName>Schedule II - Valuation and Qualifying Accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.ufpt.com/20181231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables</ParentRole>
      <Position>99</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>ufpt-20181231.xml</File>
    <File>ufpt-20181231.xsd</File>
    <File>ufpt-20181231_cal.xml</File>
    <File>ufpt-20181231_def.xml</File>
    <File>ufpt-20181231_lab.xml</File>
    <File>ufpt-20181231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/srt/2018-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2018-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/invest/2013-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2018-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>117
<FILENAME>0001171843-19-001752-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001171843-19-001752-xbrl.zip
M4$L#!!0    ( +-*;TY:3/1^ U8!  "0$P 1    =69P="TR,#$X,3(S,2YX
M;6SLO6MSXSB2+OS]1.Q_X'IZ-JHC))=(W:NFZX3+Y>KU;G79K^V:.?.I@R(A
MB]T4J2%(VYI?_V8"I,0;)(HW438G9J9DB00R$XE$ LA\\F__]V5I2D_$H89M
M_7(FG_?.)&)IMFY8C[^<_;CO7MQ?7E^?2=15+5TU;8O\<F;99__WTW_\G[_]
M9[?[*[&(H[I$EV9KZ6'A63IQOMA+(OV_SW??I*[4ZW]0^A>_23\>+B6E)T^[
MO7Y7'G:[G_[V,G-,XP/^OP046)1]-'XY6[CNZL/[]\_/S^?XS;GM/+Y7>KW^
M>\-"&C1RQI_/_N0'S?8LUUEOWF!/4Z*=/]I/[_T?X4UYW.W)W;Z\><US'!"%
MZ#W_UY07=6*DOP,_X..3Z./D15ND/X^_I+Q@6$^$NNFO\-_PI7[L)6H/%'F\
M2VS\B> %T[#^W/$T_CQ3Z4;(EFIH-)TF]A.2)$=)LFS+\I;I?>BN\]Y=K\A[
M>*@+3Q''T(+WJ*&E=P0_I'1#G:VLYBJ=L?;ARQ3)4G?E")J&7U+:=KG*ZZ#R
M$3[NOOSZU0 1/=)SS5X&3WOSE1MY#+_ !Q@ILK)MUZ/=1U5=)>GV?TBAW7,=
MX7!-W\.O9Z&)IL<TU']N])[_N'DTH03/??:L/)U.W[-?-X_2M.>@3?G]__OM
MV[VV($NU&Y^9+]0XY"TP.I+T-^SU V4_W9&YQ*CXL'#(_)<SE&<WD.7Y"]7/
M_)]1E7XYH\9R99*S][P=F(T?+I;$TN%_[E=3?90TVW+)BWN'3>F_!R+NR?RC
MK#!I&_HO9UI7GIQ]FJLF)7][GVAGV_PE,Q+N5X-JJOE/HCI7EOX%S.4A/0W.
M/G7Y-[PK49O;7K_8FK?</'(+4\?6O\)W]" &QV>?OOZ3=REL4-0GDG5XCZ.S
M3_AM6I^;!I,]<G)R"%8>\O["PDUM--GG ZC305W!(,J][O]&.\%6MFU?6:[A
MKB_A>T<UK\&JO/PO61_2B7+VJ0?_F<H#>3CB/:6VF>C27BYMZ]ZUM3_O%ZI#
MZ(WGLN4>S%>D?^/W8 GO#<\DG6C&$F; +V?7W[]N& 5J/,O@S[,5O4M9FV>?
MQH/>M#<81PC;T7."2J[V=V1E.R[\?N^J[F'Z!>KU3T(C_:>V&>_Y"A:?1_CU
M5\=^=A= \TJU#AJ8:<14[&@TWC,L(<2Y! U\M)V#>@3-OM T8OJ^&6LGW'ND
MX7BOM][,-+2OIJVZR>&'/D==91H>_NY6S970Z/ON1-<#*_Q)[O=[0_R_,!6A
MCN(TW)%'@X+26NYW=7G85#O[]./KK?1P=?G?WV^^W?QZ?74O77^_#/<;;3S>
M]?V"F&:.49;[*<,<;BS1$8C/_.Q1PR+T,$/9._OD.EZTHW!C\9[^;IO@Y*H.
M'_>#^H)5X+L=[BC65KRK?P"__VO9S]8]42GL%O1K2CWB'-+E)-ZEH,UMUP^.
MBB;C?KV<V>8A7<&0H<O .XNTPAOGWO2'+[ :/*FN\42^VR[LDU3S8HG;AM3I
MH6!7VS>NP7EQF+F_,^B?%R\&[5[#2V#LW#N8@/?/ZNHWLIP1)]VB#@8#>33J
MCT432^GQ__SM_1Y:<S/$!%8V0P-9:"G&\D"9X *6B2'PXS^@FZA[)KF9_UTU
M/14?NK#T_\]336.^AA$%4X@OT"_@2I@V]1SR #Q^-F'9R:XL5);[\F0$&O-?
MIOM1-YY@2[PVP:G4#;HRU?4'R;# U20?I3DTV9VK2\.$+UUC2:ADD6?)L9>J
MY?]*C7^3#Y+<6[EG__7H?HRU&'_FHX0D=H&=1^N#Y!B/"_AJJ>+Z\4&"WZ4>
M:R40@W1]C0V^AQ;Q:^F@UC6"8YG6_'^IR]5':T97'T^P]2Q#]DQ0LA\DF/WZ
M1_9:?"'IX$IR'B;PS8CBTK:H;1JZ[T]8L!\S5%-"CXF@+9 "[:M<.OGH3Q=J
M%01N;) $CJRTM4)28(9.3V=P]T4EV.'"V&>2/_L1OG.A:2TV)H:U (ON1I^T
M; <6"CY4TA>BL05$ZLL=/#6<=*3XH%5+ 1[I1>2((UE+MZ,3-RXY6T^V%$P6
MR0%E@/5_9I*.!"ZN_8PG0=""(^FV-W/GGBFI_K,?BG9:"OD?P:<P;>>#=$?T
M,]$P;CZ[R%G0\LQV=.)TX7U375%H/O@$71A6]]G0W<4':=SKK5X^GL$PF"9=
MJ1H[J>_QOU>JKOM_LRYX'T[0P1.!?:ZFFL%(SFS7M9=G6VKTX,GGA>&2+C;/
ME/3945<)WR5-*]+DZ.HI'23:2AINR>>FR\F$!_/V"7($5JQ?SOIGAS&80E3:
M3/ '+J#SLZF":PG42FS-#";WI)5&2!KC5AHA:8SBE+UWG2V5>R8P= *-/CI@
M!?6N;WV<Q]D[I3?H*/U)1QD.?TZ=Y-R@#(=_W3.W33+G.Y7/JLGLK^I*,P(V
MST+'QIY+:_ 0Q./I]R,GN\EL+L1-""C]:7];RK[&V%8KN]=9:/$?#97$VI].
M?9IR'BR>8C)OART8MN%HW [;Z0W;8#IMQK 5-?/_0/K2;/M>PK9+*/X54I!;
MQWXR,!R$>=DS59=T,G,SK];Y/<#<&M\8M7HW[!50JVP"^;D=B0PC(:=LI<L>
MB1P">=-#HAQS2.KPIP^PN9%MB\ 0_\-!.=CS.>U(%G'1SW:(9@/-!J$'#'A*
MGYFU9_?NI<R94JBG6HU\?U) C\L1:/9%H!W^TH=?;H?_#0__L(&SOPF[B( G
MY5P9KA*G1<32]Y\3[=7=4-NYE8JWP6X/3))5XCOVMX4[J?>X8E"V]N:29R['
MM=6&1ITYMMKPNK2AV%%F'=H0+'/^'WAUNOTMY=+\;^\+AH?Q&#,,$?QP\?CH
MD$?5)5_(G#@.T1_4EV^&.C-,PX7MV'?;XAE!XABZ2,QL/QP.-QX-1>%P UF9
MLO"^PX@HA_#Q?L)'PL#$P:!7C/ @FO727LX,BXT;1B$9.D8UPQ\/CFI1WMH_
M;.=/&,E+=86J?Z'_X5%W&6=)#P=HACX&_5QH__(,:C#]P*C&+P8QB>8ZAD;W
M!32.9448T*@,0W(H@:?=$KHCFOUHP133KW5XV)@;.$LN*"4N9Q!:!NT/R1Y^
M\Y;P)7ODVM),#\WJK[:M/QNF*0YQS26VB/J,Y8%0?2;R0!GLE%O9G%8D5S_'
M(/R#ICD>"3]:L9 G(B%/!Z-J1)R%Z9"\+U6Z,*'KJQ?B: 8%2\UR0FY62$3&
M<'5AK/&P+S2N >N[^R] Z'A+:(HM31 JG WR6-D.5&74CK;4CC)0*XQ)ET>C
M/-3:F*6DN?\PW,4EV#I[29Q 7=8P6QVB4O+%(P]VQ&+>L?@PHG]U[&7PVL$J
M$UW5AIC?(EJ.)Y,0;R62'))$:(WD<PT^!-]=O:R(10FFE,"_@3/SF5AD;KCT
M,K\+,A@(>1Z,MRP7IJU:/O=[+ .A->A/!]7P>36?@ZUFJ1,:C#6TA(D2:%PM
M#52%+_SJ2]  J@5+A\/T:CW<RZ5-,3-1$WDV.S0\*H3)-)&FMP*_]^Q3MW?>
MD_N^#*J@NW:Q[#;!4;%,>[O$,GA-8DFS]6%))/,XF22D%_K!,LQ?SC#_+$BD
MSDSV#\O9>!0A%K:^[2&I:;XFCYI":)JBA0D=-X70W<M\S%!,=LR(GGS C-A/
M:9CUY<JTUX3<$^?)T C3[\]Q_89-(R:(@0OZK#HZ?;!AFQ37_^_ ^<,S,9_(
M;R"&1:JGS1/<6".8D<W\ZX  L.O0#0G(V7HN>[SNT501I^R%/(C*&&V2,$-I
MWH'8PH(2;4]VS(QC<W0'#</>"QIG7/T \NG=_8_]2B%T+(<]Y;5KQ0ZY]'M"
MN?1[)RH7#EGA.:6;G+#<1/I4P]PYE+_=5F @TH &<I)W]HN3GBM1\H"MHXAL
MEQB$*!$G*8:'A4-(I9-<M&.M:6H<Q.#N62X\X6HB*WFG^0ZPAF%5"LX8.X[4
M=DE">/)\JI)XMNO;0?3%5TI5["!\_AH@NCTV1+1\U&5#LC.2VX+TQ>?/H]<U
M]+NDL.-$>E"+%+Y[.% W\V]XCO] G&7:U4GDOHX]>>$XJO5( HBW')?) \&I
MB^+S+"(L1/NMJ5KN%K4#?BT!_F8XK@K^AN?!QU+8$RGNHE@@GH#?=>T52\+?
M?!%$H_#O$BGTVV 2<= DM+DC=7:+2;(S^:UW/C2L(O E[ZH/_U$BJ4L_[PX%
M*L *4TPIHIF[^MH5\Y,=E('__W84R@!ZB+5Y8]6!C?*;ZF@+"2%18(8.H\ H
M[H)(6^"ZY=)P$:S'M:6E_<0@,]#V2<^&NY!4"2BS\#<-38ADK_R[28K!NK!,
M27<J$*):'>D[3-[_(0XEZPY[R65H*-H6#RC\LF%!D_@ZO#7SG#4"*W: :$I5
M;>%1XKJT(\U5C=V0LH9LH-J1$&G)_]H@]%QZV++"QNHO+P@]^9$RH\ER$Y]5
M[$UR"%U!QP1949DY,RR/8,JBAC+'1V8!Q!YPAB+R.8N2@3^ C=463!IS]O?F
M 6@DQ ^G3L4#;QZ]X1!3]27M+@P:D@U# 7+0=T;@69><EZ=N5:AP2.H2+$PV
M<F9KC#?5-*/CS$;YOU4PEPO#-!-CC#+]O)[#JJ?'?@N-,]<D,+@JM)=L_5=B
M.X_$M9\M01-K%'EB9#9$A8D(6&'M/Y/0F*!:U#!QXZ!&P\C4W:B@"JN/:H98
M#Q'.=+YFLO_'@TG4[S&2QP6@SRH"V]FAP 8/*0357:T<^P5<+9>8ZQID]I-R
M'LD0 L?#-''XC#I6"-AKACOOH@<F$1ZQP&866"<+;^M0GW I0+6+SJZ(_0)C
MS$/E0)+P-C-P*@>+1,M6NW#E2:\#SG]$P,P (Q()F(-@IRU1 F: I9^LU#6_
M"L59%II.&CC]:*IJ9^%\)-(/6*F1C\UX(<7;/RBU-8.98S9R3ZKFL[U=U3H"
M\P<LKM"S);YMKIWI_B@Y;L"PR=P/%[8P?LPA'Q6PY+A%DS25+B18E,$8^F;[
M"+.YES9:]2SE_]GM2E]Q #](M^HC,'1/_N41"P/OA]./$@:T8Q=2M\N=Y/A+
M[_&MX-=B1%9BI,'=8CG-#IH7YG/9B/&&2HV LHZGN9[#<<BIFYP!^$;46DF@
M II'*=K]F>_VLL?6Q\4P'">6^SIV=%$0!.D=,^"V1Z%_^G,1N+SMD";A[LI=
MU_/ Z64\1M@%MR<B)M\A0C&<O0/R?W8"3>Q-[$F,27(++TXGKI*^!F"TY>$O
MCB/:2KY&R6<$&]F5#%V=9 ])V,X/S[EG#+89=WGXW/,.ZTC'I9TMS!\D5BB)
M_<;>OXLL[WC^3A,">P739GQ2TR:R#VSG3Z;!.-;JW&#;WPJIV4)J_IPMBFC;
M2X-F+',EN-L<(V43^2[(R*.L4$FZ2@+[R4'T3X?1JA0EMDY4A3SR&/4/=X7V
M 94>;W0+J&0[5=JILEL> R6)N/KVYHJ"Z]UIKNI9H<=>KP<IVLL>3:E*-0@%
M];L %&RK*\>FI-65-['IVBOCW6!M.7CGE\,I-X0YE;9D\@Y6C?*PTZIS*4\*
MR^ZHNZ[C#F=A"]Y.AG8RE+BO.JW9<-Q5>A>P9;41%$V(W.0!.SS2A\5Z.40S
M54J-N1$$'Y)0X@!\MRT_:\\E#CXBJ53:AHQKJ?>,FY]Q+^_82_8U-G&OFH0*
MHUS]Y)M,F37A3!S'QXUB26!?C"=#)Y9.@QR>[<^8N73KQZ#?X=Q&2%+7,68>
M\/K5=JY4;<$>NIF'4N1N/)>ZJJ5S'RB:SM.;=GO]KCP)?=P!Z38=B-!> J"7
M^EB)R,_6"-$YTE$(.RY E-._DX/AL**I9LI F' G*^-0IFH64@I3OANQ*DZY
M,$EN-![73/AN8*$XX4(<MF$8\?9PPC',=<WFZ(6E7_W+,U9H(*ZHRV)&]1^4
MS#WSF_%$Z /:V1RY<%I7Z34B#^Z@ #8Y"%\3!K'5ND<4$)C<.HH2\O*LQBQ?
M<F&;L)HL5PZL-BPNO*%G/2DWRVFA("E.5Z/\RI/J(9I)FLPCW7EM+W264SXG
MO*4B'1^J@O<+VX'WT>,A@5V4/&88)=.8$\EVP/=:J@8K[[H-T=_)S''JD0C,
MB&_=1OV_YA;29\\PT0#S)(RPO6!QU"R>?$^6K)#JS5U3[9>7>"%82)/JWH@J
M/2&\?PZ!GQS[W1R[\%/E51ID/G,XRK%VJJTI$&NI+>!'9\VWJ_@_:>.N1JQK
MS-PTPSL1>B0-5K!Q&:;DI#C.83Y.BC]Y6)?%*.B2Y.;PJ^? +MES2$>:&R_X
M@798$KCG(M#]UG90>^X^JPYI34<5BM9O3<<K&U$IF9J5P71L#^?33H;SGSZ%
MSK#NR!.Q/,*J0]C) A.;PC58EP 371_4%Q_F'7-],YQB_?Z;^H?M;"I/,'RJ
MWXB.=C")316I)=.3AX(3XM[Y<#SUQ5"(@>H$D3Q7+2(( 9P["&(P'C1;$,ES
MVB*"$)62 $$,^LT61+:I@5<]'ORU3Q**H&8"2$+NR\V61+:YD5D2?;$D!J]B
M<F26A-A>R@.EV9+(-CLN//C#QN(/>V4A-IER;]AL662;'P?(0FPUY>&HV;+(
M-D.RRZ*_PVY.QLV61<8Y0AR;7=!@!2F+[I>(V'[V1J_"RSI8(F([VAM/FBV1
MC//E4(F(K6EOW'!KFFW67#' 7-M*A<R-"4-L3GL-MZ;9YLL!LAB(S6EOTG W
M--M4.408.RQIP\U&MDER;>D>!E;MWZ@-=IC0IKL<V2;) ;+883Q'#9=%MCER
M@"QVV,ZFGV1DKWDY[@U%=K'A-C%[ 4O@463N&LYC]I*$P*/(CE7 (X.:IK>V
M:6AK_O]YP@61[LF@7QEV_HFU>%A@>([+ Q^@PQ^]S!%8AY%500S\I8^$[02D
M2POUB4@S0BQX3R<<8)P<'[X2II6.>Q0]&HW_6349WN[]@A"78<O;UAQ:#>C6
M_*K->"$IK1Q"<<HQS-<P@*\:"OOW@7KM.5@#'EF.PL'9S:&^$T]"HY[I\FP!
M%1%U>0UN_#/> H?!13.S>43E1>HC<,E(N(]W#&34CSX['2-L;A1M]AI(U74#
M.>YL\-/W:8U@T#8I%!3YPVKMTE?3?J;2&P=.[40DSM#P=8]4IJ#!%%E@Y9B,
MZAI]H8'*.Y43D,_U#.!/2F^4Z+I5Z) PL&X&K]ELKIFJ4A*Q('509=D1DHSE
M"EPU"2;)"BFQ/0I:ZA L[  C9<&28O@97C@3' )S 0P7AN:B1N-6)YA%H?<-
M2G%2S T+EB9\A&[LG3#/2_1YZU_N\ M##N2]MB"Z9Y*;>:8:51=F "EV,[_;
MU,H&U]2P=9:W]GF]*2^6/W5ET/34E9W0RX5R5]*BM[*!1O@Q8'^9#*;CSSMB
M\:-.8?F0I;O:WZ2+R/+1,$?_R4SK%3.M8;M7)!@O_Z@E^,JTH=@'7,LF;W>&
MLY?%X073-U0&Z$/"@AQ)%8X'VHR&Y\UR/GZSG(^.$:@?@'X.TQ #4Y$$>,XQ
MO(^+YZ.C!DF !^(19C;ZNR -4PG\:7];RK[&ZH28&/:2@=BYH/>RB:>8S-MA
M:X>M';8RAJV^I(I4PA@@@&0S1("]9CRO-I6GVHW1'WDP+: _E0GD30])?](.
M2;.&1.EG+-Y3R9 T%+@QV(ML2]M+W IC<7M)9=75#QC;7%N=Z!%2493FJGNJ
MU3$8%C'L]0FTU8-J]6"@%'$06SUX+7K0EP<-UH/C[1YV@IQR<&$J..8MH,QA
M(-6\6I8+.'/'_O:D@$SECB(G07J/ D5:AG%K]:&P/O1&1;9-K3Z\.GT89BS[
M>31]R PF4%OT0&K$PE</H4;2N[KB$48%8A#Z;0Q"KAK0C8@O.-X%HX_]^C:9
MYW>62,_,D=XSXMC)R]N4QO;\*2D1=A;U1K6$;5Z.<9;HV\/!)/.U$JP+TQT+
M=#/O 5,+BQ[MA+J(\_N6;F\;-6I)8*UVT!H_:,.>T@[;"0Y;/PDI^Q8C)92>
M7\^GO?2M<$EMK^$;MERV U+%Y:)<Y(RM'9(JAF10Y)[OV&M;*:$JP3(GMPK3
M&M5V0-H!*>H(#HOL'-HA>75#TJ1HE> T&M8[Y8"!:Z.K&F.SVQB[5@M:+7@]
M6E#HG+%5@U8-3B#>MJ*4$AY@M?T>GPHYNZDWVFU478UW*$T/J6N5X82]G587
M3E87Y(X\;<.O6WT(I6<,2\\W.G[X]<&AT.& :F+.KPV+0@/Z?Q/5=!?7^ ?"
MI-XZ]J.C+N]=>_7-IO2"PS0>"'%]_?UK"&1X-)V$@<T-:@\4>=SUJ'[V25&&
MO5XO8.Y LL(<I4>?.P[B4"*NWN?U]I%;=8U?L<!S/WCW5P;3D GN'LOH?5>7
MA &:/RR(TNOUKRT,AC2>"/Z8A#:/R6.24C>$)7;1LT_R)"R04K@J0TSL6WK-
M8 LO-,U;>@B-^Q0%S3;*%E,2&WTC)J4_FLA*43F)V&J R+[;%O$S++X8#M%<
MVV%AQ ?*<# 0RK#?WQ05J%R ]%8U]*^V<_5"',V@,)\-C5Q8B'*.*.@+FQ6U
MAP?2*<E4>V&32,++<?C"@TY"HF0BY+-CO^Q2,-T#V8V&LAR674'^*A=72GF&
MTL4U$D]7$->@N>*Z>"*.^DA^4YT_B<O>/9*^3=*7R>X*_(^H0)71^6!8HD23
M(CB"C&M1TD%V&0_/A[WCR_AFSH20XIS4HI.C8C8PH+X@J[6HAE+,?NUC-:.:
M[)PB*?YH5 [;#"3&.\LYNKO_L9_[L9)]8HS/1ZD3XW .JY35WNF17U:C[+(:
M"(Q(LV2U=W[EEY5@[Y<F*^5\HE0@*V.UPL(ZEO[?JJ6;\)%E'A>NG*.\Y<HY
M/*59=(C%,Y6[L%MGV<J;+X)#%/Y=(E\YD1(=2YG>="Z\)H(>MT_%DT"BY7MV
MYHL4K_3SSOIY]Z%3D<8#G69%!P*MEIA:[^HT_9A)BE&1/,U*)I[+I1<<"EID
M3&!-!<^O,Q+ ETLTS/0B8!I++ABL>!8O7Z+!^UA6A*HFH><2/RFB6)'$>>3M
M:$%).FG%B]3X)7Y<5FY"8_W'6\4Z#[S%A'RSE6?(:(7"=@OM+)H\H/3J7Y[A
MKA^PQHKGK-DOA<W7L#5??ILIY[?'-&#1T^,_0%N-^7J/5=MUO%ZUH?O7'D,7
MM+B+JSP=!],A!#APPG;O@17#6JY4:XU%D[C58L6! C8Y+CRK^\"++*&E6Q)W
M8>L=R:/,BM52AVUN.-0-\]TUK,XQ^I5LSY7FIOTLJ91ZRQ4O/8;+P_/&?,?E
MIX)Q9]!IL$OD!:AHR-"R<?W+"X( ?)0(L[J\9%8P-+I13PVB*)\.67D.+&$4
MRPRM.0H<JXRFA4L&Z)X3*,&1JTE-I##YM563&A^\.J>MU >MN^$%VUO"]%[?
MS!'TZ!EOK6"G\L7V9N[<,R_\*0WKOU\)]$)'(\AJ/N7'+!K*#<<L.F9]I"18
M2?YK^8@N"L%8\O79 ("62@KCG+(TRB^6<\K2.)$".D&I5]659@3\++:S@U42
M5\.]GG#3$"L:5=MC-&R!1DYPV(:C(L4"VF$[5N+\M A@_JO AQ$&WM\Z-B]T
MRC;',U67=#)S,Z_6;SE3]5T-F:H_MR.1)2:U!2MIW) HQQR2AB9!R3LRH/[A
MH!SL^9QVV/4(^-D.T6R@V2!ML9WC&?E");O*$6CV1: =_M*'7VZ'_PT/_["!
ML[\)NXB4=*K0:1&Q]/WG1&VJ5O7'%4U/U&JUX53.'%MM>%W:4.PHLUE)G"5=
M%$?NGE<KDV5JJ>8=<0V'9VT1B\P-EWXQJ&;:F%>9XY*9RG)?G@Q&C;AH+BM0
MBPW4'H<DB"45!$Y5$E\5N;#C'ET-1Q^15;>LL-4D*V$EE;9:*@5JNJOC8'*5
M$,,5&I+2HKBV;8:#A59X5JW#-  ):0[!\"05 Y'"<G"V<ICY<F GVQJ/3?5_
M1_=T;L!WM".!@=,6TK-AFD$'DFK!?RT/FO/;V,:S&A:P8NCP&V_W274,VZ-@
MW)PE?H,F"*])*5FI#L\>G,.,E7@*#=(5#8#",QX'PXJ@3\+SS-%U5E= RXNQ
M5%UBKFN(]OE)Z?1ZO<ZN<:NBUS[V&NFTGN"FGP:)CEEL8 -"O3I2?-Y6'^=U
MA!' *(BHNCF$KHB&V<ZF'R2X@J]P(C^IIL=F!8Z/:+;;,UAF^(1;J!0F+K$D
M6'TTCP>\\X!.M0;.!N?R7R.,H;5BL ]@#P@3KT$CT? V\.5(IJ'.#--P#8RS
MY^5IP0;\05CY]3F#IP"&Z )\869':$1E46.1PR.H[#2BL<!;_<9KF+1>#O'5
M)XCAQ"!5DRT:S,":$>U1M[GY=!,3C*QLOQ<&0V[<T -]1M_?I-U'55U]"!S5
M6W6-JS'XJ_"-XQ']VU8O2G \^\V(<&R0XWD"'F4D?*$ZA])7.,G'NWD=#F3
ME.]<L61H:O"D)C0+6Y?M'9AB=P'.')AH^O.'4DCX*/F'KG=$+Z)DZ9*ICL1X
MJUL%JZ'VZN%3O,S0YF('5<GQ*UAE<GRT0-7P.E_D#J*-.&\CSAL0<5YCC/5X
M;WF\C9$))]SO/?UJHSQW.$G]SE!I2)QG.W ''05TAOTBP6*O(D"77Z$')Y;O
M)4K,>=<(\!KQ<(0X3R2SA7_+H8?C29&+SLH$\I:'I-]O2]?A2PC PTY4\/ZA
MU9QL\-.%0O#:Z5S%>=3T;=;H"CSVI4$Q98;B43P[^6J5)L,:,#GF&M .2=J0
M](ILF(X]CW,MRZ+#N!N\@SM@R-I ZY+W@*-^Z>&);7&M$]0$N:-,2P]-;%!]
MK>S>1\&8U[+;:V-HXZHZZ0S*SP]I8ZI/5A^&G<&HZ674=MW;"X);B@6H[(QR
MN414TEA!'",2N;)%0N[V0X";PZDL0/<_^S2:]$>\Z,O.3O,1-MY/V%1$V$">
M]'(3=D<T8CSA8[\Z-J6Y)3<:#@5PVV>?E,DDJ)>3J?=BE.X3)5"ZH]!1K]\O
M0FE,<?<1^?N5X]C.I>U@Z1C<^H/ZWSJ&[=R"2;#U4$X!(GNKKE_E)?2'_R#,
M&@:AZZ. :Z9*J3$'UP%;O9E_(7."0+U^K@+' __]/FCD7B,6!ARSMS=_;#K?
M"Q_>'PMG31?<KKA TX646Y9[57,4J7D2(6\"2VW%Y.W5Q]%( .I_]FD(EK\
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
M%9[_MJIXFJHX+NMJO#FJ>/S58EM#.?Q&IER0M%R._8D@GJ,M5$IN'4,C/JX
M?/VK;>O/AFDBE !B(CRH+U^([FDN2UQ.9IB*,A1C::6*.$5Q,)[&\J9+I7:O
M(.A6C'BM\LVFE.>N8E4M#Y98_]H?GN1UKBX7JO5(Z+6UK;V%):9>7$>U'5B3
M56=][9(E_4[<FSE05%WV523]<BP/Q0  TT$,BN$8@FCB4)25\Q4?BEWIR-.]
MZMZ@H8 WMD34I\KBG.I!O-!?9NI+8[HJI1$#A_7E6!IW!4S[Q?WJ&V,QY..T
M/SQ@D'W"2^"TJH$5EEF1)[U!K(I4;DXO[>4,9CJC</NN7QKATJ;9 &;*27E5
MQ*HL"U;[_>17R?8.?(<=>'Z]2?K8U<E+&L!)F/I<)>2*$)2&-Q(F2.0)'DH0
MK(;4T/UUD%4NG1/'(;J<.M[*9KP+@$+$YK6PMLJG\6@ZGNQ3#2$#>UG_8E#-
MM*GGD!S)VQ1+J4]&S4C@3FP!>=IVU[57+'5[\T60B<>_2T_>WG/L!FVF':WY
M#?7.]NQ@_<<PB3S[OC"2:<A>>U?]MEZ)W"SLR7 JP$IH[F39YL;VN5*LU^1Q
M0"2%WS\=,"R=6&YD'%+WV@>VO@4(X*'>5OS]"H9)^DIFC@>NN21W))RE4I@!
M=T$D!%!2K;6T\K>_>@U4P?K\UX@@[;F$M-B>2['$-,:_<[@*_$5C*,5 #IH@
M^#MD/C%.\;R#M%-/M5R8?I+J/QCP(ZF/#F' BA*T+#E\7=E^2SM I@._P5?P
MW2/\NGUWA6<!V&?U,OEI$CU]W6@<F$83RP@8EJ2I='$N/2P2%#ZK5*+>[ \0
M"Y/!IA* -&-#ZJV@@9#<6.M_>0&%F'Z4GFWG3Y2XYE=,5ET)+3]\=2Y=@%@V
ME03JD((R['5@48MKAQ9>QQB[*]70I=E:"NLP?*W""%//= .5FAM(>(+%C8"
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
MS5+/=%VJA@\G;0#;3&B&Q8"U-_P&0NE$937W+!V^VR\IUU^?R(M&,)B,@'4
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
M(L]S5C[J#T]_] /[0/F)Z_+T&![]UPEDHSX^.J =+HSS,R.<ES'"XE/0/<N
MAAD#3)/Y'.P%UET1IEIMR]!HML4#";%O3AB+A/,#Y&PK<ZA@F,50W/]!H>O)
ML'?;8ED;MZISX[#D#YW5Y+@E#LM7R)$+-)P.!;7E4S)C>N>1)(;]!)7 04I%
MQ@0'@B*3S> @R#K9E3DR$.1?5,H!^Y5>>.["=F#-TO-ISTB8\\+J4T=SR<2=
M%Z RBX:,:Z'RFE(OKQPG0@K'\'NOI^P@D/>;D[@LXIN*B>OWIM/>M"AQ-YY+
M796'->81WTB<I3;N3X:#07\'A:'.BY"909"1NKXQ,I5)KS_<I899R,Q9<7@H
MS(]$]1/-CK1Z4'M)V5=A=QA-HXN2TC^,%-PELV4;%MLK\'3L-2&?B47FAGMK
MJE;^\E1@K]LDL<@FXM"]1B;I'2=)+'(?4%V26*"0DJ^1$E/)O*=5!^Y\0P-1
M 5I%>E%*%?$/@%%F\M""@IC Z0=/FX"*L8J;Q)<)[&_0.7:,F5\%$C=UT"B*
MB.5++%6=!%L!K.?%]S^NM@@L<^35H-D:=C>#7B3PZ-V?/X.APY1BL'2=<%X2
M]*TYA"4MP0XO)IF@,*1.7 2:P,J0LS5C]K.M.JS6Z1?#@7V-[03E;1&:ES]6
MPU[W-]71%I(\C&QX>0(+DD]4^'5N8 (7@RN)C^8SP927^@\L(T-3\X%E^H%A
M;>>5X]3NV_/*DSJOK,]J8SHI/[TR6-5>2LQY-ZCQNR"JZ2)J95"Q%2;RHZ,N
M>7ZF9C\%%<,W=GT51J (6WGL<ZF^\&M4(Z@!;%!>!);;,Q78L5>2:=.:LA)_
M4I0A KQ$1 L[<2D0 'RF[+;!M($=AN.#ZU)P)!6B-VG +8;R@(QLA&(%&:BG
MHQJ6=/5"- _UNB,ACNF_/)#TW$!,JA!BT=6+%L<K8DMX!-8H6-C#C_W<D9X7
M!JPB!NJA[H-RL//*P*?G[H/ZI!H\B15K=?L)Q22@S=<PUB>';*(1L>-+K'&8
MIQHQ5FXP+OX)JN%(FN>PE.)(UWC?)F$JL2/I.. JC;W%-82E([NP4/-#62=T
MTHC$6S 9SJ7;,#U^,7;8_U!$ ?'WZXZJN1X[G@R.#Z4Y.^\.#0N0M%+76\\!
M]EX\US<0+Q,%K+L@49^G6I9=RXZH(>7@)N 7$FVA6@9=,@>-32QN/\),/<,Z
MQ=CB!]CV# P*/X?=.'\LV_D$ID]$?]!D+(BI\V'DZAE2@P[(Y)$ >PXW+H_,
M?P;]09M"TJQ*^.WPX?;&^01;C,L0DQS%2@[X)[ROBN?75MI<N4)JBJLIZA'"
MV/!9'RI<'MAQA!J@O-/-J;VF\9'%96"FFFSUH M"L&3\Q7&*E$=\V-K<A'$2
M6RZ0AW]YDSXHVT62H;WA"-;M1ROGO6/ZLK'N$T7:.U&?BRT  >X#J"O!Z<77
M%MQ(LED8VTBJ@?WIVL\PQSKL\HZM,;#$D;#?P\JW<[-EJ4N&4+$U7BK_<\:V
M]V#TG76'=9D^:VPVW3F!FVGCJ\*.:<.DSA $X!D>#(([ZIE*$>:"-\UO5=G+
M#&Z<,O./:\,3'IO1H!O&#LY:;+-5KUCW+21&E1O$XVS6QL4P' \X88Z?35LL
M*)B]>LNL2(ZS:'9>/H'_5G48?0HM\@-SO\W$8[F/Q!-'[K$C^4WW>P_,RXO/
MR1N&$X!<%3_%3FG\UC%@1[,R^3(24>PL9]G%C[*KB[7D;GO $-%#VS<:(&\R
M@"G3T\EFH?8"!SDU?@3_^O'U5GJ [8]EF_:C@076KBWMO"/A[O1Y89NF[WC
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
M%MOY&YDV_B%+_>.PZ1<]&#":<"X08N: &67[6.[<@@6-43\#%^T(3K<(FDN
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
M_PV-['"KR]FL1,_YBM8'K;JG.I55Z4Q'R?*KM9=<K6W;VFJ"2!/ZDU8/6CT
MBS"9-E@/FE04/501^,%&N#\K.#HLH+WA,L-YU2I73=D=V]J3*O,K3WN=P;#(
M246)=7K+L&>M1A0^ !EW)H,B+GFK$:]-(T8=N5_D.*,.C4@'PPT3'0K@R!*:
MD8CF\ OI8+S'%@?ACE==QI#7$%)"D(Z0(\Z#RG)?G@QZC8CU* O[F8W,'C<D
M0'<68#97 NT<N;+ER,XUS*?(5"H+2#K)RKV+BG?#DHW8&2ZFS;EKZ=K"FT0,
M*<-@[639](P%YAM549U-O2XO[*N%IB<KC<MC%'4L08> T8\(6R]A!JM?"=@6
ME3!3$7 I*(7F; /LL4:;)07ERS:HU!@B:5 #*SKRHQHL>VW8NO3ND5B(DVJN
M>45.0AGNM?^KWQGAH\.H^[F>0K>E5),U*/7 ]-#0"*@<J,I=P&[B<0'2>$+N
MI16J&Z]7BG7A=$(UQYAAT6)BVL^\:&%D\#268\-PN?5-@42_.AROU8UU5GFS
ML6)U% P:R+@C^:*7F!CP?Y*J8T%JQ!=GD\ ?1HJC.K=-5A3V':MJ9WL4QI[^
M_*&Q@_%1\G=J=T07%@S>6I,:POP.M_M%XU9\"?QE,IB./_?*#?9HHP KC0(,
M\Y5IT6:LZUA/DAF(#[Q6+OMM]S+@<#<-G(P/N]:[-Q-CUL85OCW."\455A K
M)MCB@5^QA!E+F??*O*$VD*S0?F/8:R.1VF%KA^V-#=N1@\?XZ8/-3Q_VF?$V
M("9TVEKD1K&-4:IB2/J3=DB:-21*OTC\Q;%-:\5!8UC:TS$0(TGB5OB'9;C^
MH=P!8]N&BI3K& R;'"K2ZD%ML>%*Z>$6K1Z<H![TY4&#]:#1H6-4<,Q;0)G;
M*)'"@?R*W$8-M?JPU8?>J,BVJ=6'5Z</PR+)S'7&D*6%NS3R_K^42]-H/%!B
MB!K+][45?[\"M97^Q[.(I/1Z_4Y$#=Q0!,R</6^N)56W5^R6&7ZLX0P$B(I(
M,SJ0TCM&!@K^+R]*3]8^LN'=_*U__)F'W+"'GU4JV6 /#(MQ8E@N89$"KBW-
M_%*D899G:\E&Y'X,8^*!2[X[9@0T4'Q5 W]1-:P@Q,E_>TO#]".5R O1//X&
M1EH1'PN7=O 5AT!/C\83]@-_+B45HZ:6JH5HY]15_R228?E17?:SNV!-F#88
M;A<>DZBG:8326/^\'TNS/4=]]%MF 9J&Y2%\FO^XX4#;3[;YQ #2I&<#FA=R
M,?,H#"NEA,:$JBZY( FK8X"#4Y?2#CJHMY.8WMI,@%A9UA\;^),I,# >N-0J
M76QBN'#\81KJA)L-)@%D+L;FW'-PN#;LVO5-S@GR*<L)/D$5'0(,,9*7ZHNQ
M]):2Y;&X%QAAMHE@JJ&%;YQ]=0KB@XDO 1;EQJ9##1.[HPQ[G5ZO%XT";("\
M?T,<26G,!!XWB+;TSOA96CGVPICYUL(A*\? P#(F[]"%$-H:R68,^&&/OKKA
M)+,]-YB1%"?>+N/!!G%AFZ"98#!P7K\SXE1LS+1C+V&>KAD]T ?3YV<88B=*
M6]-C+Y]MR5VON.I&I5>#!BS5=6389WX\+9\;*Q7/!XP5WO;%[ 5XF]MCZ6#N
M!4K Y<^Y.)?N$@]BN*A@OK*7\$EO]@<86*0BZ(@I&NH$4F93BG6W<+&>$P-+
M!TC>RH_\M35>KX*;?KHBFC$WT&9CW5L@Z"9!)*-H$^:Z"6BU["4LH$@XL+92
MURS@TK Z/*R8!:8^@[82_!E-+X@+EU*'^$5P@-+.1BK/!@U%*,.WVR"VCD :
MY]*]IRV.J Y^"*Z4?@5QP>EZ%W9*[NY_T(A3T@'%":D*XWNK#]A89^MEL.&U
M;*O[+P_H9X,6F<N=\/+F"XU)V!_,U19UF.^&_.4[L!DZ03\"5W8>(@XM@5\"
M7_G6!FR4;O@]&7/X:MW!,6%.!F<V;>FLQ<#\9[<K?36(J7^0;M5'&.Y[CN +
M[0X''R4&WPM=2-TNW_/$7WJ/;P6_%MZ@E!5WSB/*:]#L<(@L+G<Q/ZJ6 [7^
MJ#.)9HN(K.!"A;DP(\0*')6MQAU](]*I@00P 21" @CH>6& +=Q*9FM&SJ4+
M2\(#'IRYF!M0.7WC?J<_31U)7#AF!'T2AQ?XU-'*H(-"L=P:_L"C9Y E-);,
M[OC+IBC<>;,DA5;%)]4Q;(]&#");'(TEZ08I*7P7] AFPB Q4[C S8Q)[<UZ
M[QLXWV'&-I-N7J"&!MUL&M[0#)X,T8N/ZJ4OF*U:;L0)8U'#[>.TTX\BTVU(
M0GT)J1U,$O=-#--D..CTQN-4,^M$I*,^J8:I^EXD;,&8%XD&ETTF?R(<W=XV
M?/]2]+CRBP$NFPOR/ZW3RJMZSW_,M20/.Y(\G<8/@,+G8+6>5R(M$7E&1K+C
MK]?A,S,TB; O@C_U3ITG2GUV<C9-"JZ6N1T)$Y*^P^8FJ ^VE1C?5.T[\(U.
ME>3);^3WB.3;XZ3RCI.2HNY(6U%WL/4G0R=4XBFMH14EP>;6]8L<NE.LO,(J
MI>(KWJJ>8\KI..G>^.LF](^;\N L7UJR%3Y^#A\[0;<QV1J>T'U1T;?E+?8'
MD\Y@VBQO4>Z-.L,H&(S87?SJJ^^:J*"?S(R\B7'K]$>CM$D0WZ,_$R>X1^C4
M-GYR9Z2D4N>0I8K%^T).;>2F8WN $#%=#7<N']A.%)/XT2S#KE.%+? 2WEC'
MC:FDHC>&:P7G5#5]@((VV[_)V?Z-SNX_7GKO/9_4/Y@J(UDS1WK/:.3X+X?$
M_4>H\JU)FH4YIK!VD953A)FL<1)EYQ_L&W^MVTC] A%/'DGTRZL7XFAXJ1/Y
M]A9\6A)?LC:_9ELC#A=3;*#>K8+CQ#UX1*W6U*TU=VRAQN4L\G50=,[SSZ\W
M/WPSYD=2)T3-0>>/MCI4APY=;$)4(D-\C<68+6IHT:_9?=_Q]&*+IK1+-^JO
M=%6Z#W%L=Z%EI67EF*S4""HSF B *&Y"EZ?Q\X$=^#_'@+<XI-%>DW NE)[2
M&?>+I+2^)8B21@V=/#E7BJ1JO9J!.]G)EWZPU YC.XR%Q'5DR*!?^=U&9N<H
MOU-U^@ H<J_3'Q1)(*],)F]Y5/KRN5*D=F0[*$VULNW(O-:1:3B84W!ID'U9
M;)%:2E;3=^-)9S0I8M?+$>K/-:G *[0TL# 7JFE4H4C:D6K>FM .UTD-5WW[
MUAVP,+L.G0^!VV\,\DPMO=6+XSKH#'HM2%4+2K2]Q#@?-!V4Z!3TX=69BL'Y
ML'1__PWJQ6NQ$W)'F3;=3ASE'&.'IOD'%RP*675;EZB9BJTD$CP:J-JGH!JO
MQM1-SZ=%L/5;?7BEI@)<HM9.M'8BY!)-7KM+5!&(^=\)#5(XL?BLYH.G(09+
MZRDU5M_;PZ/6 K:'1ZVI: ^/6COQ:@^/_#].!/G^B^<$\-TL[_ -H4YL,ED"
M0=8#*(%EI#N1?E'X+JO*8VP2#QG:+<-!-<T-7@@) IFD=\8Y.>]L%0*;T(UY
M@($[(^XS0IUPV&[G3^)*B/OCHQ7"E_ROE6KH")Z+WVQ X]&/#CKBT+Z\]Y\Y
MNM%JY=@OQE)UB;FN05H_R>=1S,>E89I 3AV(F#_USD=I?=>D*-#].)UUAR#
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
MQ>!DP3-\I(]AHVVVP 56=*R1:I!;1$H6;VQ2,AMV$DPOB9%SSA$ZYL5^9G4
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
M1089/5R@<&Y%(*>0-P-[1K *)2PIV06+@+U)DS:^Y9E;BSWSW9L/W]]>I3I
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
MXDX,&=X*G\\*4Z#)#?Y0?S7[F^<GZV\^-;! %N%M*Z;:._O1C-X\ ,$Y2^,
ME. D">!,Q_+V<!_^Y2G<( PEI?V75=M( O-QD?Y880W4-T*)>Q^@@PVMSE6+
M&&9#A_HYJFU9IROHW/O3"_N(#S8.#'#@**QK6R;I_S XS*>P+;2?+U.&(I6>
MJ4113MD,V(?;N+T%CHB:Q*9\>.K6=>Y<;9,3$0RF%*_N6KGP876WLJE/SGAU
MM[N3?R.>Z?)1.6$.>C<859$M8UCE_5+(*=UN#W?P=W_YL)0O;C5*,!\8;^>#
M,159W<LZ30C#^FZCNG]ZSC%ZN[MXE,YN&&SV"5O3< ;OF4;.N3.AA?W[8/SJ
M8$1%EO5D6-<]4XDR'T[?I4 (OFN/D@Z;N5EBS3^WQHKVK7;:>$GKT&!SAG9P
MT6,KZ$_4HD2^BW7P9%2Y#EME,?RJ6@@H0_S2BE(FL^ESCV .B^82%>M#Y=PS
M6W-/KG*N1IK]42>4M7?<.LZ?D@/$L.5QJU&3_7IE/L**&3;!XH ADTZPF0?
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
MU5@:;V/"?+='[DR>$^='\]"N\X5\*=VLV>$R>=HWX)3OPO9' I&>]  :NJ5
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
MD/L[<3=?5OAM%S;JK.S#6,'HF<?GKJO9/-'W?;<EK+GZK4DLX Y\>-1:'1T
MYK*BOOCUZ_3?2;*/T;!'L\ES@V:5U,ATJ0K/<).E/$GG1A*O*D'#L2,YT" \
MI<F3R7):F@;0]HT'REW#W@C*?_>7CZG3"L*9"W,%\F(YW<MU'2.@+KG'Y3@7
MYPS4Q7[6J#*YUT'^MX(\%:&Q*>/95"C.X(WE*3HN,D6<(%A.U)($V006J4L,
MTWL/YU?,UW_28'OS-V\<UV5]BM<:GFRSM*LBJ6/E]_3WF0/Y1NX=ZQZ_G7[V
M 4[#A\_OD\F%F2R\P)^,Q_OIA1+4-\EWZ#XS^+[:L/"-Y3PH[@$&_U $S\$E
M\/M;<NM]@!.3Z^,OV5=_V+"A0*!LY,KN]RS2V?=O_%MJ&B;$NK]!P*MA=C4#
M%V-?WF+SGCYQ><,6;1NWNX^$[;8A=>U(614ZY5F#,O;,.W9RB[,95RP2NGK0
M, 1Z#R>N+Q"IN%_A&+LKDE/[/7[F-48**("OB>/<>SC-786GPH\\%Y !Q3)-
M10^R\&)#/I!%*8X:%L=ATK8=<8@3TKT2QV&*N!UQ"#<WI5EY.)I-/SL>Q-6(
M'04.A'WR&SO]868O"]ZJ-#+&>,A#I_/03P<9(S7;M[UL=<(@VT]-=X",D>#G
MU,@8S7(WP%KT&C]A@+7HI5H:1G<HH98GAFM1CO,S ;:XTG6>R76C72/.S*I
M*$1N1X.) 34A[RYD,5HL4B!?.0P,>!=]TIPR&JMU&K.>!."%V OCG01>:CL/
MFJT3=O.-[6;>RK<2[F1HFS^9 ;^<SB8US+<9B;X:]'\R_<^F!2>6=:G_GF)^
M)/J8$R?H$?9SU+#@H3NZ?OBDUL(-&MKEGYA!R"-UT7>#*-(NW^_,(5;V8%^8
M1[#\9A75GWJL%,@->UB"RAW>8H<_[M@W$SV4O*/,MS&C1G0F"M[#N=5VO'R'
M^K>4_.7#SU:B.,Q!>#5R;SH^A5\'I&"36C*V/"A TK#!C[@4RXYXSO-6,X"<
M6P_!VNY-:CHVJV=*=@="Y+JADLYN!"6"'7MA>:;-6@+U8!!"LO0S^CS\Z+LL
M ,:R+<EB=4[P4$P7:'<D;"O4PH/VK8]F!J2WOU1L)U5L+=T1&\M,K:@%D:<Y
M/?QE6BBQ2*67"8&^BH68#O<C[@[J]W[J D)[/!J/4V/77W550"?CA*_TNYED
M3EAL*JY@;Y> ,/DJ<$7ME)FFL*"ZJVZ=IUE-54L>;$V'-8A5;D;W+U?M.ZS_
MPZH+\;27.F5#Z<ZSV4184[ X*&))T%:%ZHQ*$OP22NTXF>*[_KF\7[I5C\X\
M*L17[--J5%0NKP-BA,UDRF(Z%]*27<U6A*2L^36*R'QRY]<D7X>#F&H(03R=
M2%$6,Z$4XK=6HRQ3%I5F^7PFWK5&UU]Q X8=Y<WN!\493N]-&X(/6,]7Z'\.
MBVU+-^PJ4W$K[$S9FU]3G*CFF"G3UZM,A<6O%Y/Y].2\E&G^5:;"#ON+Z;15
MO?!FXB:-3%QA>[%05*40-QE4-<=-*2M3A"[V0AZKQ>RL56Y*V9G0/_UZ,9>7
M2IO,1 T.C1F:+%PTRL'4LN)$-<=,*3O+*>R<3XJYYE:9*65FXK+,I3J>-<4+
M;PSZZ-!"AO3[&X1\(I1>Z7! I@QZ1]2N(ZI%GLNJ$)R.(=/M<1936)-XL:QE
M,>(!A*.RW!!)96Q9%F,<+'D=:A,4E3%(68QL.%_.VZ/H]ZB3C;?88 [&L3$S
M%AS8,-U$C'>:BQA31P=QCN="P)4&V<@HW6Z6#5D\0[%!^\CP  VS,16[[,HK
M[^I>,RW,$WQW@+R-8R?[M-YHU-2/<#I6\U;"?"Q&1I+G>P-L2Q+6/%>3F*O9
M!7I>,5="BU*7RQR+.@57\YBKY1&NA*Y](N_-63XU5_*XX(8%7(D1<"=YJ[]S
MKE*.\-BZ6H@1QR!LZ!=7DYBK(^MJ(>[?Y/%.C[B:QUP=65?B\>40*!R<Z$[*
M5;2NCD5=P)4X&3B7&_46#T%I*>R2$+?;\*/.V_4YFF)=Q&5U]IP1EXM?\097
MUZ9M@.R;P#+&6PK;DV+M2FGUBJX_^G?=_<'NXEKND[9#Z)=)&OH%[P>#;)QF
M)87)>F8UUZ#2&P?^3WKY_NKFS2O)I!01C3,_^&.+B!C2RZN;'Z\ZX.BSDXO[
MV\Z%6ZJ.\:+]5XZ7M2\S@]5R3VR?<"RF$*HC0':Z#LL*DF\:20]K4U]S5*YD
M882_Y;@G*6"O3'NX=@QS9>JLA@&MXKH+JYB-9TE(E]1E?+JV0#.<+3("A'5$
M5U*13B>+/@&)Q0")4VO_AA );W^[6#D'A0DKW\6[9JS0@1V=UH;P;M=%'Y/0
M877H0U3HWHU[?T]N7:9JAGEUZ./!>T?.^^9'6D:=^NDN7XVRZ-IA*R,!MPEW
M6=6+,[@ERGQI!S:UF*26[:M#QD+<+*QW"8PKWBLD#1$[>&E= !IH0L2/<<:=
M;QJL5,WLU NB"TRM#-S^@(1GM2 672\(.9M99C/=J-^W<G4/FR#L/T];"_)8
MJ(6GSKDL6&T,9#4(5N-9&!8#N*,AWNJ=#1$"_)+Y7<<.*GDMYKSHFA"/%?O&
M#V45Z!?.Z@*'6Z1"Y&]??J1 ;Q,Z8,,OV,P8_B;)"L"\=B/)85$2FWD14,'
M<C?X:B3&("OF53DZH09$.:YW@57/_/,\YHT>"!&_96$A-/ +CCCPRUNLHP:/
M'0T)8>-J&"EA=31_3C"G(WC&+7S "*62H!GV@#\"J%C-^,/G\.^74E"H9<$G
M(% "KLBCR2[GI1^7-Y>)JF!-UPD+S;7X6+%U33BC;EDK3!+$\T0ES+%M9!M%
MMD7LZQSBX#V%(WPO.UZ![+!<.X:BY-J_E-[#ET)8RO"*2-KZ[M:AH6P"0V%J
MPGR6B2<_7O_.,)WA5,:KU(G)K"M^"0;F+!L =O-E[]7\>6 IOL4 HBF<(1EO
M*&/0)0><?TG-C6EI+KXOK$;;9X)710<O$CQ=PZ,JZ,)R-*Q;#A^_98B9=N9K
M=&V+R@U?PBTV6N$FL+M:\>I8?@(QJ0Z?9M71O!/ Q,9Z<Q-T$?#3,<<GH63O
MX[<$S@ILUHZV0J#H9U!7+4]/45>=/AB^TUPK.+FCQP.=;K&_ VS"V%,WZP?&
M1@D)YR;!P@)#8:43^,-: QO0)):N8B.1>%BJ(6AYD*_0(E#L6-7!+X(F$W2W
M 2%[[][R^A :5> 'Y$8D(-BZ_F?0E;'%5 RV'#(C-TP6,/M;I"%Z?$/)S&/G
MX_^ZN)#>F\0R?I&^ G6OI1L6RF/7TF3R6OHG;@_P8.GB(NLK/^-WDG\K2UAC
MQ_73I7GVSDS=#9]*9WJ6Z0P GQ^G21N6D2,8[GBN$_8*\$X935_S& 06P2[$
M*0]-.CUC"QR_S6N2XCX<BE/N3LTGDAP[>5S>Z90?6WW$X*OXR J,'$L0K.!W
M$HR'1]@P3ZIM'/000;2&)1FCT ?Y+)K4-=?=@4- P#KVL#4$/X[+7LN#@'!O
MYAXH<2*1/J OX /8TM%/Q! \W]G<XD8<AVZH3=NQ+X*G1P4DN,\Y&"H"E5;X
MX>C/S&EAZ!'LR_QL#\OM3V9#=BHH8Y=GG(K0P3WR<8DLT9P.BERRA=B4FQ;N
MJ-'&[ZTC%XR!:T=+1DZO5-"?MZ8\)*-TSVZB87(L^([VGV!#B!S_7@P3!(GA
M1_?"( E.!#R@YD).1X(F.6QBZ_*D]M/D,MU-%D"RG^SH" 05P(@?<7-B)Z-@
M8B#8G\'C7S@K$0@5T?WQ.8+Q4094%4?&P:DHTD\XF?-?\"3G!(<-]$IZCMD!
MO8E)B1IS@)+CNX$ITH3QL6Y2%YP174LK]$Y#XKVYY.)\R+M'@7MJW$<7:<:)
M*.]>,=?^P8;E=6<RY* H^IF\QK'FS&F@RV;MDEVEX]5INK5X)-V8&SBPK*)H
M[3L.]L/M.R+R ^Q?IKL_[8IO;E$2WB4;!WOH;SRR[?PN,/!E=R'%9D0QQ *4
MI\6(!8=].]A_<;(M]]%1<S_'%(6O):?<P@M,(YHM&VRQB<T5G2;LN+Z;^?)+
MZ2J3)O9OVWG /0/?R@>02+>[, Q,1#E8W[0WG!9C0/P3IQ-'^1*#LF@K)K^+
M>2_[.PP/W$@0&D=D!MR!/$-97$KO\#AM9J67V*DZ?=P-0 U +)AN!%KY>0,T
M0BG7<5*-YHI_$-_ /[EO#296)>'\4/"X>U8<[N3L$$_8(3P."\(H-IT!TFR;
M&4@B]2.R0X8PD4P!#1F@CC) R\(9H$"GNT/=!688)*MY1Q@['M+NE!?$"2?3
MW0E4-S^<:G?BM/TM#L=##Q3:#UOK03HPC*&#$><AZLHJ*H_3PRGH&$)GQM8-
M3?PN6[6Z5_/*!C-^644)_!MRQZ_A2S9O[?63C>5D$_/CK6N9%UO8/U_\*B=(
M%[T\F\9O;+?$@M[&B%2*$WGX]C25P(3]77O\-SC\0CT[O$X9OG'E>VO'#;$N
MWL(OP>?HUZA1=W<P9VLV6TQPR) \9=4[["C!+JQCBA.4M$(BZS:ZLHV/#NQP
M__!=DQHFR^ED$3NM02PWBH8:"J?+I;".7%[.Y'2/<,;;*Y!7HKD0R!.V\LGR
M;*FV0%ZY,=["!E%94=1Y1?)8E=+'Z$;S (MB&9!X%=T-T_>.F^/S^/R?Z(]1
MA2DO.$9.QTHPS><F*C]Z=Y\<<[?W^Z-S?-29$+!ALC^=1,!XGG2^X?[U9?6#
MDBN68#I'&2UR6B,G^U@\N>SG28J^]SUPWY],&P<C?0VJ$=[ZY%!F1]N/EW-Q
M-Y>\UTM3D(I*I%<'T<D;HC>>RE4XR,37*?A=1/*X)_]FYZ$JS A;F]19%582
MY%1EQ_'=ZNR(.X7GE8PK04]%?KZO75)#/SGSNV:"S:LX1559>G"J,R0$X9#'
M\SR'58">/78P,PCNV/6)T<1TRMEL*D:.FJE[@4[NR^L1>A1083;+"2J6\YJ$
MLEQ>'0BNZ5(6XTJ-Y0SR]EY9B:KCD:(L=NR3226J$@*M)S!5#%V305GF:ZN3
M5V ^KQ@1,&-9%"4/_NBD(]YW00E:+024\5BXY\TRA"FDHA[%66>8)(VB,"D7
M&*XL$5DGE201E=#I0M<,P3*."75]'?PV9OL.7C_%+GEYD?PQ@MSXC3AWKK9=
M8W$&"XTA\+[UW1UF"SYIE&KZVL<1XK3HM-NY/!:N;V4_5A;QD,WI-UXP^MV!
M$_>_3&^-O=#P8?CRS5ISR1NLT<6L&RB!5[;5P['* ;;<\U-5"6R+S5((5SG(
MF<M9K]DLA7V5@\DI+UMD\[O#@*W@\P'.%:&_N:)LD!)CD+ ?&\'&4H11RN)@
M&O(QJ@OS^)G J1<1Q(*_&'71"\402WC8+<K$ 5E-,I2_URB**!HKY.:KD92_
M\RB*R%67(^FKBSNAM_MJ:;9W91N(X[3=[ <Y%9 $A6MV.E&.Z%Q(4W.\E ,2
M%.='Q^I>^'8*9LKA50I=REP99V\:I7EQ@Q(V!GOR57._N"QH,5AI]E?"G7"A
M(#_M$*?+B2#*OP"Z+O@]"L6'TQ>_CB_'B<N48C0UPT>&11WP(3@.](F/\7(_
MXKS&ZL,O*_88GHPE+AQ1KOX!K#ALJK6IFUN-YWV3[SR:R5Y.!9M$!P)A'Z#!
M3=-_]EQQ8<-,1IQI>N6#G3KW]?5(+6)[\^Y(_<"+"BM)="$D\PB!_*75B2LB
MPV7;Q'WQ/58ZNW\L+"J^Z;@JA8DWUR2S@"!3Z[X-,ID;R)%@4JG5HKPBK\M"
MMI]4B^!<LM5,(TA85$[53A=+<<+L(!#(>F<ELHXFRA9+<3I_H4[+D^6PZL7W
MKK/!E8=%>%]6PHD5Y>-<57P$/SRA'26F/O%'#C)JI:19%4*.'%_4:HFS!"'A
MZS_BD0H.4WS 5$UM"H^J[*Y/J,U,6FJ3?DR7%=U5:3J.J;*B'XOIN-$LL*>V
MCJ**T-'MH?.6(*E!7LK-3A!ZQSZP4NX@FI.C;8$7W)R_L')*^NZ1N+I)BR6V
M?K_"7LBH_.3=9FLY.X)5:)\=FP3_2CS]Z%%G(3KJ ./[@/='.:C-< 8T>?,,
M"^\R%YWSFX$HWSR_PEN4>6U^L^T^8P):<8Q8*LNJO%#F;4'$LM)522>6%8QW
M_?L+.)O@OW'6:/COX)V"OKL+S]FRWKOH%^%$4OX[^$4P/QY$O'T,JMF/3$V&
M9V:-0PX>E&CWSQZ7&GRL'$9L6!1^ZU@&I[*#D8^I-K=7!Y7=*?9J<!*:YTAB
M!LI:5B(3S7MKW@#87C5ZQAQN(PY)<C^D)O7";K&5@YWU>#!^R?%9? J?IZ]^
MZ6TSZVLI:$_]1@PAV$5L*V76=3!'F(U0W5(@)/SIM9"6:HN:^X7,=9TUW_A
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
MGU>Y$!'U YW=9,FR*/SH)^.4*I@<?:_]2 4OS##Q]Y[JY8?L$ W>=5>6C:N
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
M'HQF8G#318O I/M[2,'_3DW 3#[#$5YUW$#COV(A$,[LVI8[T/3GT-JXQ*'
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
M!4*P8!JN, *78 0493"='C;'"RO0FRBA1O7_9%NPE,V6>!>;'+PHY9_,Q/F
M#\WGQ/]_=52=2):Z(?0\\.# _PI+< &68#P[;,83EJ!W,<"1DMU*6OFK;>O/
MAFF6U 11I=OX2GDW,)-)*DQK.1O3(Y[VT@95Q+8J%7G0&ETC:(FFC<67?5%Q
M"54*"WDP29DG)P*/W@0>[=0L;=772RY8NJB3R%MY,%;X3TB>=;L.)]D(T'_'
M)[I$7K;$<LG%A@*7I?_+25W'!*']/ 0"3>4DWI,5<1PP#PYY(I9?+CH0N0F1
MF_CY+4+IUQ5RB YB;D.2D"?*4)E6N24E81&EI :0;379GHH+JT6IV1HDW?;A
MQ-6DN.9,<%1>)._6I]9VY6Y9VK]$27[HQUIP&[-!(5W/\37/=\ <P'/NB*EZ
M1+^Q7<\M!_JXN%S0QS0OP15LX8$")HQ,YACDYM?'P9CD,ON+AK<+RK=/^9Q@
MU]V;^J;,QDD>5'.I)[Y#7Z2#;V*X-C])0&'BT+_1[R<\BT0=2O%0@W^UF?=*
M;7Z'XX.JK7V('O)><%ZP_C!F=.6=.;;]@DA\$XE_G2V-CQ[#SFTTHPH'H0!0
M)N>A^ C2<)>9WMBZNDL0EL"P/NN\[^QP*$BYK L7W*T3-EVHBE"59/FFT@ 6
M?.]T1>DO5KS 83SO,HV*\LUW0:60%2$KXM#5_DTW*\IW$BE$+36%*.Z[Q7UW
MVZ>N?MUU"V40RM#DN:I?VM"]ERY2^9&C.".[LH,6I[Y[_5W]RW9"?!WWW>L=
MV=H0'5B/]^01(;?<"A,^9Z+8HURQ1YF!N47N/H\]GX.[2Q2EB]WY_&)W/JMR
M>FGXFC?7'GY7G6_$ZY)_W97I8/7QO6H&W5"MUZ5S3IWOA5 (H1!"(82BN%"T
MX03+1IV-450L2"SHTA;48H&4LCBLKF 1+-'Q94<L,WO ../[><A=>.KZ=R>?
ME;*=[O)MLCP:*(M#!,M2M0@U.+639&^.<P4>RA4+I_/ALDW^'8D$A<*=Y-9\
M-!@M<G;:"'WCD8.3^? 0;DOH&Z?<FDT&\_'A;:G0M]YP<#(9MLJ_2H?:RF6#
M-[:%/<].C2> 8H5859_4IF@HD\%R427X:8PFE\P5>3R4&^=)_GSD);-"02#
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
M=F3L//LJ)+%708P\G,Y*Y-OZ'9Q*93*JO=JA/%Q,ZDJC\J-9PK;TVLN-AH>
MQ+R))$_9T*9SG\&\DVW:B)-+4<#O+D#OTG$O>=,\X0S..M#\3ID/1],2<5>_
M0TW*T_]Y44;R^.=S#SJ_4Q;#N3 T_!N:2W!ZBC(<*6<BBY>3!(TNY,'2;:2*
M(\O.0%,OZGPX&PKG<7XBV:L0IE0BOM\1*H);G'E@.ATNRI30"LO"MV7IM;.;
MGHVS._,:T7 8\)4:S/]]Q$%(5SJ.=EVIAB,]I<UNO12=O82CI#P:RM,S4=9S
MEL6SCDRGPVF)VS->]>ZX'H1]PG%\C=EPCI J^".0HH*\2E='R7A>4B-]MQA.
M96&[N+==E^!'9T/Y7$2Q*B)3>02E+'2F/RR':/:C!;O1OZHO[XA%5H;GWMFF
M^=%V\#WED9C&"\Z1F Z!F$;#*0=03+6,E"\YU2@"\9AW!N)Q@&34,GI1=B:N
M.<:4>R<'B"L%L6S/GQKSNA,=!?!CYB<G8<?F,MNN*_WQ]1V\T50MC<YS>"!@
M#RT<=F6OI)7APOKH3=H1-]O!:/ C&))<MH/+E9!#SV:BNV!;2;;QA'@>QA!W
M$#]J-,Z$[3F2I[Y(6]LUV&_ >&P= WY-;^$+> <QX[96"3Y,650$J&V$G$(*
M+E<*."E1.@*/G1HG$4O/'2&=%&^!Q=VIHQ;([$(:^H#+7C13EY7Q"R^FK]F]
M]"<?4RU!DK$"[/IX*9)]_4WVR7)G*9.C&.8M9_XXXLB99?3ZLO.#[-W%['S6
M8=YR>A)M-7*K[U37T*3GP(E)87659F\VMB6YU(M)MN^YGFHA*R3==_#_O#7A
M,)59Y*%<)<?F@_&DRD31L\EJ]IB#RB3GK ?!04XY*"]%BCK3Y_Z9X2/(OWWC
M237!.8;N0O<)MC.X6%$AV:Q\@D[R1#@MQZ"=9>R/O@5'+I'*[$KB%[6/ZA09
M[3Z*P6%)JQ"#"Q2#P^IZ?L2 _YN-]X;IHV=KXBS%;YK[[ ;3S@>3,>\9;R$8
MW1S1QU6.Z$(PSE8PE'GMKI.+.[("=UOIUV/VZJ,!1SSRF_%$]%L+_-ZC =^Z
M=EWBN1]]SW?(]<8&'_X?6FZ/N".62RK<FLF<WYJE#"NNZ]JL8LYXG#]GG$^E
MDC0$7N4]95S(:*:<O49<ILK*[%<&">S52*:RD_VP:/Q82JZYM727-JQ@%U)
M,2^DV_"BD#;J5']^6-)//:\E&5)%Y0\;4(7*"Y47*G]NKOT0^E/HN=!SH>=G
M[-IS7BD+E>^YRLOS<\%U[KO*-U'L4V:W7T'.B+KRB%-2 >I<3&'6UW-_S?M*
MN;<KL\%H7)=AZ1%/>VEXFJ^I*&6&;)#6FBQ0Q:74HMKE;@)+K#;GA42O[F9+
M!;$*2'2C-J@UEO;/#N6]G*[C9GGOSIH\(AC<'=GBUZS']X:KF;8+#RIQ%>W*
M\EA>3)5FKZ.SS!B[9+[R["V]:(Y^$4HA^]W!5?/!=?;>=3=ET@EO >\\<LE,
M[[KS2U.B%XM^[6WS)D-.='&<F'E282N!O$GO54_-HQU[ZB'MO?;0BF24&AQ1
MS&K/A/A?NK$W6]5Z145Q#=>CV#7J_F,[L_-5WN""$H#*9;D%>TL<%<U&T.B
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
M2/\*<,.^J([W^A66ZZH:I<.[U_A?V$O6<)K>J-;-VB KL J:C\_ZO%J!77"
M8E]@)X8.;S@=%\RR8Z[Q>%:'M4LC;$&>N46O;W+[EK82^\M1_N;*L3PL=.RJ
ME3HU<^9H<H@'MN1/81;MM:R/-'EXPAX*E$B8%I=!J14'TQP),$T!IID-IFDV
M"::)\GU%!5R*2WC?033_7!-+4G<8F0@126C_.Y D:H"7R(NV1A.BLP\$1DU"
M,#\P!>Y HO;HZH'21TOBA+F>9+C2AJB(OJM+JD<Q*!]I?:(.(<1 8E^##U/4
M7]74? 96NH* 0GJB ;V]HG]4T50-*!JE@3B5FOUHT?);%6%.89D,F<X&*:6?
M#U=*"?<_+V!8EC_C]V"'KN%%&Y"V++)Z^\@0YLQ7^FU$QD"B!'\-UA"0AV[@
MAZ'TT796Q/!@;[ $AX1KH$N"C[]*MJ;YSK NAC6+HVI@0.0FN$E)CEMQ;/]Q
M#11#7V!*6S3D\%M@)^Y:)Z[F& _P><."?WBJ8>)/;6%_*DGZXI8.I1!$V$$1
M5A]5E&UX+'R&!*BH-H@-VY.!L*::Z>ML,R[#'AQ(@6Q(E /X7TE-H!"&G'>1
M\R$@[5L#I=KV71!9]X>?:N#9(1)ZG1*1"V=]9U/C/BF EH?OF^K6A=>$/_V<
M\:9R[BC7!+&TZ6!YAD.7GXV=$-@'V]1+SD0$HL$2K;^_P<KA BM/74$<N!\#
M,.*<FN]&%_A/HCJN]($"UL?1Y(\YN O@R+@SAF! ?+$[GU_LSF=5%*[L$,7
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
MB)&E,$:&WZ\->)V#1P!)5W$*%!LN$0[P#+Z9.EM&LS<;'$C%X,XBQ/@P-\P
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
M?B7DVM(_ 4F"?\6>?DB1VT\?XR19CL:9))DO9HO<)$G;4?T4:=9N9$O'9%%
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
M;2ZU1)$)G*K(1()!M8P>Y&J1R-6RJ>:^,FI^OG9<)X"QLP3V"L%NY-5YF</
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
M,A48/MQOT"FF?^7\R$*CM(N__%@E94VOV!3?W-?B-P>M>*!A!/.(1\+=\#Z
M&7'QF_Q&GZ+[1^H]T&MP5R9A41GK8+!A8YMYI?X?)?PBB%>099+P3BCQ?L(I
M78L6)>7=4.-CL!XE"KH;IL+:X>".XD%10%_N*1*Q8"]PLK851[L6%3=P-/3'
MS*<474Z0^PS:X@6SU?AX?;'-:]I%S'V&F\8NV!/^@X9)#_OB!5OJ%=V\)E[Z
M;HSS!>(MMT?Q?/.$%YOR[BF?IK'/Y2:4OMV\AEQ3ESE%$Q0?;J#8P4/R.?]*
M'+%-,HU"%-I15VKS&O:-/@YC/I\%/+HF84B<28QYAN$%<424;;F!VJ4WL*&+
M"<D9@YED%' Q,<D.&\&DV$)K&U79Q"9']#[(]@7<R?R,-+WA7N8BRM9JEGZI
M<$UE.T.5Z&&^;:4EMJ@]@[1*?;MR)5\\O)8<)WHSRH:IPDI5Q?OVLC,_HF/*
MJX1OXP+?^%0H^1\Q9R&,6JN#<66)EX][B-S_I=3_1:X4?N-?P1O_7;9%MW"'
M9D62C/'/Z#;PYB!G-"$^O0C(=("A9PZ^WA5Y#&-6\-JU2V]>/Y^=A"3FHK<Q
MIN>']#L>ZEMHHT;!#4!H)B4.MF?L ==HW5#V$A6-" &=T&4-82KB7@3\'/P3
M4>AFA"=F!'X2B8PC_.PQWV)5+\_ <:U=FJ:" X=2-UEKR.4$R$P!]QN-%JK1
M*OL2$0S=MHJ;"$5/ANM/\A+"<Q 0=]FX/T(ZBKTK<.?">VS#:B?8B<1&=HW)
M"CG*%8+]ECN)DG>;U^V!H!Y,0MB()>&CFU'ELKE^\9?O E.)1 *#(@<B2QC#
MQ7'X#]?#TJ5!,J:+!G<C\M)+C""_N.DIA*&9.?/D_RM?9VVIE_P L[;(%/2;
MD5;X>.#)F.C-:)'F=BNXBBCIU[D(+*,$ZD[K.1ENF(:3TZ_4[4P#,G4Z:T-B
M,[1 O=$ES&OPK)N_4^)%DTO\0X3<>3#F! ?QV540AH,I;G;(FMZ\WJ8-^:7C
M!  ?4SS_$?LLX+>$1\QA,Q&>6_;[EH>+QK5>?M0H^;0YF'$LBGZ=+XJD*S#B
MJTY]NE^@X")F8HQ:A_B#N'WDY?22W'YR&88Q=0>.$T_%]IX'VEE%%837J2V=
M9=-$M%O"Q'PF]?)O.8P<X/J"BX NQ"3PT'&  FH-+.FG.ZW- %#'=J1WZR3G
M"(FZ)K6DI-[!@1-<UJBWFU&R,%ZO@US)S<*!IF7J#-Z*S 98EN'605SK^COQ
M70\W#*&;6.*DZQ??#"\*!W:T".5A<B;]/1<'",[%F[)&-JVUD:&!.Y""N0S<
MLU]B@D-X4$P J"RQ 5Y0<L<*]!LPIWE$AQ(^JK,@'D:CV)-[?$7>B9@>Y_)'
M2V8%YNB]^$I,_C3TQ6'H,I6V8B&@3<6-A#<N+UT%Q97>E:>;%^VZGU#<Z5ZQ
M7%U98@,;% 1>,B1<$V?"?,H+R095!3:P.9RX]!L(CIM1H%=T"XTI?;UY3?GA
MAW@DK@B,!AZFM"0;O-4Y(=JE-[BAZEZA_/7F-25W^$;A5,REJ]+8V!<!<#^2
MYV_@41PS=$WP4*#5"_V2D[Y<FXP)SA[EQ:?9^2")IEZ,^\;E;IC1!)4K2WAK
M++@9MH=K2UASEBY&I<<*RON>9OECX<Q:I;,LK]1&N4/1Q5E:2=1K/3:HY?5*
M=9P=) 1EQ^GA".O1< VG5ZK?2"SSFM5D1G.+='8@1Y:(/(FK7-++S>#/[""]
MPOEYVBCL1'M[=;CX \>)9(VVM=)JB+T*+0$;BC=KY+:\FM!7-=GMU9QNUU56
M;7M;'N<V0@L3%^_7:ZP4'8I;I*]#<9%$VD+@D]QYJHV8NNK;KXE'BKF+.*]*
MEHUL7V0ZBM%=K$V@JP](",24+ 9*2(;.&B!LC9RW2/_ZM_.NSGVU56V&R:O4
M:M.+F,VINC'G5ZE_W;O9S>E=F^.KU'=^FK9498T:;\#S5>I<UZUH07&+]/6<
M]\#6:?I997E%-M)%LC:=+=+-<U[F6:??9Y7EU=E(%\4-J6V1GII<WEBGI4:T
MME='NJ IJ[9%+5_;S8UUNEL?XU>J?5U0MJ*Y/3H[@M%+I-;9:90R\9_=U)&&
MKIN$CGUR<*(-Q384MUU?3KH%L-4B5BN2VZXQ^<QE(9'7?K@X[D43F#R0_P3<
M1J%#N60L/.$PV64'T^+ <SOJUZ@ VVX-S<ZPIO(6::'%/:5UNFE#<NLUI@N<
MFMI;I(>.5Q#6*:HK^:W5I/:5>\TTJ$]V:S6G^PV6U-J>=A_#S&6Q4\)V2#BQ
M1U[PN&3:?*Z91G%=6*V7]RNS@28BF]':'AV]1?=('O.R]%L7;3H4ME4?FN H
MJ;0]K7X', 9G.0JX2(%=+.3)Q_H+AHU(;:N&-'%14FE[6GUB!S#%Y-",B/AC
MABM@J9N77E5*<0^ JWRO!Q<3'%Z#/M.E2#(->,3^)#+\M [%MF#U&C2L^<UJ
M$-@>;;ROWIIC9 ^1&1ZO1J>:,-.ELCUZ^0"?C$N',%'%ZSEM+_#'$>53&Y]I
M@TF3R-9J11,=9;6VI]T?<4L0E'5EAF.X^D 7%,UH;;6.-/%157,KVI]%'Q@3
MB1<D2X7[(R8>&\TQ IUN*M,"2EN"KU!;]1AJ26\[=%6S*U'^J-2//HUGT\GG
M?50)6FY*X,__!U!+ P04    " "S2F]._]LQH"X2   ;&P$ %0   '5F<'0M
M,C Q.#$R,S%?8V%L+GAM;.U=6W/;-A9^WYG]#UKO,V/+:;I-)FE'L9V,9YS8
M:SMM]ZD#D9#,#46H "C;_?4+D)0LVP0(@"1PY-F93F/3N)SO #@X-P#O?[E;
M9*,5IBPE^8>]\:N#O1'.8Y*D^?S#WK>K:')U='JZ-V(<Y0G*2(X_[.5D[Y>?
M__ZW]_^(HL\XQQ1QG(RF]Z/KFR)/,#TF"SSZ_>/EV2@:';Q^=_AF\F7T[?IH
M='@P?AL=O([&;Z+HY_=9FG]_)_\W10R/!!$Y*W_]L'?#^?+=_O[M[>VKNRG-
M7A$ZWS\\.'B]ORZ]5Q>7?TWXIL)VX3?[U1\W19\U??NZ+#M^^_;M?OG735&6
M-A44C8[W?_]R=A7?X 6*TEQR)):TL/0=*S^>D1CQDHVM$$;*$O*W:%TLDI^B
M\6'T>OSJCB5[@NNC4<4Z2C)\B6<C^>^WR]-'?1:S)7\5DX5H<?S3^/#U>%^6
MVA<4<[S .8]RPG'T8T3X#:8"BD R3Z<9CA!CF+-H5O""BM\6A/+TKQ)31&8-
M!1/,49HQP822IAN*9Q_V9._1NF=)]C\'[YC?+\6\9.EBF>&]_2TNQ2B+BZQL
MZ$S\7A>7W #!L(IN?,>Q6#CU\*Y)STC\B*W;LWR&V+2<,@6+Y@@M2[KW<<;9
M^DLY -'!N)XY_ZP___$IS5..S](53DXWU$U*XB9;U)_<+7'.\&3&,?T/1O23
MJ+ F.D-3G(EA[J_%B@V97#Z$UN,'B0U?Q0A=W^)LA;^0G-^P7CBA:A0Z,WJ=
M#KLV$TIZ24'[ [_5V"Z OQ;=]S?TCUK;"?BWI#_P#VV!@OX5<WN,6Y5T8+;V
MXPF-1X0*??'#GM Y;W$ZO^&U EJU@VC\;*-^K"O5)?99L5A4FZX@;[&N/Z-D
M84T[&6!C$V0:L6'\ MB@6-6F+#A\*2QXNK9-&?#ZA3# ?17\\%(X\&QG-^7
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
MU05#'WK47$6A+@C3LM70VW (2344!JN]_H/\WU1HS.++_P!02P,$%     @
MLTIO3B?$?]"2:   K%,) !4   !U9G!T+3(P,3@Q,C,Q7V1E9BYX;6SMO6MS
MX[:V)OQ]JN8_Y,U\YDYWYW[J[)F2;WU\QFW[V.YDSJ==, E)2"A" 4C;RJ]_
M 5*R9%NX\0(LRJA*I2T) -<"@85G7?'O_^=ID7_S@!DGM/CGMQ__\>';;W"1
MTHP4LW]^^_4VF=P>GY]_^PTO49&AG!;XG]\6]-O_\[__Y__X]_\O23[C C-4
MXNR;^]4W=_.JR# [H0O\S?\[NKGX)OGFP_?_]NF'R9=OOMX=?_/IP\=?DP_?
M)Q]_3)+__>\Y*?[\-_F_>\3Q-X*(@M<?__GMO"R7__;==X^/C_]XNF?Y/RB;
M???IPX?OO]NT_G;=7/Z:E<\==AO_^%WSXW/3-T,_?E^W_?CKK[]^5__ZW)23
M?0W%H!^_^W]?+F[3.5Z@A!1R1E))"R?_QNLO+VB*RGH:C2Q\HVPA/R6;9HG\
M*OGX*?G^XS^>>/:MF/5OOFFF#K&4T1S?X.DWZS^_WIR_G0M2E-]E9/'=NLUW
M*,\%R?4(<X:G2E(W$R@I^%$^^W_M]"Q72[$,.%DL<_SM=]V)RN@"D2)9X,4]
M9BW)VSM&[X22!2[D3DF:Q[6E53%,W^3.Q7@LK>YQ\OS$EA1K1AIPCO$457G9
M?9)?CJ,D>$/M:U+ELZKILOQ'2A?B61]_^?CI^X_?U<0*(5!B\9PRD2(@JW*<
M$)(\H+RJ)4$BA&;R5X5R,ET)@9J@-*554?*7+,FQD\VX->T=AU5R*&:"%$0.
M<2$^KEM+1CSPVA"%GTHL#HFU*-O0E=/TS4OFFT7"<?J/&7WX+L.DIDC^44]7
M\N'C6C#^+_'5OTZ+DI2KDQ<[*D?W./_GMZJ?&YIR*;<I6\]4*)KV+],!:;O
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
M&T]G&,9/8)T5$3'"[GU%V,5PMATV3A$K2#'CUYC=RKUABN0QMH_!"O%:Z.B
M&KN1.^+FB)NAXF;+(\@K:/Z4\%)0D-"E'#]!19;@ORJQXB3X%,W(@\"?.2J<
MTU*<!_8#K%N2%:'V^X+:BF26XSDB;(&*XSG!T],GG%9RP5Q-IR3%;%)DUPQS
MDBEC"SL,T0/QIV)GT166SHA+6N#UIUNY':Z6^K0<QZX]$+OSF!/"<"H&JA]W
MOMFEU[GNKML6W7L@^FZ./WWX\+TEC>;6_M']1'J.#=&E>]OX)_68+A:TJ-^J
M-I)7V2ZDZGTU%63)-/<Z]_L&YW6-+LI+7B.#(R1PRS5:R8.+&Z\E[6?4:(EH
M>U&0V+<RV$*S9?8U"4>H-JAT?Z-1$!L^LGJ]Y:X1,R3)J1N.BFA8,W['!&Y'
M=7 %/UKM_J+9FNX#A&!2R#B2"F+J8^RKT(;XS>U7P]U>%GT"F ^?#Z+=HVK"
MF*R86Q],1ZLWAU6-.+:P0X!D&^$PY*/BQ#D^*KRDB-9V,':S:&V'8&VW"Z#?
MK^U1GV(6XK2T@ W4'OY!Y'BO#D/M%(?1N9',BALX9X1B_JFCM0F4?ZS=VAM)
M%+GAA;4V88XVL4-C6 2WVP8]]39+H)79'>0&#H(B#N0*HJZ6"G![1X-^-BN_
MDY<,Y [H&S".Y) ;7$[:>7G\;GI \^)@!AQ=.D^,]7+F*,9Z^:HRW*=3UFM$
MV/?)DN$I9@QGZUBI#3&VH5_J$?S$>)F>'X.Y8C"7P)C7FT52[\/KBJ5SL1=O
MR&RN"=^R[M0#@;>8$<PG_UD5A#()_4A*EO5%"5LJU.$O[4<($,N3(\ZOIC4M
M6M>4NN&HB [O#5O3]#N2B+.\8O4*UKC)C>V!L&#S(G0]1LY&^(5U($%=S]AT
M=_/:U&55M8\.[P,L*"M?\ISF0A7AIW46P:4 H/;5Q9W[1Y]^].GW6<)1*:RH
M/>2"R* 9K;QET(P*1NO%MCR<P-E<-$N/]J#A@#(/]K0W(;@%>ERYEFH'U)6K
ME2FTG4D!Y*KM2^ >B,LV>B:<.8J>"4^>B99*AU<?Q \)KY;+9A&@/&&X)*SY
M_1X7XKFE<SJZ_8A^?!2N]$2?1?192+B[LVANGM?,T7K)6%@>.@T2K8FM$[@V
MLRPC-@SYU?K&$(@W9 GJFX^6@?"V]6C1'9S8'=&XB;Y]N1Y.) K V5I:&NX0
MZS)8M/5&6V\OB4K:TX2Z"N[1&D%MCE5PNIWQG=!^Q0THNT1_2_A K*+1K!3-
M2N#,2CUHE%YM2S\FHLV"E'7 ;5T 4*X.4LQPD1+L;%BR',Z/5<F)F&A2>E\F
MI?[*KJT7V*3(CG>7EWW@2[M!HODIV@UBZ1.P&N>(5.>(Q2,6/T0LWL/QZA6+
M_Y1LBAILW)[MBHV;QO&#ONVHB+ [PNY6L'N;)5YD&_O>6L66UBYCG> V0T3(
M'2%WA-P1<D?('2%WA-QZR-WR</4*N'])UN\^R5")7&'V_MY^P+7NV1%21TC]
M?I%FLRUN\)(RJ><[I)_:]XP .@+H"* C@(X .@+H@=*27 \CG[CYTX?:DEO*
M< I.<Y+5.-\1/NL'\8*B;4B(8#J"Z>\X*W=0C_CTFCSQU6;+?L9TQM!R3E*4
M[YU'J[8C(KGW1! [TC=;>9>@/<O"JFT/J6@;$\<M?L ,%2G>%+&<%-D-KH<6
MLJ4N=&F^6-1YD!X8N,"(B\.%+4B!]->?ZEOV0,H7^B"./,'S;RBMBU></DEK
M$E:39->C!](N\>-]Q5;R5/Z".$?IO.*X+/D92DDNQ([F#E:GGGT4=)1'V_'N
MR6:9$.G4,1HJNMQB5Z5EQ<1RE5NZWN,<LP=]-J15KVB@.+QD/)F_<35]L0"T
MB9O&]B-FP05S1'-1-!<9&+$#B=0)NT/BS_7TH,Y29'3&/P>] (PMR6[UT0Z
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
MHU5=$%L:SYM)Y)]EU?TWN+O_D4.R6G_+SSFO<#9)TVI1Y2\*S/3"M>DA?4T
MOT8D.Z-,[&.6$HZOF=C%8I/<H2=I6)S3/),F1\KV<Z+DN:=Q@; Y>< ,S? 7
MQ/[$9=UW*,;53QIT*JZF]:I3[URK7GV3:#EG+J^E_9 ],'<WQY\^?/C>\@0P
MMPY@?GJVL_,[.LDRTI2TDY-[7ARC)2E1+@WVM?^Q=E18B8UA1@\P/7([&')N
M][;Q3ZJ8L 4M:DBAS6]6MO-/LMP ,L99,[G[FH0C5)O-N+_1*(@-GVEYS6B*
M<<9K(; %\7QS/*FR[*S[^6?I!N?R<J-KQ QEA-0-1T5T^$6T2].=0.0<U6':
M_&BU^XM&VK@/$())7@H8(XBIU_O7@I3\YO:K5N9;]0G@*VFK3%U6DG"!5I\A
M18,)UP$3?RO%A8<GCG :?4W>X4W9 R*Y=#0(O:.V9PP\<ZK'C6@"7YW/_+RX
MQHS0[(X*7>"\$&*JX"2503%*YZG'1X]O8ANSVH:USXQRI==\N">-;]JNJI++
MR])(,6OVW$"3IGS.B*9LUY2Y>?U]3Y?N&0"GBJOXV!H'BLQ*,1OR47'B'!\5
M7J5I8^O435#+H6+PUP$61:R]C[6$/:D$]IDU4K;&/VX+J_5 ,>+-2P65_19J
MZO/0@3@M+:P]U-YJ!Y'CO=9T:F?"'ETHI]F% "Y#7#'_FW(XM@Y$4#&J[=;>
M2,J(&%Y8ZY@?OXSVN-DTSE!PNVW04V^S!%K%J8'<P$%01"<Y *_(3EL'$[B]
MHT$_FY7?*:P4Y [H&S".Y) ;7$[:1:; *TWA:5X<O+=^RUO$?*N8;W5X^58#
MN[GAB3']K'B(>O<KM> L%-M@$LOY 5.L9ZCT$,MY@%;D9V"?L>6L0"L/Y"<F
MQG)RH-4.&CPVPW)>H%40\A_[8SE1T*H*.<9%VT(UC\8YRR.FU[PTVVD  UG;
MI'/9,@D&@?86OV#+.1B@Z2L)T79BP"#,GB(/;/D^&$1I#JNSG1(P<++WC%#;
M&8"&&0=)MMQ.AH=*,=\G2[:N?;BND=*Q(HSU@'XJOSB2$RN\Q HO0KA=;]9,
MO5^O*Y;.Q9Z](;.YIJ:+=:=>"91K^H0\2*]>QC=ZNH84?D*D:^.^*G&-;E Z
MKQM=37=\03OF#SVGOI[>1U4$<?)B/OG/JB"428\@2<D2R6+ +]E1O^!V(P1(
M2\\1YU?3YN7HXK?5#4=%=/B0\35-OR,)!\LK5J]U3=*KL3T0%FQ>A*['R-D
MNK!>&1S6/_+UK_RC"Z.V8P%A_=D0_5R4\1CE.<Z.5O(H>=G691K:C!NTWH@X
M?JY8K:0TJO>F]*2*:?N>(0I1[)Z>CIRY=0Z8G[)[;FF.!F/[F!<4BT(?1(J,
M>:53>Z@*D4$SRGO+H!E-^>5TB/L#]9(-7-RM9NG1'C1#4-%V/>U-"%&V/:Y<
M2W4-ZLK5RA3:SGH%<M7V)7 /) ,B!OHZ;\$8Z#N@RS"4V7ALX;]M=?:1QO3V
M;) 96^1N!SO&2(-S>S!$>O61_Y#P:KEL#@.4)PR7A#6_WZ\OF.SJ-&__!#]>
M]*[T1;?Z^W*K]V/".Y%+6(C\9HG)I+T)Y]6BB:K]*F-H4)[6V2W%;-WHZCXG
MLSJF1B"&5-["M'L/\ROK7^_C0Y@B><^KS%L\J\J*;:Y[7<>C\4NQ$>\><?Z
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
MGF/4\1S[@38U@%U('+0Y+6D'$3W:N UG. '.%^[RKE[[C6W0+2CWZO#K&D*
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
M7$CN>U*L RP%3,MJ^RDM[A@J^!0SAK/?*?M37B^)EJ1$^23[0YS:N[AHM\Q
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
M/0.R=5XLQ6%93_0G;:5*BQX!V=@WP]JP;(>>!\96^.#Q?43RM[O?F5'C&.^
M5:!O]V:#E^QDC$77&$<82Y$>1$B=(P*BO<A X!-A!$R&6=">Y*,-('1&E.#"
M"EW>E6FA:\\%4#%CPR_P PD%[*(4CF*MFZ7SOEDP:5S0%_N0QUJGE1^+1\8@
MV!@$JV!);V#TY#(1KY?3G&2RB&5RCW)4I#CA<[Q#C]F[83'(T(X(:Q*BSR#Z
M#%J4,$Q36HE3\AJMI/PY%L!X1PB^KF6H;1R$>"'HL@N"[DDNMAKF1OKU[8.P
M4"VJ7.[N$[QD."5-N70LQ$DMYHMLLJ"L)'_7WU\S*A!#N9+Y/*7T7O]5D>5"
MRW&OPP>8H"RKA2C*KQ')SHMCM"0ERE7\ZEL'(%_GB0OM?VN>;]@S^]H$)G5R
MS^N0%AN27[?U3_HQXG.QE^0_<C\]H%RJ)9/R&#&V(L5,5_O+J6\ UNAB0<I:
MS9)4"D0M:,)%*B2KBB%SCS!LK&^ET;X,1;,0!#<Q7;^3<GY<\9(N,-N<:BO]
M?G;I&B*$88H%"2^"NK;4Y8AS,B58)OVF6BY;CP.#97G^&F(X;#J%8^8./>V@
M+.O79>KFGZ'/E&:/)%?AC=<_^R>PN6]'3!R6=FTLC@BUMT[;-@3I)2IF1-#0
M+-M+7)X^I7DEHR\-\^[2-01C#V+14K829"D9>-O$/Z$[FTU!YYX60<D4H*$^
M@.<TSS#CI_6-%6;:M=V",J0_K2&IJF]I,>!P<X< 3-!B)L/@3_!]:9AZ=<NP
M9!M/4WUC_\1?E7/,UG+:1+NV;2#279",N8-_)J[9&EX9-1Q-RR!D+Q')UG=-
MZ3>KMFT(TA5V--TU%7:= #&C1C<V7?PSLL6\$B_J%Y2V;0C22T0*G)TB)G.Z
M^ N[[I2D1,V';<<8%GF@Y15MH#(D</R6%@/.-'?PS\0=JT-05L8C5]TP1M'&
MZ)H871.C:UZQ9.'= A?1J*=YA[D6_BYPK]&:60N,Z3<<L4_FU 9.2Y[\U0RQ
MYLE"R[1DSE^)#X<79G0.6#+GK_:&-7.:* 9+IOP5P'!8CO8& TLN_=6FLW]U
M@X0P6<Z'OYISW=]Z6T'KKW*<-8_[77BV)SU 7./NK[1E%B"N<0E.L&43(,*Q
M<%78<@<0ZW1X6="JX=GZ(<&I31:$OSPHC='9X)0E9Q9M KC!K5,W+MU#],"I
M5&X,&UWMX+0J1_[Z6:_^]*KVKZ_C2>A/RW)CT2U $9RRU8[9EL&SX%0K-^YM
M(SC :5>M91)T+<OU]+3,, !W:#I<[&#A[02'9BT(?VEKU8<B@8.R;OSIDTG
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
MTP0#OT]UIV>]>4@:,#MUIUU7\>"3*ES:MO:C2]^7,J2*<XZZ4;L4:?NC)GW
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
M&.)'# 8SA70WFB@*;K*#M(3!9UZ0'@YV"(3_7" 'UK(TJC,Y5$D; &<^EO$
MTP4VY8P&*9<1J.))J,GX4<$1Z3YR_PE54?/#3##=K2C7P.YI]A2'M-LB_(F)
MIRX:">-O+K2&]M\O6%XEL]MG4^B1>^OTD(O$&BY7^J:U 6!4V!EQ$ZL5>]EU
M[*\.YGR2'-O+:2&-9A]9OG=/?V"5WQZX*JY9$M$LYT.-PSXC.JX7K&5=CYJK
M'443%F:?L#YRQ&,RQT1B <K/RP)2])@AKCK6I)O2\_G(N]9 2ZQ>?-JC?>NQ
M)$D$3;^FP2&&,@TNS5!??0B>*T4;<I&V__)!E@F<HIPJ=VY3$QT%,2NU<Q2M
M-1W3 I\PY77K2VZ%E?0Y+"T(!]Q<A46ZX(,;LQ*[?.JFZHM#5Q'5G$G'+Z/T
M,4A^"@J0#7[;OV BNQ!-(;70:.4=G6^Q[Z4J-*Q7U@$0I$(AC#\'./S;?/1F
M@DUBKUOYW-?LN5FUE\X=32!X$BYQ^8FGWZCD&NH5*=,3J=N6]E9U*+8ZW,4K
MA$1 7'1YI<Y@,9B:7&9IQMPNH*LXC0OZ,7Z"I#,%G^>8WZCD$^7[W4_!WUAV
MD03\LM7_5(CH ;DP-"C97@02RIG 0O9@ZH3$RQT1>(@ Y/,Q$C,[S #+9R/%
M>Y"C;YW(7LQ+<Q<UOQ*].)!G_X^JV*E2$^UQ_OO*5:]THSA/A##R?[6S@,N,
M8N(L4L]:;XG>Y/SUAG&YS&2O<6?>#^ H!;X<@]2SYI?<WI;0=*:YMRH)CCT%
MH[^5>2%TPTIS?& /P?-?XF(-9FU^\[IB6?< ^]P+I_>(]4G$4W;FR(B'B/)^
M=,*1*<F#X(%(A$,1?@@6LIR+#"?H3(D"AHYV_A0(0B!?]L/QXW=I0.*9A4ES
M_)B095R!85E&0Y'9YCR-;OE>E\D=[V!0><%')4,B6S]4#=/H? ,9Q0>N?S9)
M81\:+$"RO2FU4(EL?6(,I#4(GY=(JW/,7$Z<MP.=;Q-'HQN\BFI\.?V [J/@
M6^;]7C%UIJ#[Q%#CZ\RR9^1]H?'B?QXX6%B5*J[C-DG9RJ&!@&1[E4!2PV(G
MTSGX71%6)U0G>\/D67)\##2H^M6HSC;8K;W=E_5-7,@E4/.IH72SCRGQQ*,?
MIXJ7IDD?3.L)#1H70^GCP6<N9TD<B5=!R-4J5C(J>'#B.)#^DE5X_2L@^C5I
MY\6$[*&W 00<+XB"7[6=0>F[@,_)"734Q7.F3TKG85AN2F$-X/>,K(C_/F2#
MPW=D_F&IAZ KBYL^,LRBLCK^2<FY]]1)H#Q(]R]H8V*I]HBFQ.O9K.G^)#%J
M'YE?JPZ2QZBA,+P&4>-Z4<%.BA*CMHP\I\;I@//A.4Q*,'W_R%CT)4Z2GH6C
M\RDZW](X"1<Z[S+@OPI1WMYVAH!0=UL^'T'E\Y&.+7YK.:0T)(=-X:5CXQOD
MWUON/E+A4'NSNLAH% ]G"5+Y!&L,&^C:ND.$I$TJXL*35)#W&SJDQ&V&8:%;
M0;MK7FQ%4-QG>*^]N_\\*&E*WR!%;;!OV[*V)TX$=?)95O3@ /B=WJN\J?&<
MH1@Y&]7ZQZS?TJ7ZF7GU6G1O6_0$$;CKE9X*+BGS5TT9[6":IRA)D/X;X78R
MN*F-MI\:RWC<K_77H,9[4&QEDK3?36R<QUTA<<.,<RM5M6Y8E16++LN,:XR#
MI;A5/D'*UE#7UE]S*II0I?DRI@D-X;C)R;+,XY3RO2QDFV6<2I_45_=<#C^Q
M@I*W;_U4Q5*:!89AK?.\6YM8.@T<A]GM8XL4,F\A.L'GWM(@YB#[5HVF(_ZR
M%;'F/?H,.4G,#.?=2O7[:M.XV.\9ZM*L]S%2BM6(V);>&@5IP9B5T&K.!9O&
M8,?.&?MGBDNZS6@82Y1TF] JQUW[^4*W]*[I[K$N(89@.//--X07Y:COGE=3
M7A4_PLX1M)X6HQ9H<1IZ?VLTO@B8[=ERGBZ^&U3_JZ3*)_AD\KU=NWA,F5"V
MVL6 D$XW,RS&K2)"#,-&/[?WD9NZH5NY=9-A10<CZ'B,6W$%OB^"K- 3;9]P
M/Z2:1Z4:6,NVBB&[Q"P/H2'[O=I'I@\B)[;[V\,->S'G';O7EJ_#0L<FKR )
MI=KV.8UH=D>?:%K2'\LX D^*Z_3#:D7#XCU=,7Y19-LX_./K/P[GT9S<(=84
MAB9LW2S6(",E0",5-E*# S.OA$>6 A\1  E'Z#F'Y_3)9.9G2'6%E"L^.I#[
M-V]KJ>>_@<484AKED.>O]?Z1?WBF61CGM*M2G>YWNC*LVK^#W59@D'$#Q9H2
M6E$'WY!VF/F^S%U5NI-?^G*^HW$AAR#"^C,MA<0>%R+&KZ<<78=C]Y#O(A]_
M569\E; OX)#%X&++QP@!]H(_\E69\!LO%3E[!..J],<U%Z B.6\;9ST<A,Q^
MN<3VC=MUKBW7##U-$U<MGPL8U34?2UIP3L-1VGT0J;7&K-#^7FVO2Y!$^)8T
MM$4A$\73P?)0<(OKCE8[1B[644:W8![B*P4 %;M_SLE7'2/^YBOW"T1!F)@F
M6R<N!EE*&$IV0G!SM>1NLSB$B$MDKAK3_6(6F GZUFWCIH!JKUD_W$'X,%<E
M[@&IS"A0ZQ "K+C!01[J%E[13'Q&WI]DX'HAC#*R#::B6'A+K1(Z6.6MDY,R
M%Q&/?+,,=NT_98*!!_K:MN%UW!0G;N<%(FR9Q(\R$M2#UF%TJV'6)MYQ'F6:
MQ4\!'!R#Y4K[FF$S'1]U9SUU<4./K.*4W_WB(.%"FA>96#^HN.3I8T#L<ZV!
M"*I*(<BV\BGWR01399))G41QK?T49+_20BS0474$W^5D342?M'LE1!_CM&/5
M!4\,J!XZ>@:18,D+X0Y.W^!8P.QPUI5A,&^E0 U$/3;R94W30T5#?I+OE9)_
M5E P%KR/F']3T<H.E9Z-Y+O46+9 0X#;*T$E(%KNCI2A3D7(MRHS89OJU&*F
M2M+$7;UV%.?ZTR>64E6_?\2GF%U:D82S: #0MEM ,-$!+D>)VT' US4+PH(O
MNZ @CUR;D*M8&CVE,2=^7'-M:%D6)&6%^-5^,U@0R@4:6C*RY336 5B7Q8\Y
M31(2D)!F11"GIY>AQ@;-"0=@<8XH/R,V<<JW![E[P/X>D'Q+PW@5PV]EBF;^
M81%OJ(?-07<5L"F3/O5E!)XG+YID06J.PMH?HMY&5 A8?QP1'D,'*'#^P>X&
MB'_W /LE'U2T'Q\L+>DT%1ZP 'Z*<V&ZK;,4EV$A0CK$AGC8FC>1G:R",$[B
M(I;+NJA(%CL?+R!:XLOP4S;YY9*N:)954:>7\5,<T33*/XEM\F:U_S/LEK?5
MUGH'>S'$),BD65281H)P+1J)0CEUT<Z;LL@ADII/7/?[IVOJN%=45RB=W/'<
M#0?Q4CM?3B-NC@W>2FMK!D0^-6I(JXVXH=2C(G)8I#4N^0K.1U8UE46Z^.!J
MI?!WRGG#5O!MPW%Y)VP4QDQR/*)A$L"? _[OBA%[UK/]2/9WRE!.0_44+V[]
MX7H!SZOOO+R^.]]5F6<QFG@*_D2C. R2_HMG9P/,67+0D>WMOB*&OR9.1(M;
MN-<I7VP;J=IMY;5->+LPL8[K,3UFK-S"VMN(\E5A5?/9Q[M3MW"P<1[Z>@FZ
M;AY&[N+\UX'<Q2J?3'XA.NW:X6O1GKC/),=*?.Y\=1ECWM07&$Z(YN?_6:90
MK"'(BCB,MP%<S YW^OZ=$]<#ZGU%BY+U/%@"#3DG$@\Y $2.-4/T#FU[T$9T
MKZ^TF+'XBGQ9QUS5BG,PW$&QOG@5[ZNE!:6L(=&8^!MUCH9E)J[_/BSV.#EG
M!N;1US%26VTA^?I@O0B53R8?(Z==.SQ&&@.VUS(.2GSN/$;&F#?Q& &3%M]&
MLOYCHKL%YA@X[,E^?A))#;^#3\5K0\EN1C4C+;M'0I@"&YW7@;@(\O5MQN#V
M&[W??<XAW]IU^D2%2?N<'U]/XI@Z7^9BU?5LF_B.\!4E- G:CW/*UP0"):KP
MD;B&0H(&RY]]U3O 3@XSQ_&)^_)YR9<S@P.@?V?N:X/9FX_[LI[TK*&'WY^G
M8[:Q0[=&-J,]NE=6F!(S)TKS=1J58$,<,N3UM<%(\W%?MJ5Y3P\OS=,QVY#F
MULAF),V]LL*4F#G534JD:&1I'.8##E%]C5"N3\>=67=RVA.<X,HT';4-D6Z/
M;48RW2\P3(V?4S4.FK%\&X3TDJYHF@_I'8,M4=I'9X_6=9":*OF?P6;[+Z0B
M/D$A,30,*VI)SV!GM )&Y(II<'EZUH#N%!X?N.Z_$4D-<KHJ$TC8G3] :;IA
MC[GIW2%S#&#)NDOT<MMDYFK@+4@#D$B$1$ DOPB09)+KG4N>(!WR@F69!%G;
M&Z_VF6O84DJV)((MPG-B(-,96=.D\:@/V68;I%X<[PRL F9Z&AVGT@\RV)/S
M6RH]^T?,3&/-L8GT>[IUD6BPBAZ!N(_:-4>ZZNS]1_Q8C49YS709Z%>TQG(]
MC[8W)%S.CI2:,.&4*S<\[TF<QYD\(%6SV+&NTS"C0<YU+?G?Z_0&PCEN9%WA
M]/%C'"PKS^X>04/T@!0]#4K6MSJ6GOU6!HF,2XGJ=_"P'8 ()[4XJ)D(D$GV
MZ#P5@-.?)V: ^89BUN[I$Z?$1UG5IH=$_7=4R!!G]@7+BR%C#;:3*7%LRL3<
MU;>I$9$:DI#//2@B4$T/;K,X],EN,8<Q+:$8<$9E1C]^EV["_?*&6=LVL[(]
ML\2W'J/0]*7Y.!X-.4\3E_0G^F599CM($?53D.=!N"XA#CF_DD%$N_YUK/<E
M9O&J4;"O23<H%N0 !ZF!X!>IK2$:<5A;U<,3TR:+)O5SP\/BTQ1!-H'I$Y?9
M1SBF'T1$;3 <W#W<$K.,NGNTO6P$5=(BBU\DI@9@^[B"-9.(81=[L!Z6Q8@(
M,0VV3E481>)9X: -IHB'X/F.,^N.P@CX4A-D^2_?TY2NXD+FO(3KV/(X"P,<
M?_RN%G84HK%-!Z5V6L!C73-]#J'2"N0:65:X((@++)O\")!92_25T%DP K?P
M*W+!8V,3CF(^G(R"'KJDQ1=*TRJ[)CW(!4>?M^*YYU7%QZ^EB9C_-AQM";=6
M$>6XY#S?;I-=E>*61/R;O(A#LJ(1UQ,3 GEM2RZ2NW:'_/XG\[?P/0M^KO[T
M*F%Y_K5T'@M%1;521)7+"R-+<\B4*\+.A-&_VLM:HB _E;)0Y;$YN%][4[]M
M+GSF3(BG!NZQ)_"22Z.?@U 8 #Y(N1J(Y%/Z A7:-]BS]5@_05VLMYH^J0!,
MB/\S/"1#:7T'=9'-GA%/-2.JW<9+<*":O#$$QR>NG585V/[ETML(LT)..K,>
MH=$J=(M>! 908^7^0,&6N4S:Q7L]B'._/# U=OE^6#@/PZRD$>9%H?]38T\)
MIR3TA>V)9DNFFZJB(MSLE)B$J7:&H[?B=;#,9XR(W"(U$/*JAO(U6*GJ>6S!
M\9E"5FL1#;[SC+'9^;XB]>'J>*XTX/ZM9*@U?O?HZM6^%_KQ)0ZYCLR 1Q1M
M%,NA?7?<0OA-[JN&ZIAT,$VN38W5#/)U0O.F[,K-JEV,I4M'5/L"%<LYV+.3
M;%G#$/2C/0V/"'%RU!#V-138ZB"MJ/]1&;DG/@5)V<[XFY=91J%*F%2I(<MO
M7>$ @CA^K>L;5":OJJ)24_T@\A'SJK:R&&(:IOKQ;X"5D7BI!7L<C2XX7^/B
M_#&C(B'S@&._WJ<H3W\U$M9=_R6,RKU! B$2"6F@3 @$L#5*(]?5H#7XK!Y\
M* <?U A]^/]KBA^;PNV)J^QS*G*:T @>JSZRH?)D(TTQJZBG2]NKIB$KWE )
M$,:O$6-C,+(FRF9H\$Y*$H['PPH8$Q6FP[NI,3 LV7$2Q3I(Z14+-N=@Y,K*
MO/@8?,G+>. 8T?L2%=FB1,%Z$$L+!0$8I,%!*B#XY6%KB$84.'!H32,(-(G3
M.A.4R/O 4I)4(P\> RCSP__<2O#9YM@*.):7VVT2^XDWTY13-F%FIB9[*Y=Y
M',5!MONQ##+.=Y8-O R,MT8E<>OMU7K"MH8RV9.>D)C-X$",G#WY?GR/^_$]
MPC_JE_9C[:S^U%\TEX*0,4V&3UPD5V66Q@5?F5?Q,_P'G%4OI.O"T&K1^ RS
M;!2ZM[U^&@@+4H-8".6_P8%?3%:&AUM530Q@%5F6[&0IH1AR$Z[BD$H'[9S/
MG2AB$A1D'3Q1DC((1]OPW5Q6.TBI/,CJU5D]:0OS0T"695P5/,I(6=1%#:#C
MA/'?0D1FM. ')#\OPUAXK@2B_)HD"%%)-:AJ75=E4B"S6T%3X5 .O8F^_]ZD
M5HQ;P=WY+B_HQL>)J;-6&%9"IIZ5X9I&94)O5GLO]NR)3W]W+:7SI'9GOUF!
M^\QC&O^=1K>BDHQP<'^_.P<_,\B_-Q[I[9PXZB1W!=*Z8E -!!9(*XA%C*6_
M\-M^//#=?D1$#DG&N"S(^QT1PR(P+A.AYS-FN^E ]>" Q2,N>K#1!J*T%+\\
MQ/QB$//=#=P\H:=ED(@M,5]36K0+W I#C]CM:U.QK/[T#7F XG.;0/@@)F5$
MCRJ."Q+U-Q( ="L-8ZR$,R#8QD60")FHO213,#.3AZ91+K;RX)$K9(]![1LI
MQ 78YD,?<[[S,+]R;<J =T>?6 *N7=)H.!YDI/?E)//>( 5WUKX&1FTBGQYD
M9&N(AHV!63/RZ@96QQ_Y- ZJR=V)K5"#TS-P!1.;[&VP@QU QP^LZSN33F#M
M_MUY@,DC9RO)&O..FC86S2=[52#S\8;J%*4Q5ZA^GDY]UZUUC<LJF\!#\-SR
MN?K$!RF>T3N#D;0_1KWMJA)QXAZBC$;_==?".-_)<:92FWS0=YV"Y#I@@3@3
M[U=-Q@EPHE+.+.%V3O'E*J4*OA"/#S6^11,0U37TW6DP4? L_TDW_&8 MM=]
M)!6__:54%,D^Z$P8<DXZBKCR&Q9Q;U^R+&:093M^Z9!UMJO.P0U&WH/@OO0%
M[CF.4W_@M@8V338<Q&]^3K/F9M&*@CJ/_E;FA4ADT+5)FNW95HSF. +[%X,]
M@H/83"NAF#;&B]]ZA!5!FC4Z(B]%,$@]IN,82+$1J(=,=H8_5A8*3KWLFP3^
M%ZC,3=- 1':*73#X,M= 2(WUI!/ZJ"LT4P.V]AO@N;#V\W_4OZL<@@],(&E4
M([KHU]F,=8H*")M*W'YYEW8JK8P]9L%&?P/R,$PC#AC5/K"D7*<X-K=VJ16F
M=)DJ6KO%>MC4FJW'5\BUN:7"[ C&U(Q(+*WS3EW&?&?CZUCX#_,=$&(/GRCD
M01U(BZ3_.2HWDCH9!_GWFD1=-9;*D[Y!(U(/3TB39'.TDS>)># 9.*0G_*#&
MGSKUL AQ]9%/"2&[;.H437V"[G[XR#(^6>+-ZOUNWZ1*K2;>/,1O\^L\+VET
M'G(1*!-1!*[SJ=D6$=23LFDP3DQ$QE'KOPG[YQLB3DD0K]YS#Y_6]\#A0;3=
MK@(OW]07\D\YD0-8D)?.Q(G[M=AB]VZR55A4+(!5][E _K;K%5TDDLUCN(C&
M8C,5>EE>;]V'3^@1OROY>)ZVMELQ-U+@ZTBH0L1^!+_)3JN5V9Z=;OX'".:]
MXQ] =;=#3>20G[V] KT@+XQ;N$W\QXSE^?'FW<2HON)ZM?Q-F?++X=?2K1M*
M8A_MU]5F/;C)OZ1]NWMWF;Q9#TSQU.CZ=1"#%_#%.J:K#\\T+.$0N!&>PQF_
MW]]R&8BCP?A99!>H^'L]4M:M<14<(O"0!A"I$ DS48-I0DEFV\,V8IV3E^5_
MSDD-=R%^O8X?US0O")?=7V7NLYI+TC\]6Y O:T;6 ;P9DC*1E6P(_SYXI*($
M(R>RY=(?5V^:M1=CE7\*> P=2%_'O+[L+QFX)8H'"WD'WCL\KN*,XX$M"JSG
M48.LPB-Z T_*)87$CRQ.*T_'[FY]A.$C5QPS(4_&'-6O2G",[]X3*V.CCNLY
MNKMISN3:9%VZATMPI%>[:1(RFO3S=L 1XY[;S0/C2G*L5R&I\\0V.63Y=K,$
M1^N09=$^PB4OPY!2$3&SXM3X)K:C =^"8.^J\O@*_T091U-I1U[]I_'+Y]0C
M>J($F+ATYK=!'%VQK$X]<@NI5&Y60IOJOU J?86^+ [V[NXB. @#=VTQ/#+L
M!2XG@$,LLB:7T&V=0V=&XS.B;IT8SKZLXW M-:/*_)]#U!WL4%PW"G;M/V5R
M)ZJ9U"0:DLG%?=VXU)8?0\Z,6_?N2[J*4]CZ4OG8S&<:WET@UF,?_]'CXJWU
M+=+-6XF&*_=H)3 8!W!+HT1L4!42TH8BWAH7(O3.B_^WGIRQ26RU=JCS^\I#
M\/R7N%BOF8A1Y@UZ#"U0UNF1_A1DO])"?*NG")B@9%9YF(+(L\(Q!;K!0]PM
M!\TK-F#3X ,@K1&(9GU7O@6IQD'D0,C+9J@9M[**(U(+@B*]E>TZW]M]]BI5
MOSHE?G&H4K5"=\'_[$MKEM@RB1]ES8]9Z5M&=KEQ'<V<G!@KI3D0OON)I4\T
MYW=TJ5B*2)7C>B)_Y3?\!TZJ\U2Q1V5:,4Y3:)R<)N9A3ZCEZ8]SB%/D[>NW
M;U[D6$WZ#1_'#X#?[DFF!GD#)IL@HNW"ITV 06]6A^K#?8:='14)JX [B^IR
M'N==AL,*3B0+R(AZ3^LXB]J60WZ^@%=S_7>(V^;86PV\%EPUOJ6=5F2U(X%S
M.CJNN#!;/SG:1+P?' #FY9T;@-KO5HKC&^[4>/L2A_J/>6BL^,"*]3_4J7&P
MG5DY-$X%<"YGQB?Z7#Q\H<D3_8FEQ;H[MM<V,:]GR#&HEW66'*/WM]%.YR/J
M;'GS[B4/^1_SC$G!0^0?Y83IW?2,GS3#XCB7$T=<HKXP^^:M/0WO=Q2.Y64=
M*Q5HS\8>#-=P%Y37+W"D_YAG1^5M^X]R>ASO9'9L6L?B-[GDPG:;B%"$(+FC
M19S)L(0JR/^R<9P<]LG%=H(KT*!)S'[=ACT@LD=$:DADCXG\,LGCUO[(\1F#
MP#F?#[#E:@LOI'F;-]F>-TTJ#6@4RL#]ZN]1[9;OY944+<G,S"1-7<XT65W'
M*1"(_H,&2;&^AA\@,/96)H^Y+]CV(\OS<W&:=*YF9!^HQ:Q)RXT/BR8H_85L
M?=08OQ,.ZJP"120JTL B%:X%9,_8$H!&9CMXP]J6K([!1YW J,%;I.82_W?.
M=2:I4XG<[$%6Q$&2@+-_BYMKR<VXX6:5R,G'!H==W,S(]+EUR?T(Z6I%O438
MC:M A!X7W,&V2)?;SCY=N=AV$L>XU!H:!6)+NN$++!#5# 2&?$$ 0QW$Y+.L
M_+"T,"WFN5T34*(72@@]!0GL=>?%!>1LY3S^&:H5]RP.M8^0JV2X<U?+91@%
M9MV8'A>RTC9I85@0?JVO81"!P^<J4A0KAN/IY)OQ9A-DNYO5>9U>\(IEEZQ<
M%JLRJ3.@BY7]1-.2MG)N*@2Q&NX;=X\V@\'^]5K@%!%=-5)Q;:RQDJ9P@"QS
M+>"2%EXCT:[>N&6C:-&>B5'-Q*#-Q*QB8K ?AI?+N.%5PJQ.IOMS'$K,88]S
MY6\GG.JC-*SGZX#S3R:FY_^@>QS8\]S"B&0]K_N"7QT1AWO7X."07]+'.$UE
MD@MA69_=B#^DD<'QTC12&ZE%549]2;%)/':[T52%S&@T&-[?L]/H?8S<:M2(
M6-=31C)(>!%+3?ZS:4R=J''?9E7F:4'REO-YS<G>Q8_K@614RA]A=.31SFT+
M50.@JO-90R " S[!E(6!&;&Z;IOQRHB\;3W>3(SW%;3Y2L#\ZNMOR(<@7%><
M$+FA$II753 ?XYQ?E\'TRI((*C\7;-^7R.X.[4"@@Y1?+5(*_W]6K%F9\Q.F
M6,LBR%6.NQ6YYR<6[_N<_&>9QEQKO@4[;QAOI7&J-4DBM72E:%>]>U"<U=<$
MP\F#S@F4UT=03L-O'MG3MQ&-Y>G#_W%\Z/!?_?<YEZ(().DJ"1Z/EGSOWS57
M]TD_MA=R0XP -:<BT<\S-LH(+RDTJL=22##PH?(SD0F&ZC_(1(GYF$.TV5ZG
MI=W 4G><D ,+<T*J#G><F9#$H\)2Y>^H<=;IUIJ_2J@+ EB)!$M4&&0WW<=D
MR3]-!&)FTMSN+I]SJ-V<RW23?9M%=R/DVC_LS'J]LEQ6B*_I+<@M2^)P1WZI
M_JML_[0DCCV\96H,<RLLG^B7RA#(-;S;C*7\GZ%PY<DE-^7_]EKY)W:#%#A=
M<M;KT] O9 ^('"*:G7RB)XN9F@&W,OX Y7S+;"=N+3)QQWGX6PD^>#WBK/ %
M4G('>G:E @U P*@W1D>$4%UJ^O)26I<B@1HD*F.RM,14!(@A>.AVX?P8Q"EX
M.-VD]P&D/^7K'(I/[4 =*L"*NX4%W[.&]#Y&+B<U(JY6EAH:S"(S/L[# M5Z
M*^X5H/E:.D>RE.1!(BL2;BM0"U'=H!!O&%1MU):6H:8,LFD,=[LX3\O5BZR%
M05A [JF+,B_8AF9U >==SRI%]H)<KIK4]-?M$\V6#''YE6;-RAT LT"MCPRW
M(VG"FN7($3I!C8F\JE%]#0G,:V B71VIH2V(XO@M;5+8)<@,S8';;4MJ-S=E
MD1?\?."7AYZ-J;<=<NLYZ<_5$CPAC%ED!M"C_2_>5P7G7O$5)#-R?^UU"-H.
M%=H#L+30^T6:*;/)L?,5VVQ8VKJ5C*];E4^PKE8#73NH3[X!75?>,:O$]&Q/
MW[MP*?&=89CI5N3V+[0Z4J?X%5+P1GIWYQPQ7_%3G0"&Y*KON]5-L:99$Z<C
M:\@K7ZF&/C9VD^HBXN^:T87&S.UBXCBG&#X$:1(H#,;956%0M 9O".-\M.K]
M<E'RI9\65R(G!F1\X&K=)9^2#D>8L:8(GYB^+JVK$9(ND80)4":<- ':SIUE
M1OG*=)CEVH5F65RG>9$)7[SW01[G]ULNV=%-^G.0Q1"^<,<AONGUE='['.T4
MHT;&G?>+&AZ<FXNML:+\698%V:-9$(&'2$!@M*XAD3O7*P\M@FPJKWT$I>]+
M #]PZN?/<9_6--9\4FCZ:;>V5YR@VRZRO2! FOP"Q/T\^X]R^"2<>XQM/K?\
MZQ0<G_,"Y/S#:D5#J/1Z2_ELI$7PV!>G@>K#R.8_0LO/"3 ":OHQ8'S4)LZ"
M&I38^Q>DP4541^[D1% 5SMYC08OWOAV@^?VCW,AB\)\A!"=(PC(1-Y.JT4U3
M50AR2X'CT=WI;<%:_\:<HI$X_+E'(P&;<91VQBUC+M,MQ.2SJ%&VQ]PTW:->
MD!JW3T74]&(9]*,V,J?^5=E+M@GB5$.9/?S H#HK._:FT$KR\U%IC_@\HM1V
M,<^JW>NR"A^4UI1;\:)YQ7]W?"]2:HNP?/7V:5N :L*U[4N2)H*V<]/7.&>9
M%KL<BHPLWJ$B,"<M)XM+TZ-K81&&TCF(RBE/.P6EAU&N7^_3G"5Q),Y2M3@.
ME4_0K_?]7=M_O6_1GET\AA+3&8:33K:EV]HKI^?Y9K#=A"WIH#]G&U)U;'E[
MM!GF)E-FD>\']5NH-1Q'PVE55#\S]HA^V+V_Y_-#'&8>SM%CF_)D7A&MD\/,
MY=F\1XP&'\R'^&=UH_T .3]V'S8T>^2WY!\S]J585TDW.K9;A=:(37>@5]NK
M1)(F-6TBB==I1YQOP"K\99I,\_F0<A6$M#M)OF)S(\\C^V[]O(3LZ4]_])@R
M%A/O&T!?*6N]DW>,#H'I?;+HXYP3/1;,00/J:_O/$[16Z,:9L@K$O&FH!PQC
M8UQP<(+>;X(D>5_F<4KS+NO)0"OTB7G0FZ.34M D-5%/!V0W&YDB;_S$.=]1
MJ-05/;"/<5$]0=S3HI!E;GI.1ZUO)T8Y#])P'>0\"&9*C+.I44ZYMOS$/\GB
M("'LB4*.N.P1RKRIC<YR++.:H'6$,FOPU<5FO*9),G:+Z6J$WXI;G;G:B8&D
MYYM*)P^9&F.<Z%W7Z8IE&R&/'_E1<%W0S=#;QE#S"7I95[?.]+06<?(+D">"
MOEMSM#*3F2[G7(N1R%ZO)D('3<V(C^C2C^@(TK.0FD.^]DM,![,<'#ZWY3*)
MPZN$!<=JW6 ;]-'3ZLO1R2,I$D'2T\'3Q4"FQ!4'$G 5)S2[X/K0(\OZ]8_.
M5F@I..C-D1P(FJ0FZDD2NMG(%'GCTS@Z$+#0W]"(0=1%D,*1Y=!G<,( -WNM
MA=,"$I ;1Q4,=T>W+ .GQ?LB*#I]<52:H[>2[FX=[2EU$&-#G4CRGG:7$18S
M7;[YW&\^!9MAS]*QYD;VGGVWCG>@!0'2?GU*1SG<NQ_UL<VM0-U1P!,69<;E
M^T*8KOJ.L*&F2$'JZM*V$!W0)"'+<:D&S$!'/. =XJ\H^ZQ7.2@73(=C#@[D
MGUE2ID60216R_R3N:8<^@H_Z<W3V-E2E9N_KS.UC)E/FD-M-L7YENF";99P*
MRX-(L)O'\,_*,GX!.T?/5JG? 7(#52=DO93+GBQ^4[4Y',166\,A+3Q5JNAJ
MI!4D<C$^8DN[+T+4V'2&.]BI_T*3Y'^G[$MZ3X.<I32ZSO/RI-J9<GOTSMW3
MKZ,='*B?_0KD24V?2 ">]O(Q-C-MWCF.SF-IQ%(1[;P,TE]O5BNHB 8Q@Q^O
MW]_<=9?4PWR+C=E3H6$]?$^ ( T*4L$08:?DE4#RM6*=/5O!?%ISP28QV(_V
M\>$Y+L36VY>6J+_A1&UBWZ']RY@ R<\:KX=G!P<[#LD^MK@5CW;*GD'C3W]#
MI'B<=FA;/ [R+ODU] QPDZFSR'5VU'@CH R>:CVMT-E/#WJSG^V4DZO$P^=Q
MU,=$IL@9WP%6=S2D\1.(KGJBTHYOC(56M?KV%U?5 F$FJ HWJBFNB2V*"Y)2
M/\Z(:J(S&$[5RSFW"^<\^EN9%Z)PV0,[CR)Q30Z2VR".KM.+8!L70?(0/,L$
M2E><"=UUPGN6F.'>D8O1$ KK%^3G$$PS1?!,EC(5C*POU%-P'K. O7$"8:MJ
M886RWGNT!."*>B82,&0TXXRAA",G=8XA4?S[OL6Z"V766=HS3*\%9GE:W>Y#
M]^&:1B64FCI\5,S'4C:H?XC</<8)V-X8:@109(Q?]A_/^&K:D*.WX[QR?_2>
MSD%C0AB>R[[52[GE\$5%\_U)KJQH#GYM3.7LI.)/^>R$8T8-G3K2:0KIJDPC
ML?1B>0X5@&,F>NFPI UJJ I,]6<H&O!,[&MFP$CDPBOQR$3DSR>QEX\]YB'?
M"9+_JPPR?C(FNZLX#=(P#I*VH_V(&J'W,5*4U(C8%K &!6E@'(51>-8@-.>"
M36.P"Z=9"M4(.9:(/O]OVN]OW],.[R9[V)\K_UA)E0BRA-/UY1C;PTVFS"+7
MKK#;C'*9%3X+:72^ 1_=OP^95Q2^0#O$]O;L+D%)+P1<CA*#(T*E*=G37_#+
MVS:A8K>%*M%M, ORB:7;C$5E*'_TYP>I(EX,P6$'.^X=?8SY%3*07LF]&VYW
M,_1^>]B=H^UV3U1XCWO:;'LXR539HRH3Y8HC@6E_\[;>/OEO_ON!9IN/+$B[
MWP7[6^ANCZ<]V9YEH$: G.)SH 7 416WVG&P#-Z+^7:0"\M4W-(N,UIE@R\8
M$7:LA"/+OW&[P0T(!%-@FH,-K-,1HN_/Z W+C=-#M5%Y\7;H91D;XX/52?Y(
M'X-$TNZP9 RT0$SU44_V,^5S<J2><_?FBR'F,06..'Y_;6E)-ZMKOLFFC_$R
MH8,E5M4^PKZ6#G;N2OL?1H%Z^S0\+LR39@L"/.;L01")PJ>VKRA4#,=1MZOJ
M 4S89;83I95_#I*R[VFFOR%R]9QVZ&K%G%+&K)))^*<\H]2$99%O$A0BZ&9!
MWKY;?/_]N[KF-__UDA5K?G\.A5Y&OGO#FW A$/=H_H\_>5D[ V+$U'GKPA(Y
M4/:^WRRI\!'>1CG0N2N#I8! [F5U>8F"W,R@NKSF%# <7_T_I3_Q6R++8@U/
MS8YO##Z;-WW[?"QO0)AZ(L>,:LJ.KCP$AX_AIU(S\@3>PS2K6_5#%L JO=]M
MEBSIV)4[_X[8@ _ZL6['DL2(I.9\&^WF&1MEA.LGH.-R@9]H5<4D#JO?0L!.
M[WN0WN?HQR$U,NY>BM3PF"G*:6JLQFIN<D"D1M3\"3"15Q<9C>+B:[^/2)HR
M.5@]4X7Y?I)GWT"YSBV3<>8WJT'[C=(W$Y-E=_;M.DEV)X@IR;&GCFJ*/O,*
M0'Q-$@Y#^.4'";\FL!799FQ+LV*W(-L$7N'@)DI_*^.M]US9P_+5D2-;@;V.
MW<+A_B)B[*-+D69'KGYYHQ%_O)&U=#\\TRR,<QKU+#E\1UBW<6V"]N-+)"&0
M66ED856EYI2?(/!+>?.MGNWX.;-B&:'U5\J78 _\.%S6#_HG:T/4VUW?@* R
M<]QV;*X%%](Q#\WN1E@S[4%GSDRT!U11YMF)N!%*YR=6\$WA02%HU)9QM7OB
MF1I7'"=CX?KJS4JJW5=!&"=QL?LI>(XWY>8]RS+V!3+%!5O^E^+8#71*%]C4
M+!JD7*T1'4R8%61WS(CU!8#@])602(UI02I4I(%%U,9M*S\-1BZ9"<;/0N44
M[S4&-,[Q?LPJG/WTYJUOSDGY4IBS<=U+=2)<I\L5&?%N WZ!?<B"- ^$VW'^
M?M?^RT"TE7X'Z-2ZJH0<Y'@2.1(%09\16@C>L^D,]2>@@]FA^AL:$#@WCI)'
M@N4S.]0 -WM$R']VJ.%+KT[>D@D]63$7><E'<M^3>&3F)A+EK!F36>Y8NFF2
M0!EMFM(L2"# )MK$J0BH*.(G>E3+_5B\M#[&RK 2$>MB*U$LR*/$L1 &^>
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
MS<&5!1&%6O<<SGM^B$8#&;B&FZ+R;W5W:3W[%I E0%?DHA*4)R3?,C4(9#X
MR&Z8RY4(4?W%.F/EXYID]#&&DCEUV']+/TQAY%R+? Q@+\B@7FM!0RC\%B:\
MS1,E94YA?6<4/DPCL=:7@DW\%^*'JB\?Z;M&Y)#IS(MCEX'.NWV?C\!@8ZQ3
M0&>GCO)SW:.,.78'@C/A=5/WX[\P+"9,CV6.$PO#'B./Q=%Z-(-ML8F$N_JT
M+4.":%7QT$\ZW4%.,BWVS.7-_G-.5V7R,5[I^^V??FK\_7U/PO\K^QZ+V;?T
M*6-$&!$''2T71*(AX\-T_J[>(6Y*K^=]_'6[ INTAVI^CF/-D2NMKUL'8;60
ML)(3GIT;XRBGF2[[_+BWWPQY!6L6N-+N::*SN@;%^?BDS\WM'#-MG=6PD',Q
MT:"BG)[1>#)&+ZD7S:59])I4<6\YC8Z2$PN;1W=R@&W&HC(L1!.=! $G*0'
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
MX;0P:V425,124,=K2=Z[9IDI\,/U32\O;E9PW($'PCW-GN*0YO<LZ7_E'/L
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
MPS_2?]%?#K^B_WG(&DQ_\W]02P,$%     @ LTIO3AZBLX1S;@  OPH* !4
M  !U9G!T+3(P,3@Q,C,Q7W!R92YX;6SMO5MSX[B2+OI^(LY_Z-/[F=-=U?>)
M67N'?*OMV:ZRQW9U[WE: 9.0A-44H09(V^I??P!2LF69N)($2 @1'5V6!("9
MR020^64B\1__ZWF5?_,("46X^,>W'_[M^V^_@46*,U0L_O'MU[MD=G=Z>?GM
M-[0$109R7,!_?%O@;__7__Q__Y__^/^2Y!,L( $ES+YYV'QSOZR*#)(SO(+?
M_-^3VZMODF^^_^'?/_XP^_S-U_O3;SY^_^&WY/L?D@\_)<G__(\<%7_^.__?
M Z#P&T9$0>N/__AV69;K?__NNZ>GIW][?B#YOV&R^.[C]]__\-VN];?;YOS7
MK'SIL-_XI^^:'U^:OAOZZ8>Z[8???OOMN_K7EZ84M35D@W[X[O]^OKI+EW %
M$E1PB:2<%HK^G=9?7N$4E+48E2Q\(VS!/R6[9@G_*OGP,?GAP[\]T^Q;)O5O
MOFE$1W .;^'\&_[OU]O+-\^LYNORWU*\8B-^^/7#QQ\^?,=;?<<H+N$*%F7"
MZ<VJ'"8()8\@KVJR$_:&D[\JD*/YAKW]!*0IKHJ2,A;K)RX)G/_C6SYVLAN7
M$_4_.@Y;;M9,IRA:K7/X[7=['*X)I&S4>I K]L6V/6?% ;<-6?"YA$RGMY+?
M49;C](U,.#%TIX$4IO^VP(_?91#5%/$_:H$EWW_8OL?_P;[ZYWE1HG+#)@M
MQ>ZA.7B ^3^^%?W<T)1S-<-D*ZM>:;J""Y W3YX](]I"EJ"%*64[PN: /M2Z
M3TG94 ;SDO)/A^2QK_YYMWV1U_/?=Z]Q5F3_]?(29]MW>(9HFF-:$7C/7N )
M(^#/ U9Z&LV$[?<3AW_SSR^XA/0>7Z""+2<(Y'<[M:6S!UH2D)8'I!OVZOQF
M*IHL %COO9WM-X=O:/OU/UOD)6)%O\?$V4@^^F/D13?8(@HOV9^'\UK=T"/1
M]^ AARJ"WS22$;N_I\Q(^@TFS&#YQ[?,Z&&_S"$A,+MJGB'<H.O-I2:$/; V
M,OZ=OW68_>/;DE0O5 "2OMNIW@ZT;?'=&A"^2Z5+E&>[WG."5^93'>N)ACUX
M(+&4S(Z$5VYDHU9:;#4UAY..&Z61[=)895M,G7F%^F,-(T9;!!^F*@+=]3X4
M9= Q+W#/-N&K[/[CNU9OIB]7KF#;0\(<:^;*$+;\YIMDOMLIF),ZQV35N#M5
M :H,,4]=WYVS'GIXEZXC:=&MZ]^MB_Y-]&^\,/)?NS7@15LN7U< $0!@USDZ
M;]%YB\Y;=-ZB\Q:=M^B\C<EYZ[*?._;5?DGF )$Z$@43/'_CN3#&JGI[2$S=
M-+-177EH-E1%YRPZ9^/P:@)APZ=S=L&F/X?2X"M]5.63:?6)KEATQ:(K%EVQ
MZ(I%5RRZ8F-TQ0RV<;<>V&\\V8_)*$O@\QH6%!JD."H&<.17J0B(+E1TH:Q-
MQEV,^P9L^(HW*[)9HVQ7"#R@')4(:F18]C3:Q%VO0-B(Z8O1[8IN5W2[HMOE
MV^>(;E=TN^1N5R\&EUN'[*<$%8_L$R:,-M/(5WMG1XZ8[.'1"8M.V#C,]T#8
M\.F%7&ZG^4;?\]7I$MVIZ$Y%=RJZ4]&=BNY4=*?&Z$[I[^+.?*8,IW7B7%W"
M M:*NW_H2=]_TAQH>%_*B) !_:H9(R+CA%SD8-'BP;3^/KAG=5H1KM073 %!
M_M\0D/,B.V.B:R%0U71P6L^V;[*AX 82A+,+]EV;/ZALZYA:+B\]6M^U=$;I
M7C:SR(#7;>Z#YC;[7:>I,UH;+11/,&D[9U3>LP=)B-O_>7":&LOIE#V6\&3[
M##[_'[@1@E*"=JZHQ*L5+NY*MG??+9FE0*^KLJYLAHJVY5Z_DROZF^7]%JXQ
M*=GCN<W6NESI-'=$\[A0RN:AYRM(%DP@GPA^*I?L!:]!(=99:6M'%%^@'))3
MMM8LF"DJI+2UE2,*;ZJ''*47.0:'T)ZTC2/J;N$"<2._*+^ 5=O:*6OFB,:[
M)<QSE3*V-7)%WPKD^4E%F2%!Q8M.:RM'%/Z.\XKY(Z29"&(:!>T<4?D'>X/_
MI\!/Q1T$%!<PNZ2T@D1(K:)]&)$=*\KN">"[\-UF]8#S%KI:?P\'$3YJ<$_+
M;3@&B,]$$/I^8:#J\9Y;K+O_!ZHG"HE('39MD7P,0R22_41;%#^$(0H]I%%;
M*C^&(16E&Z8MD)]"$H@.$*$MF9]#DHS4$]$6R2\AB43+W=$6S:\AB48#B=(6
MS&\A"48".NB;;4%9LOJHM;Z @C)LA5BDOCP"L6I5P**^0 *Q;<5Q-'U1!&+0
M:L0[]642B$VKE0N@+Y5 [%G-; Y]N01BU$IRAIQEC*6XH#A'&;^I*WD .;^Y
M*J%+"$N:-)PN88G8:S.HA& ^YO!Y9+8TQ:,ZPP1TNF?^[YFQ-X!<DSI+-:O+
MBK EIK9L#\BWZ.F5K<8ZGU7E$A/T]VNE>C$[HAXC8*-VU;59>-MZ!.2+TX%,
MNKAGY&:W3]I,%+/.OIG3G"YZG<;!C'32J#N,@PGUU-'L%8_$F1%]/7\Y#':#
M*:JM:/D12Y.NP9SU&X;8>P(!K<AF3Z4%%$M:AI.08J5AWL\IQF0=]XIQ?&DZ
M\22>W6%=&_,T.%TQD)#<UIUZQDYWR;09SU-/WNDNE>[1P9$&/,Q$8PP:33V?
MQUH\/2TS(PU^=!1+IS5FI'&/CB+IOL",-)/'3"Y*-]!93*BYH">AU6H%R(9?
MSD/1HD!SE )^$+^I(L?>5K+&.4J1<9%LFZ%=74MD35H,%!V0-52@B))R#X5A
MGP[)X[<U?P;/:%6M/L/5P[OC4\+?'9&&"CEI;;^[(>T6% O8\CI;?W-(DE!6
M+;\&5C-00.(M3'- :;TZ\97O>GZVW?]NX2,LJG:1V73U5F6^208O,D R^G7-
M _>L_<_??VSGS*:O!]:R?U6TK)7B I-S0C YQ4ST*7\1K0N\14_?;'V!3Z^O
MX8;@@OV9;F?"^[6ETQ@>6'UB.L6S_V2LM+69>(7-0-CP62CTG-FN> -A;>!?
MK_G$E:YERO8>6'B[[M!9D=T0A$F3T[<WA6_ABV%]LMG[L&U89+,5G]R2233D
MHSR$+E-8 $;/*]W25Z]J[H^!KP5=PY09#S"3[E?*]AY8X#[U"6"N/L]EAP7=
MP@B$&Y&U*IUL7MO<@ W_KE[+7Q=TIH0Y*/@)8#GW S[*@^!>_>"]37GK!:MJ
M'9MUCBD>9D2_+!3BA53:-B9QR(FM'BC\JV*$G#\JUVQ96^^D*TQ61>M1D"]?
M<57M/60 L2=>SV<95IMZLJ8!Y0#%,N6Q3'E,CC)@OAUXQ0KP<^I<.W$!<0=L
M+10!VV%NV&3?"D54<BL:&SN^H<BE'>O$+EWA4$2ILL&QL;4;C&2$B;&2R.34
M,SVE>[\D2#SU/$XYW^*X_=3?MWX6N"2^%(H0E-N*9G!DZI/!0"GLXZ?!*$U7
M<]8B>R"X_'#QV1,=B# 45;*WQ3HIR50RY85*,GS4-A0-&QS<L,[U"N[@@OHX
MG3@T%HJZ&>,7\M2#X$YQ#'CJ="JG-H[^U*GA_8\VF0UNSW!\3$BSS+-_4\RH
M-;L$4CV&HU,9&C3$XQ<'9/5P_$*0>ZZ=:=Y;7OFD\_0A>N0+*_T"!?DCJG;N
M,Q=.FOIX=[P\WA5N3$=)\HBJ^3@8D*:/J#M,//$Y$#9\YF]? $3J\]XS2F%)
M/]?'-6%V7;#)6Q'"-O\30!']6N '"DD]F2^+=56RGS%;:7)4:]7)INY^ROTR
MJ4H._3B/ MPG2K*N*-N[9V&[E5TPN_$4%[5*_H'*Y2ESE? *$E4RK&GWF [K
M,Z=T8EY,S*Z+V74QN\Y"*Y3V*S8W%$.1C7H/QJY-EE!$JP;>- V@4#!J/5W3
M1!9"$8I:2_3<[U#DH;58ZT$JX2>']!?$F'[Z0@QBM(G%SB-U&\;X(:'5>IW7
MWX \20%=)O,</R7H]9*5Q#"L832FHS"'!4TQ[.$L[#&F:$,_L,DI4[ +IE]W
M>UKWNGPH3W:;=I\X]!P(&SX1] @N3M:ZB.!B!!<CN#A2YVSD+GMTSBR=,SL+
MRZUS]B//R=H!+89.6&M?1\Z6Y-G1J8I.U3B,]4#8\.ES7&%0T$9A",CX6?+K
M<@G)'CK<0KB Q4YC17<KNEO1W8KN5G2WHKL5W:TQNEL];.]N?:^?$\P)3!![
M0+% C,($U)DWIM$P]4".O#)=0J*+%EVT<?@V@;#ATT6[?)GL3=Z@OD-FT#.Z
M7]']BNY7=+^B^Q7=K^A^C='],M[,W3I;OR1K@M>0E)MDG==70A99 O^JT)JW
M,72X] 9SY'29$!,=K^AXC<-C"80-GX[7S7;:\^K*Y:S(SG=S7M\#LQDBNF+1
M%8NN6'3%HBL67;'HBHW1%;/?U=WZ9+\FB#DC#R7,"DA-LP_;.SORN60/CSY6
M_SY6JTFF=0-]ZY4#6^(45Q(,3EK;+1#[I(EOB1B:M'<W..R1);BPPPE)0ED)
M;]/JY,//5O5,9DOHMG)S=LHV"%3.%@3"]\5U]QUYPZZ! 0X"$GFQ=90A0#:?
M*D#8YH0)%8M0W;H'DKX6E%<WJ8M1X/P1%8OF/5T 7M&DW(C),^O9)ZGWD*QX
MMHL&;>U-QU'2,=:D='YD^(V"2N0O;NB;:*G,94T] (W,0-2'XA2M_9!_6; ]
MH.+;@419Q U]$ZV\Z5W5W <#!#VRQ>(1[@IZ\-M+%$RHN_ADY%7 MXC^*54D
M=9>)QPL"8<-OOAESS^$K]*.V)C1ZC(8-Z4S7ZN,E Q 2YN7<,KKNGL!:>EFZ
MO+&'$V:H@-=S;<M(U7P<#%QQYY-(=4FWFX\S?T6&BUI/'D#QY_5\#KF7Q?3E
MZO+D^E:J749]W;-6GTC8E=>4L"%LYXGD+[C@D#+@=Z0TB]#Y,[\-6'!]A$57
M'^%SM()<,Z0\"%IYJ5VNCT^8]/$2&B^R![;:E#S<NEN$I)SH=(F)"3X3$X8A
M]G= $*> ST#)KBQJYI=@Z?XK;AC3/V+ZQZ$X8OK'3B)AIW](KT\7!KFFSK4V
M['_$I?QU0 QL!16$(B$M^!#;X*;A2$B(U&-34#P4F4B@'"QJ%;(\A*8TUK==
M0Y&%$NS#MGA:*!)2YVBJH-)0LE7UM,0 D0E%,&H5D7OOH<A!9V&U@*^UQ3/9
M:U D28=3UPVINR?)_YSZ2Y?S+4[)G3K?)FN!-/*@+8C)W_RCM,&"6 B,+$Z3
MY-A09HR&2*Q2KK7E\^.XY:.>2*HTO5"FD +DT$Z/#F7FF,AC"/=DY#N0QL)R
MS.+1@PSUP_/:<OEIW'+166]ULUG#67G- 'B=5$!MV?P\;MG$BV#M0WV*;#AM
MD?PR;I&H540[D3D4+3$,>IHG'&H+ZM=Q"\I%N8C?IBH"W2R\4((RAN4BM$Z>
MO<K&166(#]\GJ)ZZ20F>C2^F$O1V5!M"^O18'.* K.,HP"<@\;IH]K;_K BB
M&4JY HH/=:M;3_Q462!L^#P<Q^8W<ZA0>HJKHB3RTP'2MKX.Q-V#YUE5+C&1
M'\.2-QX#\1H'^<3-/3)@4KY?W<7#\884%H @?($)3 %5'"N1-O9'_->"KF&*
MY@AF4CU2MO=TO&169-Q7R]4;FUFO>,3'C.B=?DA64FG;>#I)3FSU0.%?%2/D
M_/%=?/&09EE;[Z3SS&>9DLA;CX)\^4*I:N^>!;9Q-F&24T#(9H[)$R"9Y!TH
MVX^$!671%<U>\1A</ ;W#JJ*Q^#V8%TQI#-UYO6,$VQL" <C%\5^C(UWOE D
MHP &W@735#YX*')16P_8<H<.14+J^)&F!19*\%5/94R0Z5 DHQNIE^.3H4A#
M?\G50)Q#R;K4%XH1]!6*>#2"]3J00RA3R-Z>"SGWU""C0PQ>!J,BIJZ0+*81
M_JF'_M*>)I^('-.>!!>6ZH8O'><^?4@*6.YRB-:0)'3)>$]V-.DF02F&<94-
MI45&3(LZ(.LXTJ)&F+P3"!L^<Y#. 2E0L: WD-SQN:[*(U&VCU'_>.-HC+7%
M6%N,M4W=EYJ*CQU]*3-?2G,+=^Q(?4QHR6A(\)J/GX B2^!?%=-@[HZP9NB1
M>20Y*(S/EQ@/[,K9LB0LNE_.W*_3)4!D!8K3)8+S\V>85ORE7,_G*(5D5F0W
M3"%0)DPF[#!$#\2?,_W%&\BC%5]P ;>?[KC*7:_EAU<,N_;BZ+X\Y@P1F+*!
MZL==[F8"OQY93+!%]\"\<P&)]TO(-Q--,:I;NW>49CR0K<AX;6WCGM13O%KA
MHE8\:7:QL)U/'.-ZSLCB1Z_K[>T6YG5-)DQ+6AL))X"9,#=@4RNJ\GK$?D:=
M.*P3"!L^T2F^ /%4)LG<;VOBCU!I+G5[(Q^W$]73\ 80Q<DW<4._1-\39A6#
M.N^"GFSV?Y$HBOD /IAD<PZEC)AZ=_A:H)+>WGU5W!NET<<#P/FRON_O #-"
M>"71>KT_V;S; ^J-_'4W9^:QSKP:\E$1SHYP=H2S(YP=X>PAM:+=@<,NE_A0
M1&EAYF!]BR\4*;5Z#5C/5 ]%!NH BMBW"B6()-0#$S@LE#QOJ3"L(=905$4]
M720P9"A"$&_4UG&#4&:/6C]L$8A0E,?2-.D<1@M%PY16LB*P$,I1$Z4<#""Q
M4&3B(B%HLN=+8D*0O*9LG^$ZQVE#/R0O+V*;3K,C1S<_2#R"JT0@%04QX^>
MK.,X<"$@\6:G*_64O*E(NF33\A8MEI(T).U./1!X!PF"=/:?58$PX28=2M&Z
MKO#^2H4X1\)^! \)'SF@]'I>TR*-4(D;>B/Z#\#!T_*:U$H@B9LJVX^$!9T7
M(.LQ\32-0-CPF6WRLFSO3U>=:IRB]C%X'& 94?Z2ESAG?@ ]K].U^>ZO7XC9
MN'^,C\?XN-ACB_'Q8XB/JW<:K&]LAB(4M6'Z7BAJ S 4Z1B@87+S)93H@]X<
MZNI^!B<MH?IH^H6A"$1OM;' 6D*)3KF(0$PV"!,C$-((A*53Y#C6\&-"J_4Z
MK[\">4)@B4CS^P,LX!R5QF>3]4=T%8LPI2C&)F)L8@_ZW].=VQ?5.=EJC@9(
MTFF0B4.?@;#A$\%]51>>C:@X-2QO/ ;B%8?SY,TC^!P@^+RW-.Z2+=_JP1E;
M) N8;5=+Q25770:+L'2$I2,L?=RPM&('Q::;52ART4D%5]L>H2!G^EK2QXX4
MBM1<P&F3110CG-8.I_7@/CO&U'Y*6)L5*FM3JZZ!E^*"AUH@,\.@,:"F.9PK
M-,V(G BE'264UE_ML:V>S8KL=%_+]'.3[ :9.%X5"!NC2)R,P,_4#(R(?43L
M(V(?(_7/)NNB1O],FN[0Q<YR[)_]G.S*..P2 .RJL*O&<>61Z=$17;'HBG5Q
MQ5XKE!79#LC<(C <Q5064+898N+^2R!L1#<LNF'1#8MN6'3#?/L@T0V+;IC2
M#;.TLAP[8;\F%"[JSQDH@:GKU=[;E<,E>WITLZ*;-0ZS/1 VO'H?S32_A6M,
M.)YE4!)!OV=TJJ)3%9VJZ%1%IRHZ5=&I&J-39;R9N_6E/GY?QWM*GHA'<8ZR
M^C&&+I5\$$>>E0X1T<'JW\%JM= H*?>L,_;ID#SVU6YJ?()X0<!ZB5*0M\I/
MJZTCDG<ZMT](BVRUVO;@QNXPFCOX" FSZ."N&O&LR&YA/32;!'7%8O7UQL:#
M],# %024K81DQ0Q2^27,\I8]D/(9/[+UF?'\.TCKZC;GSQP.@V*2]'KT@5;
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
MV"W37WY!=)$RHNL%SU &]D/Z%,37@KS<BLU(WNHKO<5Y?H$)O__94 RV T8
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
MPBOT"+/+@IF?BWI3X-D57RF<5_D5FHL47Z>K3[6^+%+"+_8Y@\V_E\5[TU3
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
M*D'.8R9UX+R.-&DM'_V.[A.PJR>%XM1S:QOWI#*1K7!1VT+2$^;"=NY)YE.
MGTJ0"+>MB3]"I>=\VQMY();@%,*,UC/JU9"GN_5>=)Q3V<_G1+R%.;]&Z 80
M11TA<4._1-\S:Y&".B^<GFSV?Y%HO_D /IBD)=M:&3&UTGPM4$EO[[Y*UR"M
M/AXB';:&_I>*$\YLJ)=-KK%3MCD8?POGW(!/]!KGZLJ6*_&%*+1'@'*.P#-[
MN/:X!Y;=X>,F*<*#K8Y>%C>0()S=8V:C7A9LL2HH2GG"BS  ZN#14Q9M _[L
MF/M$,!7&OOM_TI0%=UV5E-_IQ3S<9N8-)+9WSYFDT/8AMYT*]"VPMF>,6EA4
MQ,FKZUID6C[.D(_R)#A#,$DF&,.A8B;2.#*1AB*61Z7J1>*L8IOXHEDHZHW<
M3+6,!])3K(DEVL0$K)B )4FW:4=AL<NM*Q116J!.6!^ "T5*K<@TUH.#0Y&!
M.N5/C-^'DO8HU .3H%\H94&DPK!.W0E%5=3311)+#$4(XHW:.A\ME-FCU@_;
M@% HRF-IFG1.SPQ%PY16LB([()3*1$HY&$0H0Y&)BR,LDRU'%(^P"(^P#!Z$
M/:9"/D[RC8^P]H_#1(MCJ@DTW+& (ZPE-'@$]PBK$+G*<CG"$D4.\C2.L%"1
MCSRB(ZQ=9)SLK"VCWZ8OHZ&.?^D;\@%X1W;GK?1%%("STV/NC+[< O!IW)U1
MU!=K ,Y,;_DV^E*+SHM6-J6^0 /P7 8XYJHOOW#<DX%.G[Z*TDEMG1^2E]>Q
MK2G3L8:.]H"N:N48$A1KXAR0=5Q%*@6DWNQ4J)[$-Q5)EVPBWZ+%4E*P1[M3
MKP1R%3]#CSS4G-$=RB0AA9XA'HI\J$I8FWH@7=:-KN=[L=H]Z$_.Z=!/[[=^
M!#,&()W]9U4@3'AD'Z5H#7C5Z[<,B5^QW0@>#N_G@-+K>?-Z9 <PQ V]$?T'
MX$9>>4UJA9&<9E:V'PD+.B] UF,D;!S@#=L?Z?97^L&$0=58/H^RM!+\ M^_
MU%0\!7D.LY,-7\+>MC41A,FX7H7RNCJS9>^:U%MPX\/N:D>*V%;W],G8VW7;
MD#>]SJ,XE[6_T$O65&7[>+0L%KF.9ZSB&:M>@1?A8H/U+=50A**V:M\+16T]
MAB(=@XQ*^0X62@:[WASJZKL&)RVA^F@ZE:$(1&^UL4"W0CGAX"*+?;*)_#&+
MO3W<Y@\?/:;<=GN X0@3UGM'GXXI+;T3W'.$F>>]8+Z.(^,_)K1:KYMK3T&>
M$%@BTOS^L+N$MV.HW/X)KF+G72F,P?0#LHXKF-X/='K&%*U@>U"C<;R&PXS2
M:M7D4W_EZ30@3^N3:,5BV^CZ(4>+>A(P\RGE5UCQR]4%J&MOX_O$]=\SP2\B
MYN>++ZJR(KO[B+>)<?0+>ZGW3S!_A)]Q42Y%"'K'4<<ED"^P;++_4/IR.S,5
M!>=TN_NM6;Y;CCE]BEL$Y(W'0+RB[+J\>0Q#!5CA<,_VV-5M>:L';V>IM"1\
MM\%B#"[&X(XC!J?8)[#IDAR*7'1J)ZEWV%#"!/I:TL>Z&XK47,0.)AL^B;$#
M(7QFZXP<(?@_F#-_A"&"GKU_Q_CM3PEKLT+-":WZBNR4D<5>.V0V+^P,WEH.
M[PJY[41>A&TC;-O9>[^"@/*SXK>-Z??,3SR*$(?6MJ-(DX[@SM3\M8AO1'S#
MLP\V63<T^F!"8UAKBW)LXOZ<[ J8[^+QR9I9Z9UM6]-Q71FU=G1%:_:HK5GA
MV>]\?HD*ROS8[']#D)?+2_Z!/1[>$+P@@)=M6U]A2F<KC@FT$6TZAN=X>+T*
M[]<>N4+@ >5,#>K\+#1'D%^*D%:$+YGBP+C9..-* IA1"DMZ@0G_L/V>ZC!M
M-LX(F#[%19,XS%X0)Y(#A+<PQ8M"<N&Q5M_HF$7'+#IFT3&+CEETS/P[9E9;
MUC%%QOJP5(\S^M7-T#W" S&=[63' ,JO"86+^G,&2M 5-M$;S1588D)-A$B.
M&B+IQ\O9'1Z\7D-2YU?<-?HG\M"$[7WZESNB;N$:DY*;89I<O.\0W>3H)D<W
M.;K)T4V.;K)_TUQ_GSHFW]C4%''KGWS\OHYOECQWC^(<94W%^&YNBMF@CKP5
M&Z*BT]*_T])JR%%2[AEQ[-,A>>RK?VYGS"?(T:3U$J4@;Y6?5EM').]T<)^0
M%MEJM>W!-=P=C[F#_-X<#LUM,ZOKM)-Z:#8I.+!)Q17)K0?I@8$Z1^8>DA4S
M7.L;0X14REOV0,IG_,B6<<;S[R"M5_1MQHZ8)+T>?2  \.FA(AN^#7\&E()T
M65%8EO0"I#6V*";1K&<$*R2^YFY67&!27\5>I65]%Y/ ZQ0U]WO\?X^09G;S
MVD-\:N_.:?"_1778=;N/AL73)2 +**YO\+[I>$AG@JQ%3"%YE%=IT.H5 :7P
MJAWP0[3</=M3 &E%#&7[B(E%3"QL3$S/,,=&3L?496*ZDV#C%244"8EA1 .'
M;^J8JO84LG9 IBXADP(@!L9;*&(Q66=ZP"="J8-A*C83=&*XQ*-QRT@'5 I%
M?V(9^A@&M(ETZ< D1Q@ M 7#CC O5A<*=1PJ_9"LV!<$@3S!S+)(:]5.N'7:
M5!_K&C6U'=]5 +4;?3&6>D"6UUCJ%2JW%:E.^:'S]HBDN)$/(H4%?'6:!AJI
M$EW5C?--16"Y! 6\P& UXUI&*EI>@2=:B<K8FO?T4/+GY3W?O:P[S7F2V1-@
M^V!VP?:;ZW()Z^O&-@)@VW"4F&8[CJC(Q$# &%*((04!'BK96;')AC9U6>@!
MY2H[9.I IUHCK/?FJ8O&)1@U63PN@E'BFEK=+#W'",/'!*1_58BB/I*PM09S
MA1T8$!.!@OZ! H&?>%)1-GDH/<6KAVU$XQ07%&7U&05<W!-0T&89^ .3/SF>
M"]:H!/DL^Q?;=_C[;7,B>QC6SN42L'F&8 [3DJ!4DM4L;'1<T,'NG,I+I.NZ
M*6S>2IR@K4]_>:=[L]?EIOZ30/GM3]K]QL&2.+]3T7H4Y-] DO+-90&OY[]C
M'FN^+)@) 6E)MT(750^S&VP,"KFW&.X1OQ<%4KU0]0 ^V6R*E_+[51>-D;J1
MWA6G:CX.!J0KAKJ##R8HA?#EC.'KPCROBQ>!5%1^4-W1:\D$6%X6S,B$O'R0
M@(,W;7P2NXM>WN/M\K.;P)!^(F+Z5=W\GC1XA$4%N:^T4X<_4+D\9<8:$SAA
M<L\K?C4\+\7#_LONP;. 2XN1(OH>T?>(OD?TO5_X2&4F8VO7(!0)*4VT=Z7K
MU;90*+)18[%:;E@HZ+S.9-+ 6$(1AUH[]-R?4.2AM9+TJ1^3C>3$S.H8S!('
ML_H!OXXP]]K4MSZFG.N! C;#+53C$Z$UAJ8MI!^G+R23@)&V7'Z:OEPZH_S:
MPOHY&&'U@")J2^V78*0F1<C=9KI\2&BU6@&R2? \H6A1H#E*>7$^D-;78_/#
M/FN<H_HB86;,('[R)$LJ"N=5GN3HD7W->JX)9JMMN=E6]N-W$$,V9];[IU%V
M;.J66'=/F:MR[;XXBPD]!V1Y/?GS&3RC5;5J3801_NZ(-%3(26O[W0UIMQR[
M$!R3>O>;0Y*$LFKYM8?LH(N*%*BL"+Q S_P?7E*!WUY2\4U/G%MET*T'(E_7
M/?\KX+X4QD27CSP89KXT1Y]W?UZN&,F/M2 $RF/3UU/JR!+GF39#&CW<L_$9
M,!.S@&3#Q'R^4QPI&QH]/.1?;*<!OPZHW"?L9*-(2C+H.2*VSG<+PM=Z/;CB
MRX$I@VUC)!]&R*PR*\N@YXC8VHE]+DK7T.CI\WW%/)G)1K1'9YG$+)SPLW#:
MW2:L<%VFSK6-G8$[;&VAR$L=+#:VW$))K;!4)6W_(Y24"TLY63B>H6B6_$B^
M /.:.O/2?4D"/TY]FLCY%B/"H:0C62X/VOC'<('^<<O)"OR=^F2*:7Z32/-[
MA.0!CS-2WPFG&VX/GJ+$Q/B8VXR'GQ/,JXPDB#V@6" V&Q)07UR?S"N^*B9@
MA4F)_FYN)<3SEH9V"0W]/]A1OL)0A,=TA .RAJLO(L05^W^W6H'6H53*)6I]
MP;R0$O*5/[M\H6Y6$S?;HWY;O'\V9U;6?T- +E@' <3=842?9W/-R/["IOW]
M$\P?X6=<E$M1?*+;H-,11Z\J,3UMJ"G&E2BN;3?8M-B_9X_O[_77HTU, $^X
M/_:?\$B9_P)%)3_DG9(?1A"8?6?RQVCRR",VKLVO&"P./UCL$D\;:5QB"GC:
M:,^]]&O3'^'QV5[LH6,Z4]NO&7V$1VG[<<".Z7AMKX[[$9Z_[1$$&_! +BY!
M/C'IM?B2;B,OOS(W(H,/)<SX^>HDQ\6"O;Q5PK^SC*F8#.DH6F).4HR#.(N#
M\%('5Q@4XA-R[2V&#,&8*(Q6<,5< UW",Z=LC47E[A9QR2$@<4/?1$O/O<B:
MNB?\C+WSRX)?W<GU0R)M<4/?1'\!*_E)(U5S#^<0V93C"PFG3$!T6Q._A)Y6
MA-L@&O1N6R;%K^.@_ LN4FWBWS?V4L89Y_R2][>+A?2(IU:?&"*((8)^0@1&
M1D0$_X\'_)<8"MAT3PY%)A)3%9M8AJ'(0QT=41GWH<2)]#3#8&\/13!J%5%Y
M)*%(0K&@JD")>$@C'M((=P.1@MUB'WJ M>&W1@X%4\1RVW;$XA"YZ,&M%MH2
M$?G];F,@'SXR1PNG?R:X+KC[4H&CW#!_BQ<0YV$L7IR#)KQV.$$I+^/1=*D*
MQ.M]L":\N655S:&>[ZIVYK#TQU#, 5D>CJ0,]HKU2@ .JV N4:[Z8FU%I;76
M-CX T9TH[[@DOS)!TMN[KPI 5*./!VQQR3:O$T!A?;8:%G2[L[Y<NG*R>6VR
MO0^A?@OGM9:]>@*TO@W]?@F*;7'V3VR(DE[RJR80%MW+ZOKQX0KX#X@62Z9=
MLT=(P +6/YZQM>("(/([R"LA;CPV^D)Z1<R*>V3S'F;-#0;.7\'!\Y,?HY"'
M%_)/00MY?.N,/FF!Z_^D7TV0L^;WFGEO-M#;QWM-@'#%Y/CF@"5](WQ%5"2#
M5[>LR'@E%64.U)"/BDDE,:FDIRK&@X$K,0/E>#)0VC$K['(Q#$64ZHBC!" ,
M)0"OU"<#I#$4F;B(QD\EQ#C":/RZ-GW9\TDYQDBT-_QMN.D7)6X,!@6W$'AZ
M [+ 2W"I3Z.0L2&F,,#Q]O%G&WD#V88[$W]<*M\)1AON:'VST9X71Z;TBIB7
MMKR-;\D^=GD;!U)&FS"XK=U&N4 >N$"2=$]H"6PJ9@R?.&A'Q_@2"+OP$1,)
M#\@:+I'PG&D,WD .V;%)#;>?:J2FF>OB8@^&77LD]@Z21Y3"]O7M96VJES)Z
MSXO-[/]^BFFI*J,\Z,/L2JP.+1)1+>%!'C)>$;36$Q[F*2,6PON:PD,\HU<!
M]!$VL]NS^LZ,[K)SQ@SI]@HT>+7"1;TU2;.BA>W<D]S?]H/9?"MO88H7!?H;
MBM)^!GN>SQ+<QY09']-A8CJ,BMB)Q=D][Z@Q+2:FQ<2TF)@6TZ\^64,GH42$
ME5--886'$K6-F5,F:T?,G!I!YM3XZIX[16J'FV6!"S9>IN$(0QYN;SP"B3J^
M?&.LMR X0P(=YP+\Q+W^%2IK9ZV&"U*VRB/FOA4I@B\HP0H5:%6MDAPRGI-U
MX\C1I"K8:V8C%2DH4ICSO3GAEW4#/D+3V/9N:P^4N<H7\,59S" X(,M'*2+W
M+U\O%.=+*5T"R-<[BJYJ@BYJECXW'&W!*7HF/'ZLV=MG:$>31'E=?K-!?-Z-
MJTGI9<&O<N+&C"C*83[0--AFMEL_;.\&F@3;M1/0"]^O(TV#\2?<#]O;<7PR
M'2.4DPUYC,[0B#'+XXE9QIND(UAN _!TLWJ/"03ORYHX)J"[/\/SF,#LWMR4
M 0'KZ0M-Y-(.=RIVM"B_)<3C&+/_+?FK H1I7KY)YJA@AC ">8**.2:K)GFO
M*D"5H;K25;5: 5('&MHZ9: $M@#]P&2X0N.=L!&A]Q% [P._:3V<W8FZ.3V3
M 4C!5DQZ \DN*HI2 ?31VM8GRG1(T!G*JU)\'*2]M4\&/A%,Z0W!<R2"\UM:
MN"?S"RPO"[86PRM&S.R1:2QW3>_Q7E;C$N?,FJ R]3$<Q>=[N86/L*C@!3-"
M3G%1$I"6?Z!R>5K1DM%/&!LYF^3%8D:9G<$LGWOP+&"ZPT@1M8VH;4^H[=#;
M5H1H(T0;(=I10+1CK%G5>1,,3G&DXA+:?$>(N78T&H\0;]7RTHX04M5T_]RB
M@1\_)B#]JT(4-0=^V>K'P^K\*_;8.KZ>(_# ;__FT77V>[5B--MA?OT\S!&R
MUR>Q$;]SAM^=5)1-0DK9^OS ?(8F;[Z@**NA>5S<$U#09CGY Y,_^17W8(U*
MD,^R?S%S8-62V-CSL,,P^7HDX#)C#T-SQ/>I6:VULT9ILUF17;VJ[*S1V*;)
MBPGT">/L">6YIA"&>NS(A+2-V^__D*9L-]EO.K3$=&BPO !*(,$S!'.8\O.R
M5%RR3MBH!P+8K,H@/]O/!'+"9E@F)D/1=,C(0#\[A1;^W^>FY!(CV\V#V2OQ
M6UV7E\W1[C<.EL1%NQ2M_9&OL:%]4/"D,X3/8PT#+,)-R[J$K[YP!GAH0,)D
MHT#TR'NJYI"+1P<AV+>F JZ*DMZ C21*X90&KY=5#LOIV1:PV.*.7J1]0$,P
MTKYD'GZQ0"^-7^JHBSP7'S0D'T(1-E,>1OC&B5 /GC5MT=T0?K"DW/#R9"5K
MP2\ 6+?!"RZ?[3.GP9+!W91J9?0+[%F<ND_S4&\7T.6.2A[(VO,D!"*0]/"Z
M&^S";E>(E@)@0=W2/=D7J$ EO$*/[]?_D\UG\"],3G/F<$N<0(L11L7F*XG*
M>K>6HWC(@)-;#5UPR9YRWW!15U8MX6Q!8%,64SIIU!W<,['+?K_'VP5IMSQ#
M6@>;!:SH=HN9:C%3K9],M9X UIB/=CSY:"IH%UO#V:%(R,;NP3W9$J'(4)WR
MIQ5B""6136?2:40G0Q&'6CNL?8]01-1Q$5*ZHL/E1DY*3KK>QW")D=,0EW;.
M0BAZY2)M?^2Z$M/VS3)FS=S_4#8JC1+-O6<C#K#(C/_">!-\?, \_K%6L^B2
MWC-<>O^HYJ*WQ)3ABJN$+E]!E%E;H#]'@9HEIVE+]I=@3OIX">5KR_E74SD_
M0O* PY>T<5*/ML1_"V'-:(^$ZAO=T_9(O!Q_T1>NODLS?K/<;Q*JOLR#<(5&
M<4A)7^;ZWM6(93Z*]%]]F1^SBV:6#NCLZ#9-ES"KV.J%4/((\JHIH<.3$_ZJ
M0([F&U[-'&Q7.O/#VIV&'_YX=@_DQ0/9!V2Y+:C8Z0VJ#DKVH!XQD\Q/)MDP
MQ/Z^4X)9GN,G?O$#9>OY+5N-R".D)R#G7PEXT.J;_!@R<S^-E;G3)2 +F/%:
M/+2&1I[Y58EVS K&\GE>0D[P&5OC4OZK:+G0[:YY%&!B<<9A-H>8UGD\:9VQ
MS."H\Q76D""<L>>3<HS.O97=,)S>C#94TLNN?)39"];[^W"I#,V</"\F*"^!
ML>L,T4G9F\(YRD!= 7GW-4WP/$D!729S1K,!@F,TW/"(C04Y$:%QAM#<$)Q"
MF%&> U47-+U>URO'^3,D*:*MIZQ-^[EWGUY3W>@]YEAOD:(<OBGGRO85IGV,
MC4?$-.UD\Y7R*/#++3XSMH ^-H#O ZV+!@M<K2$?Y>F@>9'Q?WBR ?.2.&.S
M\A00PMTCOI"*G&RMOC[ADN&9\PB7M!-X4^_*3!4)OY7J##;_&O'8/H3/FEZ[
M\%8SP^[!\]8T/($%%%]FHNCELVK+&62[;8KJO9;]G</:5"FRV0J3$OT-)'4>
M3+IZN"/GF5E:E,EZ*^1ZM]C6A8;9*3\K4M":QHOFCH?]U5# <:<QO5X8I$UX
MR];061@M8WHM!/*)65A\<[PNSA!=XR;U^GK>A& %W$K[>.7F<'F\+/2*KBG[
M^5R66HE3%+XUZ#HNUMKNAM@1*ZJ 93C*N!A^V0?A7JJY-J.MO4<V!7?IWB9J
MNM=G9-R\+."[XSQRO\1\@%$PR?-N7[<JV6:@UWEL+_$-B3;KJ'*$,;!Y0^ :
M($505M5M9*].7:-6VL<K-U]@V09!Z!O=^@/X= SUJ50LGO8#C89IOI%1+1]"
M?X 1OML6*NW>K<9 HV%:WS_4'V"$[]8<C+4?R/.]MF)^WK?Q5\'O%N8\BG./
MF=W//1Q^^1F3Z@4F[9B#@"O;X;QNH9)Z!.PM7<_W#Y0K^-898ER\FM8SUA_
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
M.J*1 )/AI(-HI9I9.###)=R/44*V<<10,N]UEV85E#% #HC?!"*M=<8JB#-
MVOUT1&48SALNVWZTFY<&>CM<EOT8%Q^]N,$0.?;CGU:J<)"^5(*PB4VB!OJB
M"<<P=ABXUA=O$):V5CA97R93.,RJ)QAI_%1?($&8T7K)<:&@/DIN)9)I2;P+
M!=WI(I;6E#Y]P8S\K+/>).H67!IN<GDHD&0M"@MQMD:O0IF3 PI2+\CK[%Q(
M@4N8?$Q(@[6S?U.\*&JL*P$97M=_X'D":)K\_/W/2<;/D>4&UYIW&W_X$R1]
MT!>/E1R0U<.QDO<ZQ;_YY^N+Z^L5[H+WPXSN/H-A6Y^*K2AW?&4!)*-?U_R
M%&O_X_>_?89\&3IDWJ:O%];BU>HJ&67_JAIPC%Y@\@4^O;Y31G#!_DR;,W(M
M4[?3&!Z.4X$\;5[75[;ZDFVX^%.%,L (O"S.YW.8E@V <8_7*&7S4ZK^W0?T
M<:8LT!NC@S@L%]RER6>(S0%&0@I/8/D$82&=)'S%G#,_2&OV]3GTR$]'^2/S
MDILN()^MUSE*FVT,$H2STV;GXSD M9#O"2BVMQJ)]XEN@TV!^5;#NZ_A1G3/
M8[RT,M[[&(^7Q!,8$SB!<<^>>#V?;5UOJ44A:QI0MOU R$7,SC^>['P[CQ^;
M3+501-71Z,5]VX^AR%5].J(/=R.4 %5_6M@7Z!6*9-5ZV $>#45(G?<+BTC#
M<.=6ICIU^T?,0I&QB].&4TE3C*<-M=*(!KG[47\9'W]JN?^+'Z>RZ-CI6; W
M%^L>7QWL@J0@#B8.=)5+$'G4@U4W#R)!UMTY^I'?"^3I'/W(+_XQ/D(O$H._
M3-7==QFB8+$@C0V5/&R2<@F3%?@7)@DGMJX+OF O-F$N9T*W;S:A[-7VFMC:
M/SE>\V"'8B>FS1Z0-50U=DK*O?@:^W1('ON*VZ59E9;79+OBM="H:N:4T/W%
MN?5%:[7M(27YO%BPA1/R2@CL,6=LLN2X-NC;8Y,&77H@[A[CO'G*9\#V@ *2
MC9@L96/W"=S]KST=\KV'6@@=9\WP&2&-F[>VB2DD,87$>0K)Q #'<:PI,7$C
M_,0-I2F&C0R@J8M#'?30LUVG'I_540N-77[JB+R6& PLWJDC\=KR,'),ICY9
M7 :+1SI18K#8.Z3N C7]\/WV.L2DY"6<]CXD:X(?$>66J!T":C.T(S33GK2(
M3/:/3)KB039O3PO;L5<+I\=?FZCN!<QXI5[=2ZPT>WECQ^Q*+GDGGU<8;2FK
M-PMF*%VQ1YN^([V^_HXL;W7([(WI==:[\V)8]NSX&J$J[DA[HT]VW.D,X?/=
M]7*AG\]W%:'=R;H'_9L4$:8-'Z9U"3%,%F6)$$.;-(Q,^>"41$<T)A;T<$#=
M: LMFWE/PT'<'NJ@FF54FSDKPV6=CUY0-O[!<(GHHYUXAL[B<,GHHY60L61\
M@.395M2U&0\HA26MDR_RU],7/6'F%D_R!*%;4QH1=6>(^FR71F1:?-"H<U+P
M>W-Z(WKO<;-:K=@?N^^VB\0I7O%_P?:LX7;-H((:E[T.ZC+.83'%K,(>UE/9
M*UJ[IXNZ4.U>%UNE[;T8:*.._(S1$\KY/8R7;,DN%HAYQLU/"N9TAD@^C(E5
M28'!]L;)J%X5OW.L8$_?Z/+PKL,(F&!_G++/J#P%A&SFF#SQNANZ'+7W'I66
M::_O-YB6!):(U OD[EL#2?3QF"D);'<)#[_[]+4!/RK9N]#4CQJEX&XAS\J&
M/--VEJ:D N_WYUX&FPKSNQ:W+<99[P./I;*W9#O>_:26A=EX7F\;:*?:].(%
MPU&\<AQ#N),-OPSN'L6(;HSHQHANC.BJ*_A8VWW!Z8Z9Q 1>=7#',-JE,@"F
M.?633;W/P Z>_'"1X;!DJ>O@#Q<ZGJ@\C9SAX<+*CY \X'%G*MC@X]H",ZYR
M-B6!Z:&\VK+2KWWVM@#J_5A3%S2#%=H"^BV@"K%=<1Q]XU;?'YBJU&R0/WWY
MV=8E'OVTU(OZZ@M*WV$8NZ Z9G<XSL7Z-:%P47_.0 F2 I8)!3E[EP^;9 7(
MG^RS9>Z5^<BN<JUL*8NY50=D>:VC^)G7;-H5 FB[95G>R V17\ *7L_?4"&L
MH:ALVT?.&F16U!JD]<+$/!UQC4)YRSY(J1B+F%_#(2%"T*:'QY_B@E9,Q.*'
MM[?HHY!E#M.2X *E5%*Z4M2H!P(NBXPI&$$@%S]?U*:'QW]F;D\J>W9K@QX>
M;%%-Y :2E&\]BW?1O-X&'#3IT7ROTTMRM-U#8UW+&#F/D7.[R+G%G(N1\O C
MY0H[%QM9EU,7ACIFKN,63#WZJU8)E9TU]4BOI@1D-O[40[::(I#[6%./M>H*
M0</;G7J85%,4"L=SN'#GJ*0@=W^GOC^X3*X;Z081D^N\5V0-9.ZTBZMG>,AM
M6.CC]\F:1Y&3E-E'.$<9V-ZAP);$*BTK7K>:_49+VY/Y]@]P=4-71P)CK.B
M+*^QHKL&-_D$\8* ]9([/<(PC+*M(Y)W^KA/B"#*I6S; \3\!3X]5&2SQJ3\
M#"@%Z;*BL"SI!4CKFV/%:+Y9ST&OOK*>U%J@>-<UPR7>>E)1MFU1>OZ,2IX1
M2C\<LJILZ /0WY-D38P0KS]L&*N11D"^]XNF[.=[Q.6/ Y=7[\S8R.J8NDST
MX'E->V;JGJ2V@EB;45.74,2I(DYEB5.I[-;AIL9HJT&JK6+'*-/'!*1_58@V
M-W2N"4[FF*Q @HKZW_K;J@!5AOA=G99(4Z>'N$*;>B R(D[](TZB(HH(UD$R
M:0*GL-&@"$<G1=)#.7K051](Q^R5Z/I/ F&K1AOW&P=+[^> 9NM1D']#\ 57
MGG- "K8YT1M(=J>74:K/EW08GS?J&-!ZAO**39SN3&\'&AG;=$=N<X+L"E.Z
MBX^AHF+T7Z\AJ1<1>@+9@@)/EZ!80'K)9E^**]Z*7YEZ_EP2P"PT5 "RJ2V>
M+["\GHM3>'V0,E;1,_I>6;:0UYO^8V5R&WRU8&_;TR=C$3*>K)<ZI/$48>/P
M86-=LZT%Z] T54.1D!H2TS)]0P%)=11&PS$-11P1,QXU9CS:2Y@L+,,!L>0I
M2LF5.S7<-)VDV*5>V7"'6:8D*R-\:+BC+R&(3( N.8L@O>;<,")>OJ8)GK-/
M./USB7/V<F@"&2?E2QE3==#(;MSAXT1=Z-(/#74' 6995NL-R&\ RBZ+4[!&
MI:C8@TD?]WC&+/M71<M:S+<P;ZI-L6V(I_!S:;/9P&9&>Y%-(:/6(WHMQK]'
M]ST6O"U^R^!\SAP+ONG;2J6/T=V+AU&QPL4=GX92/1>V\T!RM:J8 J)'V(CU
M>OX%/KW:83<$%2EBB]EEP19\A+/K^2S#:\E+M!\P^=&?&,[KU9)K$2Z8_DD#
M@M*V[DG7 ?%;V_C(VRZ9J&"VLR&DDT3>V .JS1<;>EV5;-,M^!(M K8/V_G4
M:WNB?_)--%_VV2[8;:/M,M31,3Z.>WX.EM>VBGY&?6+0SHSHZ_G=GA_12';V
M0.M3JRH^=/H&$X\<BE@FP$M**YB=U0F:C9G4S&>S)<!^I+&QS7^\KHU$>OX,
M28JH,#'&?J#1,/T[R"O8QZO6&&AD3'=_T>IQ/+'\9E&4\?2FH5?CL0/9'LW'
M>P(!K<A&[8=+6@:4B&*U21])AHE%A%1M:P8G%"G+6!O7"BZC0%<N!KAV<"D'
MNC+2@7N&"UZ.7#C*C6JX&.7():,!Q@:W[(PPBV?=.%DE(.48X]E*3'8X'1F[
M9)0>1W [DEH>74"3X/8H&W%I P_![5L=E$N-66A+:Z259WO4K1Z%-=("M38[
M7)= E[:\]*_C'/]=@'TFXF@+4/^.SA$KW"#).MHBU+_%<\0BE&1EZ-NC(=W,
MV4O06E]TH=GR_:5>Z<O0V.AO9'A>C%@!)6DP^H(Q-N_'+1AEA,=9PG=]?O:'
MA%9KILK\&Y G*:#+9)[CIS?G9VFZA%F5PSHW6MW<KJZ0 TH<%1]RQDFL4'1
MUG 5BH0'T!V\;*TJ0LZ4SFE2=6/^GC\S*X49QA7AA]OJFYZSDZK\@LO_AB6W
M<@1A:=/N[AE\N?6[L=:8(2M@1=S0!]$EY#5Y512WMO*0UXT+KMZ7Q2.CICD2
M>8$*P$RX8E'OTXJD/./^,5$R5C?II[J)BT7]2!)48@D41R4<8O!W:LH@=5BE
MVWAP2J$0A=P&.ZX KZ59%,KL,6<?=W5,=)"A[2_\?P^ 0O;-_P]02P$"% ,4
M    " "S2F].6DST?@-6 0  D!, $0              @ $     =69P="TR
M,#$X,3(S,2YX;6Q02P$"% ,4    " "S2F].K:N?[<T:  "U90$ $0
M        @ $R5@$ =69P="TR,#$X,3(S,2YX<V102P$"% ,4    " "S2F].
M_]LQH"X2   ;&P$ %0              @ $N<0$ =69P="TR,#$X,3(S,5]C
M86PN>&UL4$L! A0#%     @ LTIO3B?$?]"2:   K%,) !4
M ( !CX,! '5F<'0M,C Q.#$R,S%?9&5F+GAM;%!+ 0(4 Q0    ( +-*;TZZ
M/-E UH@  -:'!P 5              "  53L 0!U9G!T+3(P,3@Q,C,Q7VQA
M8BYX;6Q02P$"% ,4    " "S2F].'J*SA'-N  "_"@H %0
M@ %==0( =69P="TR,#$X,3(S,5]P<F4N>&UL4$L%!@     &  8 B@$   /D
$ @    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
