7Baggers

Northwest Pipe Company
(NASDAQ:NWPX) 

NWPX stock logo

Northwest Pipe Company, together with its subsidiaries, manufactures and supplies engineered welded steel pipe systems in North America. The company offers large-diameter and high-pressure steel pipes, precast and reinforced concrete products, and bar-wrapped concrete cylinder pipes, as well as lini...

Founded: 1966
Full Time Employees: 909
Sector: Industrials
Industry: Metal Fabrication

Share this website to your friends
• Market Cap:
• Exchange:
• Shs Outstanding:
• Employees:
• Beta:
• Return on Equity (ROE) ttm:
• Return on Assets (ROA) ttm:
• EPS ttm:
• Book value per Share:
• Cash per Share:
• Current ast per Share:
• P/E ttm:
• P/E forward:
• P/E ttm high:
• P/E ttm low:
• P/S ttm:
• P/B ttm:
• P/FCF ttm:
• PEG ratio:
• Cash Ratio ttm:
• Quick Ratio ttm:
• Current Ratio ttm:
• Gross Mgn ttm:
• EBITDA Mgn ttm:
• Operating Mgn ttm:
• Net Income Mgn ttm:
• Trailing Div yield:
• Forward Div yield:
• Payout Ratio ttm:
• Ex-Dividend date:
• Target Price High:
• Target Price Low:
• Target Price Mean:
• Number of Analysts:
• Debt Ratio ttm:
• Debt to Equity ttm:
• Total Net Debt:
At a glance:
Bull Thesis:
Bear Thesis:
Main Competitors:
Moat:
Income Statements:
Quarterly
Annual
    Unit: USD2026-03-31 2025-12-31 2025-09-30 2025-06-30 2025-03-31 2024-12-31 2024-09-30 2024-06-30 2024-03-31 2023-12-31 2023-09-30 2023-06-30 2023-03-31 2022-12-31 2022-09-30 2022-06-30 2022-03-31 2021-12-31 2021-09-30 2021-06-30 2021-03-31 2020-12-31 2020-09-30 2020-06-30 2020-03-31 2019-12-31 2019-09-30 2019-06-30 2019-03-31 2018-12-31 2018-09-30 2018-06-30 2018-03-31 2017-12-31 2017-09-30 2017-06-30 2017-03-31 2016-12-31 2016-09-30 2016-06-30 2016-03-31 2015-12-31 2015-09-30 2015-06-30 2015-03-31 2014-12-31 2014-09-30 2014-06-30 2014-03-31 2013-12-31 2013-09-30 2013-06-30 2013-03-31 2012-12-31 2012-09-30 2012-06-30 2012-03-31 2011-12-31 2011-09-30 2011-06-30 2011-03-31 2010-12-31 2010-09-30 2010-06-30 2010-03-31 2009-12-31 2009-09-30 2009-06-30 2009-03-31 2008-12-31 2008-09-30 2008-06-30 2008-03-31 2007-12-31 2007-09-30 2007-06-30 2007-03-31 2006-12-31 2006-09-30 2006-06-30 2005-09-30 2005-06-30 2005-03-31 2004-09-30 2004-06-30 2004-03-31 2003-12-31 2003-09-30 2003-06-30 2003-03-31 2002-12-31 2002-09-30 2002-06-30 2002-03-31 2001-09-30 2001-06-30 2001-03-31 2000-09-30 2000-06-30 2000-03-31 1999-09-30 1999-06-30 
                                                                                                          
      net sales
    138,254,000 125,639,000 151,067,000 133,182,000 116,115,000 119,627,000 130,201,000 129,505,000 113,215,000  118,722,000 116,372,000 99,097,000 106,828,000 122,984,000 118,522,000 109,331,000 102,547,000 84,643,000 73,812,000 72,311,000 69,381,000 77,632,000 69,971,000 68,923,000 72,245,000 75,226,000 69,203,000 62,643,000 57,544,000 52,455,000 28,785,000 33,365,000 35,627,000 38,804,000 28,692,000 29,666,000 39,179,000 41,088,000 42,061,000 33,928,000 45,562,000 52,335,000 53,846,000 84,865,000 102,158,000 116,505,000 101,988,000 82,647,000 115,199,000 103,022,000 116,738,000 140,597,000 136,188,000 115,099,000 131,041,000 142,175,000 117,144,000 139,265,000 143,801,000 111,458,000 97,473,000 112,770,000 96,125,000 80,382,000 64,868,000 61,377,000 74,895,000 81,403,000 110,201,000 123,425,000 112,106,000 94,003,000 98,211,000 91,982,000 101,897,000 90,736,000   77,856,000 86,754,000 86,426,000 78,758,000 75,264,000 69,635,000 66,722,000 59,075,000 66,723,000 61,529,000 57,660,000 67,788,000 69,665,000 64,370,000 64,278,000 70,865,000 75,135,000 63,546,000     61,011,000 
      yoy
    19.07% 5.03% 16.03% 2.84% 2.56%  9.67% 11.29% 14.25%  -3.47% -1.81% -9.36% 4.17% 45.30% 60.57% 51.20% 47.80% 9.03% 5.49% 4.92% -3.96% 3.20% 1.11% 10.03% 25.55% 43.41% 140.41% 87.75% 61.52% 35.18% 0.32% 12.47% -9.07% -5.56% -31.78% -12.56% -14.01% -21.49% -21.89% -60.02% -55.40% -55.08% -47.20% 2.68% -11.32% 13.09% -12.64% -41.22% -15.41% -10.49% -10.91% -1.11% 16.26% -17.35% -8.87% 27.56% 20.18% 23.49% 49.60% 38.66% 50.26% 83.73% 28.35% -1.25% -41.14% -50.27% -33.19% -13.40% 12.21% 34.18% 10.02% 3.60%   30.88% 4.59%   3.44% 24.58% 29.53% 33.32% 12.80% 13.17% 15.72% -12.85% -4.22% -4.41% -10.30% -4.34% -7.28% 1.30%          
      qoq
    10.04% -16.83% 13.43% 14.70% -2.94% -8.12% 0.54% 14.39%   2.02% 17.43% -7.24% -13.14% 3.76% 8.41% 6.62% 21.15% 14.67% 2.08% 4.22% -10.63% 10.95% 1.52% -4.60% -3.96% 8.70% 10.47% 8.86% 9.70% 82.23% -13.73% -6.35% -8.19% 35.24% -3.28% -24.28% -4.65% -2.31% 23.97% -25.53% -12.94% -2.81% -36.55% -16.93% -12.31% 14.23% 23.40% -28.26% 11.82% -11.75% -16.97% 3.24% 18.32% -12.17% -7.83% 21.37% -15.88% -3.15% 29.02% 14.35% -13.56% 17.32% 19.59% 23.92% 5.69% -18.05% -7.99% -26.13% -10.71% 10.10% 19.26% -4.28% 6.77% -9.73% 12.30%    -10.26% 0.38% 9.74% 4.64% 8.08% 4.37% 12.94% -11.46% 8.44% 6.71% -14.94% -2.69% 8.23% 0.14% -9.30% -5.68% 18.24%       
      cost of sales
    111,589,000 98,882,000 118,917,000 107,817,000 96,750,000 97,189,000 103,182,000 103,691,000 93,081,000  99,428,000 93,891,000 82,520,000 84,957,000 97,866,000 94,442,000 94,545,000 88,969,000 72,280,000 64,274,000 63,536,000 57,018,000 62,013,000 57,013,000 59,344,000 55,325,000 59,751,000 60,985,000 56,072,000 50,761,000 47,252,000 30,023,000 32,017,000 33,551,000 36,889,000 28,643,000 28,886,000 36,928,000 38,965,000 44,223,000 39,365,000 56,974,000 54,846,000 56,439,000 80,974,000 93,033,000 100,685,000 90,671,000 78,333,000 108,424,000 94,210,000 101,070,000 119,393,000 121,667,000 103,499,000 117,464,000 125,675,000 105,959,000 122,751,000 125,872,000 95,874,000 90,807,000 101,302,000 90,358,000 71,285,000 61,745,000 63,645,000 64,617,000 68,666,000 85,757,000 96,614,000 87,488,000 76,218,000 80,189,000 74,685,000 83,105,000 74,632,000   65,052,000 72,515,000 72,701,000 66,561,000 61,192,000 57,763,000 58,294,000 50,391,000 56,533,000 53,709,000 51,126,000 56,751,000 57,480,000 53,845,000 54,096,000 57,001,000 60,959,000 51,658,000     49,213,000 
      gross profit
    26,665,000 26,757,000 32,150,000 25,365,000 19,365,000 22,438,000 27,019,000 25,814,000 20,134,000  19,294,000 22,481,000 16,577,000 21,871,000 25,118,000 24,080,000 14,786,000 13,578,000 12,363,000 9,538,000 8,775,000 12,363,000 15,619,000 12,958,000 9,579,000 16,920,000 15,475,000 8,218,000 6,571,000 6,783,000 5,203,000 -1,238,000 1,348,000 2,076,000 1,915,000 49,000 780,000 2,251,000 2,123,000 -2,162,000 -5,437,000 -11,412,000 -2,511,000 -2,593,000 3,891,000 9,125,000 15,820,000 11,317,000 4,314,000 6,775,000 8,812,000 15,668,000 21,204,000 14,521,000 11,600,000 13,577,000 16,500,000 11,185,000 16,514,000 17,929,000 15,584,000 6,666,000 11,468,000 5,767,000 9,097,000 3,123,000 -2,268,000 10,278,000 12,737,000 24,444,000 26,811,000 24,618,000 17,785,000 18,022,000 17,297,000 18,792,000 16,104,000   12,804,000 14,239,000 13,725,000 12,197,000 14,072,000 11,872,000 8,428,000 8,684,000 10,190,000 7,820,000 6,534,000 11,037,000 12,185,000 10,525,000 10,182,000 13,864,000 14,176,000 11,888,000     11,798,000 
      yoy
    37.70% 19.25% 18.99% -1.74% -3.82%  40.04% 14.83% 21.46%  -23.19% -6.64% 12.11% 61.08% 103.17% 152.46% 68.50% 9.83% -20.85% -26.39% -8.39% -26.93% 0.93% 57.68% 45.78% 149.45% 197.42% -763.81% 387.46% 226.73% 171.70% -2626.53% 72.82% -7.77% -9.80% -102.27% -114.35% -119.72% -184.55% -16.62% -239.73% -225.06% -115.87% -122.91% -9.81% 34.69% 79.53% -27.77% -79.65% -53.34% -24.03% 15.40% 28.51% 29.83% -29.76% -24.27% 5.88% 67.79% 44.00% 210.89% 71.31% 113.45% -605.64% -43.89% -28.58% -87.22% -108.46% -58.25% -28.38% 35.63% 55.00% 31.00% 10.44%   46.77% 13.10%   -9.01% 19.94% 62.85% 40.45% 38.10% 51.82% 28.99% -21.32% -16.37% -25.70% -35.83% -20.39% -14.04% -11.47%          
      qoq
    -0.34% -16.77% 26.75% 30.98% -13.70% -16.95% 4.67% 28.21%   -14.18% 35.62% -24.21% -12.93% 4.31% 62.86% 8.90% 9.83% 29.62% 8.70% -29.02% -20.85% 20.54% 35.28% -43.39% 9.34% 88.31% 25.06% -3.13% 30.37% -520.27% -191.84% -35.07% 8.41% 3808.16% -93.72% -65.35% 6.03% -198.20% -60.24% -52.36% 354.48% -3.16% -166.64% -57.36% -42.32% 39.79% 162.33% -36.32% -23.12% -43.76% -26.11% 46.02% 25.18% -14.56% -17.72% 47.52% -32.27% -7.89% 15.05% 133.78% -41.87% 98.86% -36.61% 191.29% -237.70% -122.07% -19.31% -47.89% -8.83% 8.91% 38.42% -1.32% 4.19% -7.96% 16.69%    -10.08% 3.74% 12.53% -13.32% 18.53% 40.86% -2.95% -14.78% 30.31% 19.68% -40.80% -9.42% 15.77% 3.37% -26.56% -2.20% 19.25%       
      gross margin %
    19.29% 21.30% 21.28% 19.05% 16.68% 18.76% 20.75% 19.93% 17.78% NaN% 16.25% 19.32% 16.73% 20.47% 20.42% 20.32% 13.52% 13.24% 14.61% 12.92% 12.14% 17.82% 20.12% 18.52% 13.90% 23.42% 20.57% 11.88% 10.49% 11.79% 9.92% -4.30% 4.04% 5.83% 4.94% 0.17% 2.63% 5.75% 5.17% -5.14% -16.03% -25.05% -4.80% -4.82% 4.58% 8.93% 13.58% 11.10% 5.22% 5.88% 8.55% 13.42% 15.08% 10.66% 10.08% 10.36% 11.61% 9.55% 11.86% 12.47% 13.98% 6.84% 10.17% 6.00% 11.32% 4.81% -3.70% 13.72% 15.65% 22.18% 21.72% 21.96% 18.92% 18.35% 18.80% 18.44% 17.75% NaN% NaN% 16.45% 16.41% 15.88% 15.49% 18.70% 17.05% 12.63% 14.70% 15.27% 12.71% 11.33% 16.28% 17.49% 16.35% 15.84% 19.56% 18.87% 18.71% NaN% NaN% NaN% NaN% 19.34% 
      selling, general, and administrative expense
    14,008,000 13,729,000 13,113,000 12,129,000 13,796,000 11,941,000 11,581,000 12,195,000 11,444,000  10,237,000 11,016,000 11,866,000 10,885,000 10,654,000 10,127,000 9,368,000 10,493,000 5,562,000 6,337,000 5,830,000 5,769,000 5,656,000 5,584,000 7,945,000 4,643,000 4,900,000 4,705,000 4,247,000                                                                          
      operating income
    12,657,000 13,028,000 19,037,000 13,236,000 5,569,000 10,497,000 15,438,000 13,619,000 8,690,000  9,057,000 11,465,000 4,711,000 10,986,000 14,464,000 13,953,000 5,418,000 3,085,000 6,801,000 3,201,000 2,945,000 6,594,000 9,963,000 7,374,000 1,634,000 12,277,000 10,575,000 3,513,000 2,324,000 2,701,000 2,497,000 -5,827,000 -2,342,000 -1,232,000 -1,508,000 -3,522,000 -3,941,000 4,819,000 -2,063,000 -6,253,000 -10,036,000 -16,516,000 -7,284,000 -13,327,000 -3,083,000 -13,410,000 9,331,000 5,399,000 -1,126,000 -26,291,000 2,840,000 9,380,000 14,820,000 7,382,000 4,029,000 6,970,000 9,179,000 4,229,000 10,047,000 12,548,000 8,269,000 -74,000 3,480,000 -854,000 2,452,000 -2,453,000 -7,438,000 4,517,000 5,492,000 15,520,000 17,815,000 15,333,000 9,824,000 10,192,000 9,699,000 10,819,000 8,802,000   13,584,000 7,606,000 7,295,000 6,094,000 8,083,000 6,523,000 3,173,000 3,374,000 4,765,000 2,002,000 794,000 5,368,000 6,264,000 4,674,000 4,483,000 7,389,000 7,491,000 6,291,000      
      yoy
    127.28% 24.11% 23.31% -2.81% -35.91%  70.45% 18.79% 84.46%  -37.38% -17.83% -13.05% 256.11% 112.67% 335.90% 83.97% -53.22% -31.74% -56.59% 80.23% -46.29% -5.79% 109.91% -29.69% 354.54% 323.51% -160.29% -199.23% -319.24% -265.58% 65.45% -40.57% -125.57% -26.90% -43.68% -60.73% -129.18% -71.68% -53.08% 225.53% 23.16% -178.06% -346.84% 173.80% -48.99% 228.56% -42.44% -107.60% -456.15% -29.51% 34.58% 61.46% 74.56% -59.90% -44.45% 11.00% -5814.86% 188.71% -1569.32% 237.23% -96.98% -146.79% -118.91% -55.35% -115.81% -141.75% -70.54% -44.10% 52.28% 83.68% 41.72% 11.61%   -20.35% 15.72%   68.06% 16.60% 129.91% 80.62% 69.63% 225.82% 299.62% -37.15% -23.93% -57.17% -82.29% -27.35% -16.38% -25.70%          
      qoq
    -2.85% -31.56% 43.83% 137.67% -46.95% -32.01% 13.36% 56.72%   -21.00% 143.37% -57.12% -24.05% 3.66% 157.53% 75.62% -54.64% 112.46% 8.69% -55.34% -33.82% 35.11% 351.29% -86.69% 16.09% 201.02% 51.16% -13.96% 8.17% -142.85% 148.80% 90.10% -18.30% -57.18% -10.63% -181.78% -333.59% -67.01% -37.69% -39.23% 126.74% -45.34% 332.27% -77.01% -243.71% 72.83% -579.48% -95.72% -1025.74% -69.72% -36.71% 100.76% 83.22% -42.20% -24.07% 117.05% -57.91% -19.93% 51.75% -11274.32% -102.13% -507.49% -134.83% -199.96% -67.02% -264.67% -17.75% -64.61% -12.88% 16.19% 56.08% -3.61% 5.08% -10.35% 22.92%    78.60% 4.26% 19.71% -24.61% 23.92% 105.58% -5.96% -29.19% 138.01% 152.14% -85.21% -14.30% 34.02% 4.26% -39.33% -1.36% 19.07%       
      operating margin %
    9.15% 10.37% 12.60% 9.94% 4.80% 8.77% 11.86% 10.52% 7.68% NaN% 7.63% 9.85% 4.75% 10.28% 11.76% 11.77% 4.96% 3.01% 8.03% 4.34% 4.07% 9.50% 12.83% 10.54% 2.37% 16.99% 14.06% 5.08% 3.71% 4.69% 4.76% -20.24% -7.02% -3.46% -3.89% -12.28% -13.28% 12.30% -5.02% -14.87% -29.58% -36.25% -13.92% -24.75% -3.63% -13.13% 8.01% 5.29% -1.36% -22.82% 2.76% 8.04% 10.54% 5.42% 3.50% 5.32% 6.46% 3.61% 7.21% 8.73% 7.42% -0.08% 3.09% -0.89% 3.05% -3.78% -12.12% 6.03% 6.75% 14.08% 14.43% 13.68% 10.45% 10.38% 10.54% 10.62% 9.70% NaN% NaN% 17.45% 8.77% 8.44% 7.74% 10.74% 9.37% 4.76% 5.71% 7.14% 3.25% 1.38% 7.92% 8.99% 7.26% 6.97% 10.43% 9.97% 9.90% NaN% NaN% NaN% NaN% 0% 
      other income
    229,000 -1,808,000 -3,000 21,000 7,000    7,000  -61,000 -134,000 -29,000 41,000 11,000 1,000 44,000 68,000 171,000 30,000 59,000 138,000 157,000 1,059,000 -401,000 1,407,000 2,792,000 25,000 159,000 18,000 59,000 20,000 170,000 12,000 -3,000 194,000 -11,000 -28,000 16,000 -4,000 40,000 6,000 24,000 14,000 44,000 106,000 39,000 26,000                 -655,000                                      
      interest expense
    -348,000 -423,000 -788,000 -763,000 -635,000 -911,000 -1,452,000 -1,823,000 -1,474,000  -1,162,000 -1,191,000 -1,369,000 -1,175,000 -964,000 -869,000 -560,000 -515,000 -112,000 -348,000 -227,000 -214,000 -238,000 -262,000 -219,000 -107,000 -114,000 -120,000 -131,000 -198,000 -129,000 -128,000 -128,000 -121,000 -117,000 -115,000 -137,000 -152,000 -134,000 -119,000 -119,000 -492,000 -195,000 -286,000 -417,000 -494,000 -457,000 -569,000 770,000 983,000 977,000 956,000 1,049,000 1,145,000 1,305,000 1,526,000 1,640,000 1,866,000 2,247,000 2,344,000 2,374,000 2,452,000 2,206,000 1,934,000 1,342,000 1,465,000 1,074,000 1,028,000 1,226,000 1,942,000 1,332,000 1,329,000 1,806,000 1,702,000 1,653,000 1,833,000 1,604,000   1,729,000 1,897,000 1,721,000 1,881,000 1,679,000 1,571,000 1,308,000 1,226,000 1,384,000 1,283,000 1,317,000 1,584,000 1,299,000 1,223,000 1,443,000 1,703,000 2,258,000 2,531,000     1,908,000 
      income before income taxes
    12,538,000 10,797,000 18,246,000 12,494,000 4,941,000 9,660,000 13,920,000 11,568,000 7,223,000  7,834,000 10,140,000 3,313,000 9,852,000 13,511,000 13,085,000 4,902,000 2,638,000 6,860,000 2,883,000 2,777,000 6,518,000 9,898,000 8,182,000 1,036,000 4,763,250 13,276,000 3,421,000 2,356,000     -2,039,250 -1,628,000 -3,443,000 -4,089,000 4,639,000 -2,171,000 -6,373,000 -10,115,000 -17,002,000 -7,445,000 -13,518,000 -3,374,000 -13,715,000 9,133,000 4,938,000 -1,878,000 -27,212,000 1,762,000 8,488,000 13,913,000 5,987,000 2,710,000 5,524,000 7,544,000 2,444,000 6,854,000 8,656,000 5,815,000 -2,168,000 1,379,000 -2,781,000 1,996,000 -2,252,000 -8,603,000 3,489,000 4,266,000 13,578,000 16,483,000 14,004,000 8,018,000 8,490,000 8,046,000 8,986,000 7,198,000   11,855,000 5,709,000 5,574,000 4,213,000 6,404,000 4,952,000 1,865,000 2,148,000 3,381,000 719,000 -523,000 3,784,000 4,965,000 3,451,000 3,040,000 5,686,000 5,233,000 3,760,000     5,201,000 
      income tax expense
    2,004,000 1,918,000 4,741,000 3,431,000 977,000 -436,000 3,667,000 2,949,000 1,985,000  2,016,000 2,692,000 951,000 1,891,000 3,555,000 3,412,000 1,343,000 367,000 1,914,000 752,000 602,000 1,297,000 2,631,000 2,184,000 472,000 1,571,000 2,529,000 447,000 191,000     -1,000 26,000       -3,309,000 -5,930,000 -1,439,000  287,000 3,275,000 1,756,000                                                       
      net income
    10,534,000 8,879,000 13,505,000 9,063,000 3,964,000 10,096,000 10,253,000 8,619,000 5,238,000  5,818,000 7,448,000 2,362,000 7,961,000 9,956,000 9,673,000 3,559,000 2,271,000 4,946,000 2,131,000 2,175,000 5,221,000 7,267,000 5,998,000 564,000 12,016,000 10,747,000 2,974,000 2,165,000 148,000 27,801,000 -5,686,000 -1,951,000 -2,158,000 -2,069,000 -2,068,000 -3,868,000 5,834,000 727,000 -6,242,000 -9,583,000 -13,693,000 -1,515,000 -12,079,000 -2,101,000 -13,996,000 5,021,000 3,192,000 -9,890,000 -17,006,000 1,016,000 5,561,000 9,506,000 4,510,000 3,396,000 3,604,000 4,734,000 1,467,000 3,284,000 5,375,000 3,566,000 -1,786,000 693,000 -1,397,000 1,056,000 -1,911,000 -5,494,000 2,423,000 2,630,000 8,628,000 10,227,000 8,399,000 5,047,000 5,567,000 5,069,000 5,662,000 4,534,000   7,323,000 3,976,000 3,428,000 2,591,000 3,938,000 3,046,000 1,147,000 1,357,000 2,055,000 437,000 -318,000 2,328,000 3,004,000 2,088,000 1,839,000 3,411,000 3,140,000 2,256,000     3,095,000 
      yoy
    165.74% -12.05% 31.72% 5.15% -24.32%  76.23% 15.72% 121.76%  -41.56% -23.00% -33.63% 250.55% 101.29% 353.92% 63.63% -56.50% -31.94% -64.47% 285.64% -56.55% -32.38% 101.68% -73.95% 8018.92% -61.34% -152.30% -210.97% -106.86% -1443.69% 174.95% -49.56% -136.99% -384.59% -66.87% -59.64% -142.61% -147.99% -48.32% 356.12% -2.16% -130.17% -478.41% -78.76% -17.70% 394.19% -42.60% -204.04% -477.07% -70.08% 54.30% 100.80% 207.43% 3.41% -32.95% 32.75% -182.14% 373.88% -484.75% 237.69% -6.54% -112.61% -157.66% -59.85% -122.15% -153.72% -71.15% -47.89% 54.98% 101.76% 48.34% 11.31%   -22.68% 14.03%   85.96% 30.53% 198.87% 90.94% 91.63% 597.03% -460.69% -41.71% -31.59% -79.07% -117.29% -31.75% -4.33% -7.45%          
      qoq
    18.64% -34.25% 49.01% 128.63% -60.74% -1.53% 18.96% 64.55%   -21.89% 215.33% -70.33% -20.04% 2.93% 171.79% 56.72% -54.08% 132.10% -2.02% -58.34% -28.15% 21.16% 963.48% -95.31% 11.81% 261.37% 37.37% 1362.84% -99.47% -588.94% 191.44% -9.59% 4.30% 0.05% -46.54% -166.30% 702.48% -111.65% -34.86% -30.02% 803.83% -87.46% 474.92% -84.99% -378.75% 57.30% -132.28% -41.84% -1773.82% -81.73% -41.50% 110.78% 32.80% -5.77% -23.87% 222.70% -55.33% -38.90% 50.73% -299.66% -357.72% -149.61% -232.29% -155.26% -65.22% -326.74% -7.87% -69.52% -15.64% 21.76% 66.42% -9.34% 9.82% -10.47% 24.88%    84.18% 15.99% 32.30% -34.21% 29.28% 165.56% -15.48% -33.97% 370.25% -237.42% -113.66% -22.50% 43.87% 13.54% -46.09% 8.63% 39.18%       
      net income margin %
    7.62% 7.07% 8.94% 6.80% 3.41% 8.44% 7.87% 6.66% 4.63% NaN% 4.90% 6.40% 2.38% 7.45% 8.10% 8.16% 3.26% 2.21% 5.84% 2.89% 3.01% 7.53% 9.36% 8.57% 0.82% 16.63% 14.29% 4.30% 3.46% 0.26% 53.00% -19.75% -5.85% -6.06% -5.33% -7.21% -13.04% 14.89% 1.77% -14.84% -28.25% -30.05% -2.89% -22.43% -2.48% -13.70% 4.31% 3.13% -11.97% -14.76% 0.99% 4.76% 6.76% 3.31% 2.95% 2.75% 3.33% 1.25% 2.36% 3.74% 3.20% -1.83% 0.61% -1.45% 1.31% -2.95% -8.95% 3.24% 3.23% 7.83% 8.29% 7.49% 5.37% 5.67% 5.51% 5.56% 5.00% NaN% NaN% 9.41% 4.58% 3.97% 3.29% 5.23% 4.37% 1.72% 2.30% 3.08% 0.71% -0.55% 3.43% 4.31% 3.24% 2.86% 4.81% 4.18% 3.55% NaN% NaN% NaN% NaN% 5.07% 
      net income per share
                                 0.02 2.86 -0.59 -0.2 -0.23 -0.21                                                                    
      basic
    1.1 0.92 1.4 0.91 0.4 1.02 1.03 0.87 0.53  0.58 0.74 0.24 0.8 0.98 0.36 0.23 0.5 0.22 0.22 0.54 0.74 0.61 0.06 0.408 1.1 0.31 0.22                                                                          
      diluted
    1.08 0.9 1.38 0.91 0.39 1.02 0.86 0.52  0.58 0.74 0.23 0.79 0.99 0.97 0.36 0.23 0.5 0.21 0.22 0.53 0.73 0.61 0.06 0.408 1.1 0.31 0.22                                                                          
      shares used in per share calculations:
                                                                                                          
      basic
    9,578 -56 9,678 9,882 9,933 9,919 9,912 9,916  10,014 10,000 9,940 9,927 9,918 9,881 9,871 9,861 9,814 9,802 9,792 9,751 9,745 9,736 9,735 9,735   2,402.75 9,620   2,395.75 9,597  9,572 9,565 9,557 9,553 9,519 9,513 9,508 9,449 9,443 9,437 9,383 9,374 9,369 9,346 9,327 9,304 9,290 9,278 9,249 9,240 9,237 9,219 12 9,169 9,151 9,087 17 8,971 8,940 8,924       6,627 6,605 6,571 6,555 6,549 6,549 6,551 6,545  6,509 6,506 6,498     6,450 
      diluted
    9,790 -29 9,813 9,961 10,117 26 10,055 9,995 10,045  10,107 10,066 10,087 24 10,010 9,968 9,973 10 9,921 9,915 9,921 22 9,861 9,808 9,829 17 9,785 9,753 9,735 9,735   2,402.75 9,620   2,395.75 9,620  9,572 9,565 9,557 9,553 -80 9,616 9,605 9,508 -53 9,517 9,481 9,484 -13 9,499 9,433 9,412 25 9,373 9,355 9,344 -48 9,309 9,278 9,342 9,240 9,368 9,353 -1 9,370 9,348 9,307 10 9,242 9,221 9,213       6,791 6,726 6,682 6,687 6,649 6,549 -11 6,803 6,780  6,708 6,655 6,616     6,617 
      other expense
         -71,750 -66,000 -228,000                                         63,000 10,000 242,000 -4,000 41,000 288,000 49,000 -34,000 36,000 -9,000 950,000 1,604,000 113,000 -124,000 138,000 228,000  -1,322,000 238,000                                    
      interest income
                          16,000 11,000 22,000 10,000 23,000 3,000 4,000 11,000 38,000 141,000 77,000      10,000 3,000   10,000 81,000 82,000 83,000 220,000 82,000 -81,000 -72,000 -141,000 -60,000 -183,000 -38,000 -35,000 -46,000 -41,000 -72,000 -4,000 -56,000 -33,000 -234,000 -243,000 -235,000 -231,000 -344,000 -147,000                                    
      gain on sale of facilities
                                                                                                          
      restructuring expense
                                 142,000 134,000 783,000 305,000    881,000 708,000 282,000                                                                
      bargain purchase gain
                                 -1,800,000 21,880,000                                                                        
      selling, general and administrative expense
                                 3,130,750 5,332,000 3,806,000 3,385,000 3,308,000 3,423,000 3,571,000 3,840,000 4,584,000 3,904,000 4,091,000 4,599,000 5,104,000 4,773,000 5,452,000 6,974,000 6,469,000 6,489,000 5,918,000 5,440,000 5,566,000 5,972,000 6,288,000 6,384,000 7,139,000 7,571,000 6,607,000 7,321,000 6,956,000 6,467,000 5,381,000 7,315,000 6,740,000 7,988,000 6,621,000 6,645,000 5,576,000 5,170,000 5,761,000 7,245,000 8,924,000 8,996,000 9,285,000 7,961,000 7,830,000 7,598,000 7,973,000 7,302,000   6,894,000 6,633,000 6,430,000 6,103,000 5,989,000 5,349,000  5,310,000 5,425,000 5,818,000  5,669,000 5,921,000 5,851,000   6,685,000 5,597,000      
      gain on sale of property
                                 -690,000 -2,760,000                                                                        
      income from continuing operations before income taxes
                                 732,000 24,345,000                                                                        
      income tax benefit
                                 584,000 -3,456,000 -108,000 -272,000 507,000 -41,000 -1,375,000 -221,000 -890,250 -2,898,000 -131,000 -532,000    -1,273,000 444,000 -531,000                                       718,000    -205,000             
      income from continuing operations
                                 148,000 27,801,000   -1,637,500 -1,587,000       -13,693,000 -1,515,000 -12,079,000  -14,002,000 5,858,000 3,182,000                                                       
      discontinued operations:
                                                                                                          
      loss from operations of discontinued operations
                                     -320,000 -456,000                                                                    
      loss on discontinued operations
                                     -316,000 -482,000           6,000 -837,000                                                        
      basic income per share:
                                                                                                          
      continuing operations
                                 0.02 2.86 -0.59 -0.2 -0.2 -0.16       -1.43 -0.16 -1.26 -0.22 -1.47 0.62 0.34 -0.13                                                      
      discontinued operations
                                     -0.03 -0.05            -0.09  -0.91                                                      
      net income per share
                                 0.02 2.86 -0.59 -0.2 -0.23 -0.21                                                                    
      diluted income per share:
                                                                                                          
      loss from continuing operations before income taxes
                                   -5,794,000 -2,223,000                                                                      
      loss from continuing operations
                                   -5,686,000 -1,951,000            -2,101,000                                                          
      basic and diluted loss per share:
                                                                                                          
      shares used in per share calculations:
                                                                                                          
      basic and diluted
                                   9,727 9,707   9,610 9,604   9,580                                                               
      basic and diluted loss per share
                                       -0.22 -0.4                                                                  
      impairment of water transmission goodwill
                                             1,320,500  5,282,000                                                           
      basic income per share
                                         -0.395 0.08                                                                
      diluted income per share
                                         -0.395 0.08                                                                
      net income per share
                                 0.02 2.86 -0.59 -0.2 -0.23 -0.21                                                                    
      basic and diluted
                                           -0.65                                                               
      basic loss per share
                                            -1                                                              
      diluted loss per share
                                            -1                                                              
      income from operations of discontinued business
                                                 -650,250 46,000 15,000                                                       
      loss on sale of business
                                                  -1,414,000  -12,083,000                                                      
      total
                                             -0.41 -0.16 -1.26 -0.22 -0.103 0.53 0.34 -1.04                                                      
      income on discontinued operations
                                                   10,000                                                       
      loss from operations of discontinued business
                                                                                                          
      basic earnings per share
                                                     -1.8 0.11 0.59 1.01 0.48 0.36 0.38 0.51 0.16 0.35 0.58 0.38 -0.19 0.07 -0.15 0.11 -0.21 -0.59 0.26 0.29 0.94 1.12 0.92 0.56 0.61 0.57 0.63 0.51   1.07 0.58 0.51 0.39 0.59 0.46 0.17 0.21 0.31 0.07 -0.05 0.36 0.46 0.32 0.28 0.52 0.48 0.35     0.48 
      diluted earnings per share
                                                     -1.79 0.11 0.59 0.48 0.36 0.38 0.5 0.15 0.35 0.57 0.38 -0.19 0.07 -0.15 0.11 -0.21 -0.59 0.26 0.28 0.93 1.09 0.9 0.54 0.61 0.55 0.61 0.49   1.03 0.56 0.49 0.37 0.58 0.45 0.17 0.2 0.31 0.06 -0.05 0.35 0.44 0.31 0.27 0.51 0.47 0.34     0.47 
      provision for income taxes
                                                    -667,000 -10,206,000 746,000 2,927,000 4,407,000 1,477,000 -686,000 1,920,000 2,810,000 977,000 3,570,000 3,281,000 2,249,000 -382,000 686,000  940,000 -341,000 -3,109,000 1,066,000 1,636,000 4,950,000 6,256,000 5,605,000 2,971,000 2,923,000 2,977,000 3,324,000 2,664,000   4,532,000       350,750 1,326,000 282,000             2,106,000 
      net income from continuing operations
                                                    -1,211,000                                                      
      loss from discontinued operations
                                                    -2,662,000                                                      
      benefit from income taxes
                                                    -6,066,000                                1,733,000 2,146,000 1,622,000 2,466,000 1,906,000      1,456,000 1,961,000 1,363,000 1,201,000 2,275,000 2,093,000 1,504,000      
      net loss from discontinued operations
                                                    -8,679,000                                                      
      basic earnings per share:
                                                                                                          
      diluted earnings per share:
                                                                                                          
      benefit for income taxes
                                                                   -1,384,000                                       
      gain on sale of assets
                                                                                   -7,674,000                       
      shares used in per share
                                                                                                          
      calculations:
                                                                                                          
      basic
                                                                                   6,854 6,822 6,762 6,700           6,526         
      diluted
                                                                                   7,131 7,112 7,010 7,014           6,711         
      selling, general and administrative expenses
                                                                                         5,255,000    5,740,000    5,699,000 6,475,000       4,689,000 
      shares used in per sharecalculations:
                                                                                                          
      basic
    9,578 -56 9,678 9,882 9,933 9,919 9,912 9,916  10,014 10,000 9,940 9,927 9,918 9,881 9,871 9,861 9,814 9,802 9,792 9,751 9,745 9,736 9,735 9,735   2,402.75 9,620   2,395.75 9,597  9,572 9,565 9,557 9,553 9,519 9,513 9,508 9,449 9,443 9,437 9,383 9,374 9,369 9,346 9,327 9,304 9,290 9,278 9,249 9,240 9,237 9,219 12 9,169 9,151 9,087 17 8,971 8,940 8,924       6,627 6,605 6,571 6,555 6,549 6,549 6,551 6,545  6,509 6,506 6,498     6,450 
      diluted
    9,790 -29 9,813 9,961 10,117 26 10,055 9,995 10,045  10,107 10,066 10,087 24 10,010 9,968 9,973 10 9,921 9,915 9,921 22 9,861 9,808 9,829 17 9,785 9,753 9,735 9,735   2,402.75 9,620   2,395.75 9,620  9,572 9,565 9,557 9,553 -80 9,616 9,605 9,508 -53 9,517 9,481 9,484 -13 9,499 9,433 9,412 25 9,373 9,355 9,344 -48 9,309 9,278 9,342 9,240 9,368 9,353 -1 9,370 9,348 9,307 10 9,242 9,221 9,213       6,791 6,726 6,682 6,687 6,649 6,549 -11 6,803 6,780  6,708 6,655 6,616     6,617 
      income from operations
                                                                                                         7,109,000 
    Balance Sheets:
    Quarterly
    Annual
      Unit: USD2026-03-31 2025-12-31 2025-09-30 2025-06-30 2025-03-31 2024-12-31 2024-09-30 2024-06-30 2024-03-31 2023-12-31 2023-09-30 2023-06-30 2023-03-31 2022-12-31 2022-09-30 2022-06-30 2022-03-31 2021-12-31 2021-09-30 2021-06-30 2021-03-31 2020-12-31 2020-09-30 2020-06-30 2020-03-31 2019-12-31 2019-09-30 2019-06-30 2019-03-31 2018-12-31 2018-09-30 2018-06-30 2018-03-31 2017-12-31 2017-09-30 2017-06-30 2017-03-31 2016-12-31 2016-09-30 2016-06-30 2016-03-31 2015-12-31 2015-09-30 2015-06-30 2015-03-31 2014-12-31 2014-09-30 2014-06-30 2014-03-31 2013-12-31 2013-09-30 2013-06-30 2013-03-31 2012-12-31 2012-09-30 2012-06-30 2012-03-31 2011-12-31 2011-09-30 2011-06-30 2011-03-31 2010-12-31 2010-09-30 2010-06-30 2010-03-31 2009-12-31 2009-09-30 2009-06-30 2009-03-31 2008-12-31 2008-09-30 2008-06-30 2008-03-31 2007-12-31 2007-09-30 2007-06-30 2007-03-31 2006-12-31 2006-06-30 2005-09-30 2005-06-30 2005-03-31 2004-09-30 2004-06-30 2004-03-31 2003-12-31 2003-09-30 2003-06-30 2003-03-31 2002-12-31 2002-09-30 2002-06-30 2002-03-31 2001-09-30 2001-06-30 2001-03-31 1999-06-30 
                                                                                                       
        assets
                                                                                                       
        current assets:
                                                                                                       
        cash and cash equivalents
      14,262,000 2,273,000 2,671,000 2,031,000 5,285,000 5,007,000 5,723,000 4,528,000 4,262,000 4,068,000 4,058,000 4,152,000 3,934,000 3,681,000 3,706,000 3,543,000 3,301,000 2,997,000 3,188,000 23,198,000 29,893,000 37,927,000 30,363,000 19,206,000 9,656,000 31,014,000 11,744,000 10,054,000 3,843,000 6,677,000 1,547,000 41,887,000 39,991,000 43,646,000 5,303,000 17,528,000 20,807,000 21,829,000 11,805,000 9,065,000 9,402,000 10,309,000 635,000 688,000 116,000 527,000 72,000 75,000 49,000 588,000 33,000 194,000 47,000 46,000 28,000 25,000 88,000 182,000 72,000 43,000 77,000 51,000 37,000 44,000 18,000 31,000 172,000 121,000 104,000 90,000 71,000 164,000 342,000 234,000 191,000 250,000 180,000 4,259,000 75,000 89,000 160,000 39,000 111,000 61,000 138,000 128,000 110,000 159,000 160,000 161,000 48,000 48,000 48,000 142,000 1,721,000 1,822,000 2,416,000 
        trade and other receivables, net of allowance of 541 and 528
      96,739,000                                                                                                 
        contract assets
      113,190,000 91,036,000 96,882,000 102,876,000 104,965,000 103,422,000 120,983,000 139,481,000 135,715,000 120,516,000 105,420,000 122,359,000 116,341,000 121,778,000 117,260,000 125,158,000 111,067,000 107,170,000 111,239,000 90,504,000 75,466,000 76,985,000 76,276,000 74,902,000 79,350,000 91,186,000 90,800,000 84,093,000 70,267,000 74,271,000 64,130,000 44,320,000 44,845,000                                                                 
        inventories
      69,795,000 74,287,000 74,521,000 76,477,000 80,684,000 79,770,000 84,977,000 87,732,000 96,481,000 91,229,000 83,093,000 84,579,000 70,970,000 71,029,000 71,578,000 74,247,000 62,708,000 59,651,000 43,042,000 30,029,000 33,177,000 29,177,000 31,945,000 35,425,000 39,259,000 30,654,000 27,287,000 33,513,000 41,116,000 39,376,000 34,742,000 19,270,000 17,126,000 17,055,000 18,998,000 22,415,000 16,954,000 19,037,000 20,606,000 25,542,000 29,379,000 29,475,000 49,161,000 51,151,000 61,283,000 72,779,000 77,272,000 64,068,000 62,974,000 110,392,000 109,945,000 115,845,000 109,604,000 113,545,000 131,679,000 120,604,000 98,612,000 107,169,000 91,889,000 74,178,000 93,601,000 80,887,000 81,645,000 82,201,000 80,600,000 74,866,000 79,172,000 63,494,000 75,411,000 87,348,000 100,002,000 71,783,000 59,458,000 62,805,000 57,460,000 63,638,000 74,986,000 79,300,000 62,704,000 49,207,000 51,130,000 57,251,000 52,260,000 43,826,000 42,055,000 43,655,000 46,798,000 51,216,000 51,282,000 52,586,000 65,572,000 59,331,000 54,825,000 57,349,000 58,700,000 59,245,000 43,574,000 
        prepaid expenses and other
      5,177,000 5,665,000 2,693,000 4,298,000 6,234,000 7,343,000 2,530,000 5,274,000 7,840,000 9,026,000 6,638,000 4,919,000 9,007,000 10,689,000 4,326,000 3,837,000 4,939,000 5,744,000 1,915,000 4,035,000 5,560,000 5,194,000 3,374,000 3,809,000 4,375,000 4,159,000 3,178,000 3,983,000 4,505,000 4,795,000 5,350,000 5,300,000 5,683,000 6,562,000 1,013,000 1,136,000 1,772,000 1,937,000 962,000 1,121,000 1,454,000 1,923,000 1,642,000 1,717,000 7,087,000 7,258,000 5,873,000 6,244,000 2,156,000 2,381,000 1,708,000 1,636,000 1,985,000 2,558,000 1,302,000 1,798,000 4,913,000 5,258,000 2,099,000 1,566,000 1,994,000 2,163,000 796,000 1,810,000 1,936,000 2,350,000 1,043,000 2,837,000 4,589,000 4,489,000 2,555,000 2,626,000 3,118,000 3,541,000 2,041,000 2,350,000 1,966,000 2,154,000 1,147,000 1,263,000 1,757,000 1,743,000 1,353,000 1,764,000 1,962,000 2,356,000 1,793,000 2,282,000 2,109,000 3,128,000 1,662,000 2,088,000 2,155,000 1,798,000 1,670,000 1,770,000 1,249,000 
        total current assets
      299,163,000 251,432,000 274,901,000 264,002,000 257,272,000 262,488,000 293,720,000 307,948,000 296,694,000 272,484,000 266,206,000 279,428,000 260,841,000 278,740,000 270,845,000 269,832,000 241,242,000 228,226,000 198,269,000 181,544,000 184,310,000 191,963,000 185,582,000 172,546,000 171,429,000 195,039,000 169,641,000 161,805,000 147,522,000 159,513,000 139,724,000 130,199,000 131,886,000 140,755,000 136,291,000 105,310,000 103,212,000 112,180,000 108,467,000 107,413,000 107,054,000 115,279,000 138,668,000 148,471,000 163,310,000 195,239,000 195,853,000 179,511,000 182,600,000 243,580,000 233,977,000 247,785,000 253,474,000 236,138,000 271,180,000 248,859,000 219,922,000 226,923,000 234,343,000 235,793,000 238,333,000 216,700,000 230,211,000 213,740,000 202,158,000 179,805,000 196,491,000 222,552,000 244,272,000 282,031,000 296,320,000 272,988,000 245,062,000 243,884,000 221,648,000 219,242,000 218,133,000 237,514,000 191,755,000 206,378,000 202,013,000 190,088,000 162,684,000 149,349,000 141,754,000 141,755,000 157,125,000 157,588,000 150,362,000 158,907,000 176,919,000 166,706,000 165,459,000 188,388,000 186,519,000 171,173,000 121,571,000 
        property and equipment, less accumulated depreciation and amortization of 156,243 and 153,364
      163,640,000                                                                                                 
        operating lease right-of-use assets
      87,301,000 86,894,000 88,332,000 88,158,000 86,314,000 87,747,000 84,161,000 85,491,000 86,978,000 88,155,000 89,605,000 91,106,000 91,641,000 93,124,000 94,166,000 95,628,000 97,085,000 98,507,000 32,769,000 33,522,000 34,228,000 30,813,000 31,538,000 29,645,000 28,678,000                                                                         
        goodwill
      55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 55,504,000 53,684,000 53,684,000 53,684,000 22,985,000 22,985,000 22,985,000 22,985,000 22,985,000 22,985,000 22,985,000                    5,282,000 5,282,000 21,348,000 21,348,000 21,348,000 25,760,000 20,478,000 20,478,000 20,478,000 20,478,000 20,478,000 20,478,000 20,478,000 20,478,000 20,478,000 20,478,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000         21,451,000    21,451,000       22,933,000 
        intangible assets
      23,475,000 23,008,000 24,016,000 25,025,000 26,033,000 27,041,000 28,050,000 29,058,000 30,066,000 31,074,000 32,117,000 33,160,000 34,203,000 35,264,000 36,334,000 37,073,000 38,182,000 39,376,000 9,571,000 9,887,000 10,202,000 10,518,000 11,116,000 11,424,000 11,997,000                                                                         
        other assets
      5,057,000 5,283,000 6,547,000 6,358,000 6,300,000 6,417,000 6,493,000 6,393,000 6,735,000 6,709,000 5,844,000 6,034,000 5,771,000 5,542,000 5,400,000 5,715,000 6,281,000 6,620,000 6,216,000 6,164,000 6,167,000 6,552,000 6,432,000 6,323,000 5,909,000 15,575,000 16,232,000 16,962,000 16,606,000 8,390,000 9,593,000 9,300,000 9,492,000 10,813,000 10,591,000 10,992,000 11,054,000 11,274,000 11,638,000 11,800,000 11,958,000 12,253,000 12,111,000 12,833,000 19,313,000 18,766,000 19,698,000 20,726,000 25,345,000 21,058,000 16,642,000 14,867,000 13,166,000 13,261,000 12,680,000 13,091,000 13,883,000 13,126,000 15,565,000 20,205,000 25,110,000 25,288,000 26,883,000 26,663,000 27,407,000 26,549,000 27,181,000 12,728,000 12,473,000 11,917,000 8,164,000 8,131,000 8,229,000 8,251,000    4,710,000        3,539,000 3,164,000 4,598,000 4,906,000 4,524,000 5,294,000 3,993,000 3,111,000 1,780,000 1,564,000 1,437,000 370,000 
        total assets
      634,140,000 579,630,000 605,233,000 592,580,000 582,234,000 589,653,000 617,190,000 631,745,000 621,300,000 597,881,000 589,088,000 602,738,000 582,379,000 601,340,000 586,477,000 586,583,000 559,521,000 547,679,000 380,967,000 364,109,000 367,315,000 373,015,000 366,825,000 351,712,000 349,313,000 310,245,000 285,313,000 279,052,000 266,525,000 271,350,000 257,224,000 213,929,000 219,727,000 230,324,000 225,925,000 232,515,000 231,114,000 241,555,000 240,269,000 240,781,000 249,210,000 259,380,000 283,419,000 294,666,000 320,753,000 351,882,000 368,996,000 355,820,000 362,596,000 433,459,000 433,713,000 445,321,000 445,914,000 422,422,000 455,040,000 435,040,000 407,508,000 413,373,000 422,542,000 448,137,000 459,789,000 435,205,000 449,482,000 430,262,000 416,259,000 391,237,000 421,487,000 461,511,000 476,391,000 509,434,000 515,707,000 491,465,000 458,949,000 453,563,000 425,065,000 414,453,000 409,806,000 424,451,000 346,714,000 345,856,000 341,984,000 326,570,000 307,078,000 291,090,000 282,025,000 280,010,000 286,882,000 287,967,000 280,076,000 286,732,000 280,292,000 268,479,000 264,885,000 284,148,000 279,323,000 288,418,000  
        liabilities and stockholders’ equity
                                                                                                       
        current liabilities:
                                                                                                       
        current portion of long-term debt
      2,994,000 2,994,000 2,994,000 2,994,000 2,994,000 2,994,000               3,131,000 7,701,000 3,132,000 3,133,000 2,911,000                        3,571,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,714,000 5,071,000 4,412,000 4,402,000 12,178,000 9,663,000 9,286,000 9,286,000 9,286,000 10,964,000 10,964,000 10,964,000 10,964,000 10,964,000 10,964,000 10,964,000 250,000 250,000 250,000 250,000 10,964,000 10,964,000 10,964,000 7,124,000 3,558,000 
        accounts payable
      27,894,000 22,190,000 28,052,000 30,794,000 24,682,000 27,783,000 20,356,000 24,508,000 26,365,000 31,142,000 31,156,000 26,721,000 24,885,000 26,968,000 40,444,000 49,640,000 36,953,000 32,267,000 20,148,000 15,460,000 13,260,000 12,993,000 13,702,000 13,014,000 17,933,000 15,493,000 7,626,000 12,694,000 15,524,000 19,784,000 19,291,000 5,568,000 4,460,000 7,521,000 3,699,000 7,620,000 3,627,000 5,267,000 4,979,000 4,976,000 3,739,000 4,739,000 10,463,000 14,598,000 9,421,000 15,480,000 21,978,000 16,638,000 20,924,000 21,731,000 22,063,000 29,528,000 33,598,000 21,042,000 24,421,000 30,686,000 21,444,000 20,248,000 27,996,000 19,478,000 40,332,000 28,463,000 31,368,000 25,059,000 32,225,000 30,039,000 27,015,000 24,429,000 26,127,000 34,109,000 57,204,000 46,982,000 31,151,000 41,684,000 20,229,000 29,717,000 28,939,000 50,865,000 36,220,000 38,498,000 30,200,000 36,654,000 29,866,000 27,028,000 24,749,000 24,387,000 24,544,000 22,653,000 22,411,000 31,098,000 27,992,000 25,404,000 23,551,000 26,154,000 30,659,000 20,748,000 22,710,000 
        accrued liabilities
      24,644,000 27,743,000 32,265,000 23,740,000 22,042,000 28,172,000 26,659,000 23,234,000 22,489,000 27,913,000 23,786,000 25,770,000 24,296,000 30,957,000 32,561,000 29,240,000 23,912,000 24,498,000 17,406,000 14,988,000 14,607,000 16,814,000 14,046,000 11,876,000 10,670,000 13,792,000 12,174,000 10,725,000 8,916,000 7,547,000 6,063,000 5,013,000 5,105,000 6,563,000 7,787,000 7,682,000 7,140,000 10,925,000 12,285,000 14,271,000 15,488,000 15,971,000 9,213,000 9,442,000 9,103,000 8,752,000 10,301,000 10,410,000 12,192,000 10,302,000 11,878,000 17,586,000 22,972,000 23,424,000 51,734,000 40,805,000 21,579,000 19,175,000 21,533,000 18,388,000 12,553,000 11,448,000 12,957,000 11,057,000 12,691,000 11,630,000 11,483,000 8,854,000 10,311,000 10,111,000 17,370,000 15,920,000 13,843,000 12,311,000 17,551,000 13,740,000 11,768,000 10,243,000 8,962,000 7,726,000 7,766,000 8,414,000 11,318,000 7,645,000 7,619,000 4,868,000 7,014,000 5,275,000 5,547,000 8,024,000 12,243,000 9,738,000 10,258,000 11,050,000 7,276,000 8,263,000 7,583,000 
        contract liabilities
      50,859,000 8,794,000 8,308,000 4,218,000 9,304,000 11,197,000 28,897,000 37,105,000 18,596,000 21,450,000 17,264,000 26,990,000 25,794,000 17,456,000 16,243,000 8,127,000 4,090,000 2,623,000 5,388,000 2,722,000 2,034,000 6,189,000 4,540,000 4,731,000 7,882,000 12,281,000 10,862,000 13,986,000 4,530,000 3,745,000 802,000 184,000 1,155,000                                                                 
        current portion of operating lease liabilities
      5,153,000 4,829,000 4,769,000 5,051,000 5,041,000 4,987,000 5,181,000 5,108,000 5,067,000 4,933,000 4,899,000 4,887,000 4,627,000 4,702,000 4,725,000 4,769,000 4,769,000 4,704,000 2,401,000 2,406,000 2,382,000 2,204,000 2,303,000 2,340,000 2,450,000                                                                         
        total current liabilities
      111,544,000 66,550,000 76,388,000 66,797,000 64,063,000 75,133,000 91,849,000 100,711,000 83,273,000 96,194,000 87,861,000 95,124,000 90,358,000 90,839,000 97,498,000 91,776,000 69,724,000 64,092,000 45,343,000 35,576,000 35,414,000 45,901,000 37,723,000 35,094,000 41,846,000 41,566,000 30,662,000 37,405,000 28,970,000 31,492,000 26,586,000 11,165,000 11,117,000 17,001,000 12,021,000 16,572,000 11,995,000 18,555,000 21,769,000 20,560,000 23,364,000 21,570,000 27,094,000 25,151,000 21,913,000 29,556,000 34,589,000 33,393,000 55,852,000 48,223,000 55,946,000 67,037,000 75,627,000 68,746,000 93,892,000 136,147,000 56,399,000 56,309,000 69,726,000 136,401,000 75,004,000 61,520,000 61,044,000 57,691,000 59,001,000 57,461,000 60,332,000 42,182,000 46,481,000 58,783,000 82,702,000 74,999,000 52,872,000 62,360,000 42,192,000 47,859,000 52,885,000 70,771,000 54,495,000 93,344,000 92,999,000 77,098,000 74,885,000 61,507,000 58,357,000 70,732,000 76,036,000 77,601,000 29,194,000 40,210,000 41,301,000 36,186,000 47,245,000 64,875,000 60,945,000 93,961,000 69,442,000 
        borrowings on line of credit
       276,000 27,633,000 30,644,000 25,533,000 24,677,000 60,704,000 75,923,000 89,863,000 54,485,000 58,076,000 70,069,000 62,617,000 83,696,000 71,817,000 86,713,000 90,252,000 86,761,000 2,153,000           11,464,000 190,000            6,552,000 7,053,000 24,823,000 45,587,000                                                    
        long-term debt
      7,734,000 8,482,000 9,231,000 9,979,000 10,728,000 11,476,000               5,106,000 5,888,000 11,244,000 12,032,000                                                                          
        operating lease liabilities
      86,552,000 86,223,000 87,401,000 86,662,000 84,511,000 85,744,000 81,748,000 82,919,000 84,211,000 85,283,000 86,529,000 87,789,000 88,326,000 89,472,000 90,231,000 91,374,000 92,539,000 93,725,000 30,004,000 30,631,000 31,236,000 27,911,000 28,448,000 26,428,000                                                                          
        deferred income taxes
      13,276,000 12,484,000 8,421,000 8,757,000 9,041,000 8,297,000 10,856,000 11,159,000 10,863,000 10,942,000 11,639,000 11,834,000 12,045,000 11,402,000 10,982,000 11,285,000 11,370,000 10,984,000 12,391,000 12,548,000 12,750,000 12,481,000 14,611,000 12,202,000 10,293,000 4,265,000    68,000 67,000 233,000 354,000 941,000 82,000 193,000 1,044,000 1,282,000 2,461,000 5,344,000 5,473,000 5,124,000 4,900,000 4,819,000 6,218,000 5,487,000 5,430,000 5,765,000 4,137,000 6,208,000 5,277,000 6,477,000 6,405,000 5,177,000 4,886,000 5,677,000 7,293,000 6,391,000 7,481,000 6,442,000 5,402,000 6,293,000 15,314,000 19,027,000 19,116,000 19,287,000 20,709,000 3,849,000 3,635,000 4,535,000 5,161,000 4,650,000 3,864,000 4,061,000 3,903,000 4,071,000 4,460,000 3,134,000 2,278,000 2,570,000 2,895,000 2,255,000 2,154,000 1,481,000 1,732,000 1,611,000 2,404,000 2,404,000 2,267,000 2,233,000 2,375,000 2,132,000 1,980,000 1,489,000 1,489,000 1,489,000 1,844,000 
        other long-term liabilities
      11,306,000 10,832,000 9,807,000 10,289,000 9,902,000 10,323,000 9,673,000 9,850,000 10,476,000 10,617,000 9,845,000 9,321,000 7,956,000 7,657,000 7,272,000 8,491,000 8,638,000 8,734,000 10,767,000 10,642,000 10,472,000 11,208,000 11,107,000 10,448,000 9,757,000 16,256,000 18,898,000 17,205,000 16,767,000 8,897,000 10,814,000 10,783,000 10,967,000 11,381,000 10,956,000 11,100,000 11,849,000 11,903,000                 11,300,000 9,823,000   8,739,000 8,827,000                                      
        total liabilities
      230,412,000 184,847,000 218,881,000 213,128,000 203,778,000 215,650,000 254,830,000 280,562,000 278,686,000 257,521,000 253,950,000 274,137,000 261,302,000 283,066,000 277,800,000 289,639,000 272,523,000 264,296,000 100,658,000 89,397,000 94,978,000 103,389,000 103,133,000 96,204,000 100,128,000 62,087,000 49,560,000 54,610,000 45,737,000 52,760,000 38,588,000 23,101,000 23,460,000 30,060,000 23,483,000 28,346,000 25,427,000 32,342,000 37,218,000 39,093,000 42,030,000 41,820,000 52,597,000 62,658,000 77,229,000 106,247,000 110,034,000 102,869,000 111,498,000 171,609,000 156,474,000 169,976,000 177,077,000 162,990,000 200,946,000 185,091,000 161,967,000 173,106,000 183,932,000 192,850,000 210,310,000 189,559,000 202,070,000 183,767,000 168,602,000 144,938,000 173,397,000 164,368,000 181,646,000 217,873,000 232,372,000 219,255,000 195,736,000 197,281,000 176,166,000 171,449,000 173,207,000 193,625,000 176,649,000 189,918,000 190,167,000 179,357,000 166,713,000 154,980,000 149,124,000 148,359,000 157,519,000 160,696,000 153,242,000 159,580,000 154,952,000 146,143,000 144,723,000 167,385,000 165,972,000 178,313,000 152,761,000 
        commitments and contingencies
                                                                                                       
        stockholders’ equity:
                                                                                                       
        preferred stock, .01 par value...
                                                                                                       
        common stock, .01 par value...
      96,000 96,000 96,000 98,000 100,000 99,000 99,000 99,000 99,000 100,000 100,000 100,000 100,000 99,000 99,000 99,000 99,000 99,000 99,000 99,000 99,000 98,000 98,000 98,000 98,000 97,000 97,000 97,000 97,000 97,000 97,000 97,000 97,000 96,000 96,000 96,000 96,000 96,000 96,000 96,000 96,000 96,000 96,000 96,000 96,000 95,000 95,000 95,000 95,000 94,000 94,000 94,000 94,000 94,000 94,000 94,000 94,000 94,000 94,000 93,000 93,000 93,000 93,000 93,000 93,000 92,000 92,000 92,000 92,000 92,000 92,000 92,000 91,000 91,000 90,000 89,000 89,000 89,000     66,000 66,000 66,000 66,000 66,000 65,000 65,000 65,000 65,000 65,000  65,000 65,000  64,000 
        additional paid-in-capital
      111,315,000 113,088,000 114,246,000 121,010,000 128,924,000 128,407,000 127,182,000 126,020,000 126,057,000 129,095,000 129,308,000 128,562,000 128,478,000 127,911,000 126,686,000 125,517,000 125,403,000 125,062,000 124,283,000 123,686,000 123,487,000 123,013,000 122,231,000 121,358,000 120,902,000 120,544,000 120,051,000 119,510,000 118,857,000 118,835,000 118,835,000 118,835,000 118,635,000 119,856,000 119,619,000 119,382,000 118,927,000 118,680,000 118,207,000 117,689,000 117,054,000 117,819,000 117,372,000 117,167,000 116,697,000 116,802,000 115,370,000 114,488,000 113,630,000 114,559,000 113,667,000 112,792,000 111,953,000 112,230,000 111,372,000 110,514,000 109,782,000 109,348,000 108,193,000 108,066,000 107,782,000 107,578,000 107,406,000 107,208,000 107,156,000 106,869,000 106,825,000 106,658,000 106,683,000 106,129,000 105,128,000 104,230,000 103,634,000 101,749,000 100,110,000 99,285,000 98,542,000 97,303,000 43,611,000 42,697,000 42,552,000 41,377,000 40,250,000 39,933,000 39,770,000 39,667,000 39,608,000 39,572,000 39,572,000 39,572,000 39,537,000 39,538,000 39,451,000 39,274,000 39,274,000 39,167,000 38,858,000 
        retained earnings
      292,276,000 281,742,000 272,863,000 259,358,000 250,295,000 246,331,000 236,235,000 225,982,000 217,363,000 212,125,000 206,681,000 200,863,000 193,415,000 191,053,000 183,092,000 173,136,000 163,463,000 159,904,000 157,633,000 152,687,000 150,556,000 148,381,000 143,160,000 135,893,000 129,895,000 129,331,000 117,315,000 106,568,000 103,594,000 101,194,000 101,046,000 73,245,000 78,931,000 81,757,000 83,915,000 85,984,000 88,052,000 91,920,000 86,086,000 85,358,000 91,600,000 101,183,000 114,876,000 116,391,000 128,470,000 130,571,000 144,567,000 139,546,000 138,568,000 148,458,000 165,464,000 164,448,000 158,887,000 149,381,000 144,871,000 141,475,000 137,871,000 133,137,000 131,670,000 149,435,000 144,060,000 140,494,000 142,280,000 141,587,000 142,984,000 141,928,000 143,839,000 193,316,000 190,893,000 188,263,000 179,635,000 169,408,000 161,008,000 155,962,000 150,395,000 145,326,000 139,664,000 135,130,000 128,459,000 115,107,000 111,131,000 107,703,000 100,866,000 96,928,000 93,882,000 92,735,000 91,378,000 89,323,000 88,886,000 89,204,000 86,876,000 83,871,000 81,784,000 77,641,000 74,229,000 71,090,000 50,596,000 
        accumulated other comprehensive income
      41,000                                                                                                 
        total stockholders’ equity
      403,728,000 394,783,000 386,352,000 379,452,000 378,456,000 374,003,000 362,360,000 351,183,000 342,614,000 340,360,000 335,138,000 328,601,000 321,077,000 318,274,000 308,677,000 296,944,000 286,998,000 283,383,000 280,309,000 274,712,000 272,337,000 269,626,000 263,692,000 255,508,000 249,185,000 248,158,000 235,753,000 224,442,000 220,788,000 218,590,000 218,636,000 190,828,000 196,267,000 200,264,000 202,442,000 204,169,000 205,687,000 209,213,000 203,051,000 201,688,000 207,180,000 217,560,000 230,822,000 232,008,000 243,524,000 245,635,000 258,962,000 252,951,000 251,098,000 261,850,000 277,239,000 275,345,000 268,837,000 259,432,000 254,094,000 249,949,000 245,541,000 240,267,000 238,610,000 255,287,000 249,479,000 245,646,000 247,412,000 246,495,000 247,657,000 246,299,000 248,090,000 297,143,000 294,745,000 291,561,000 283,335,000 272,210,000 263,213,000 256,282,000 248,899,000 243,004,000 236,599,000 230,826,000 170,065,000 155,938,000 151,817,000 147,213,000 140,365,000 136,110,000 132,901,000 131,651,000 129,363,000 127,271,000 126,834,000 127,152,000 125,340,000 122,336,000 120,162,000 116,763,000 113,351,000 110,105,000 89,462,000 
        total liabilities and stockholders’ equity
      634,140,000 579,630,000 605,233,000 592,580,000 582,234,000 589,653,000 617,190,000 631,745,000 621,300,000 597,881,000 589,088,000 602,738,000 582,379,000 601,340,000 586,477,000 586,583,000 559,521,000 547,679,000 380,967,000 364,109,000 367,315,000 373,015,000 366,825,000 351,712,000 349,313,000 310,245,000 285,313,000 279,052,000 266,525,000 271,350,000 257,224,000 213,929,000 219,727,000 230,324,000 225,925,000 232,515,000 231,114,000 241,555,000 240,269,000 240,781,000 249,210,000 259,380,000 283,419,000 294,666,000 320,753,000 351,882,000 368,996,000 355,820,000 362,596,000 433,459,000 433,713,000 445,321,000 445,914,000 422,422,000 455,040,000 435,040,000 407,508,000 413,373,000 422,542,000 448,137,000 459,789,000 435,205,000 449,482,000 430,262,000 416,259,000 391,237,000 421,487,000 461,511,000 476,391,000 509,434,000 515,707,000 491,465,000 458,949,000 453,563,000 425,065,000 414,453,000 409,806,000 424,451,000 346,714,000    307,078,000 291,090,000  280,010,000 286,882,000 287,967,000 280,076,000 286,732,000 280,292,000 268,479,000 264,885,000     
        trade and other receivables, net of allowance of 528 and 242
       78,171,000                                                                                                
        property and equipment
       157,509,000    150,456,000    143,955,000    133,166,000    121,266,000    110,184,000    99,631,000    103,447,000    78,756,000    118,101,000    131,848,000    132,595,000 132,097,000 134,235,000 133,303,000 143,061,000 162,616,000 162,191,000 158,796,000 152,545,000 150,702,000 152,612,000 153,225,000 152,846,000 152,156,000 171,661,000 174,895,000 171,766,000 170,937,000 168,408,000 165,243,000 163,432,000 176,364,000 204,780,000 198,195,000 194,035,000 189,772,000 188,895,000 184,207,000 179,977,000    160,776,000        110,965,000    99,550,000        
        accumulated other comprehensive loss
       -143,000 -853,000 -1,014,000 -863,000 -834,000 -1,156,000 -918,000 -905,000 -960,000 -951,000 -924,000 -916,000 -789,000 -1,200,000 -1,808,000 -1,967,000 -1,682,000 -1,706,000 -1,760,000 -1,805,000 -1,866,000 -1,797,000 -1,841,000 -1,710,000 -1,814,000 -1,710,000 -1,733,000 -1,760,000 -1,536,000 -1,342,000 -1,349,000 -1,396,000 -1,445,000 -1,188,000 -1,293,000 -1,388,000 -1,483,000 -1,338,000 -1,455,000 -1,570,000 -1,538,000 -1,522,000 -1,646,000 -1,739,000 -1,833,000 -1,070,000 -1,178,000 -1,195,000 -1,261,000 -1,986,000 -1,989,000 -2,097,000 -2,273,000 -2,243,000 -2,134,000 -2,206,000 -2,312,000 -1,347,000 -2,307,000 -2,456,000 -2,519,000 -2,367,000 -2,393,000 -2,576,000 -2,590,000 -2,666,000 -2,923,000 -2,923,000 -2,923,000 -1,520,000 -1,520,000 -1,520,000 -1,520,000    -1,696,000                    
        trade and other receivables, net of allowance of 467 and 242
        98,134,000                                                                                               
        property and equipment, less accumulated depreciation and amortization of 150,143 and 139,221
        155,933,000                                                                                               
        trade and other receivables, net of allowance of 200 and 242
         78,320,000                                                                                              
        property and equipment, less accumulated depreciation and amortization of 145,980 and 139,221
         153,533,000                                                                                              
        trade and other receivables, net of allowance of 198 and 242
          60,104,000                                                                                             
        property and equipment, less accumulated depreciation and amortization of 142,045 and 139,221
          150,811,000                                                                                             
        trade and other receivables, net of allowance of 242 and 121
           66,946,000                                                                                            
        current debt
            10,756,000 10,756,000 10,756,000 10,756,000 10,756,000 10,756,000 10,756,000 10,756,000 3,525,000                                                                                   
        trade and other receivables, net of allowance of 215 and 121
            79,507,000                                                                                           
        property and equipment, less accumulated depreciation and amortization of 137,029 and 126,359
            149,262,000                                                                                           
        trade and other receivables, net of allowance of 246 and 121
             70,933,000                                                                                          
        property and equipment, less accumulated depreciation and amortization of 132,964 and 126,359
             147,351,000                                                                                          
        trade and other receivables, net of allowance of 159 and 121
              52,396,000                                                                                         
        property and equipment, less accumulated depreciation and amortization of 129,510 and 126,359
              145,323,000                                                                                         
        trade and other receivables, less allowance for doubtful accounts of 121 and 369
               47,645,000                                                                                        
        trade and other receivables, less allowance for doubtful accounts of 284 and 369
                66,997,000                                                                                       
        property and equipment, less accumulated depreciation and amortization of 124,175 and 117,856
                139,812,000                                                                                       
        trade and other receivables, less allowance for doubtful accounts of 434 and 369
                 63,419,000                                                                                      
        property and equipment, less accumulated depreciation and amortization of 121,722 and 117,856
                 137,506,000                                                                                      
        trade and other receivables, less allowance for doubtful accounts of 270 and 369
                  60,589,000                                                                                     
        property and equipment, less accumulated depreciation and amortization of 120,052 and 117,856
                  134,419,000                                                                                     
        trade and other receivables, less allowance for doubtful accounts of 369 and 503
                   71,563,000                                                                                    
        trade and other receivables, less allowance for doubtful accounts of 498 and 503
                    73,975,000                                                                                   
        property and equipment, less accumulated depreciation and amortization of 115,377 and 106,957
                    124,228,000                                                                                   
        trade and other receivables, less allowance for doubtful accounts of 421 and 503
                     63,047,000                                                                                  
        property and equipment, less accumulated depreciation and amortization of 112,485 and 106,957
                     124,651,000                                                                                  
        trade and other receivables, less allowance for doubtful accounts of 555 and 503
                      59,227,000                                                                                 
        property and equipment, less accumulated depreciation and amortization of 109,490 and 106,957
                      123,047,000                                                                                 
        trade and other receivables, less allowance for doubtful accounts of 503 and 767
                       52,664,000                                                                                
        trade and other receivables, less allowance for doubtful accounts of 534 and 767
                        38,885,000                                                                               
        property and equipment, less accumulated depreciation and amortization of 104,152 and 96,684
                        111,157,000                                                                               
        trade and other receivables, less allowance for doubtful accounts of 335 and 767
                         33,778,000                                                                              
        property and equipment, less accumulated depreciation and amortization of 101,621 and 96,684
                         110,007,000                                                                              
        trade and other receivables, less allowance for doubtful accounts of 782 and 767
                          40,214,000                                                                             
        property and equipment, less accumulated depreciation and amortization of 98,702 and 96,684
                          109,423,000                                                                             
        trade and other receivables, less allowance for doubtful accounts of 767 and 801
                           42,680,000                                                                            
        trade and other receivables, less allowance for doubtful accounts of 719 and 801
                            43,624,000                                                                           
        property and equipment, less accumulated depreciation and amortization  of 94,857 and 86,244
                            109,172,000                                                                           
        trade and other receivables, less allowance for doubtful accounts of 791 and 801
                             39,204,000                                                                          
        property and equipment, less accumulated depreciation and amortization of 91,848 and 86,244
                             108,789,000                                                                          
        trade and other receivables, less allowance for doubtful accounts of 778 and 801
                              38,789,000                                                                         
        property and equipment, less accumulated depreciation and amortization of 88,786 and 86,244
                              108,315,000                                                                         
        long-term debt, less current portion
                              12,968,000                         643,000 2,071,000 2,071,000 3,571,000 6,357,000 7,786,000 7,786,000 9,286,000 12,071,000 13,500,000 13,500,000 15,000,000 17,786,000 19,214,000 19,214,000 20,714,000 23,501,000 24,929,000 24,929,000 26,428,000 29,215,000 30,643,000 30,643,000 32,143,000 34,929,000 40,547,000 40,710,000 46,725,000 47,915,000 49,286,000 58,571,000 58,571,000 64,107,000 54,607,000 54,607,000 50,072,000 35,072,000 40,072,000 40,072,000 56,750,000 56,750,000 74,521,000 70,130,000 57,000,000 62,000,000 62,000,000 67,964,000 75,458,000 
        operating lease liabilities, less current portion
                              25,264,000                                                                         
        trade and other receivables, less allowance for doubtful accounts of 801 and 660
                               38,026,000                                                                        
        trade and other receivables, less allowance for doubtful accounts of 532 and 660
                                36,632,000                                                                       
        property and equipment, less accumulated depreciation and amortization of 84,477 and 76,861
                                99,440,000                                                                       
        trade and other receivables, less allowance for doubtful accounts of 558 and 660
                                 30,162,000                                                                      
        property and equipment, less accumulated depreciation and amortization of 81,050 and 76,861
                                 100,285,000                                                                      
        trade and other receivables, less allowance for doubtful accounts of 564 and 660
                                  27,791,000                                                                     
        property and equipment, less accumulated depreciation and amortization of 79,438 and 76,861
                                  102,397,000                                                                     
        balances, december 31, 2018
                                  9,735,055,000                                                                     
        cumulative-effect adjustment for asu 2018-02
                                                                                                       
        net income
                                    20,164,000 -7,637,000 -1,951,000  -8,005,000 -5,936,000                                                              
        other comprehensive income:
                                                                                                       
        pension liability adjustment, net of tax expense of 0
                                                                                                       
        unrealized loss on cash flow hedges, net of tax benefit of 8
                                                                                                       
        share-based compensation expense
                                    281,000 281,000 81,000  963,000 726,000                                                              
        balances, march 31, 2019
                                  9,735,055,000                                                                     
        trade and other receivables, less allowance for doubtful accounts of 660 and 477
                                   34,394,000                                                                    
        current portion of capital lease obligations
                                   416,000 430,000 400,000 397,000 318,000 244,000 258,000 288,000 325,000 358,000 384,000 366,000 340,000 171,000 178,000 1,927,000 2,170,000 998,000 974,000 950,000 2,216,000 4,420,000 4,658,000 3,298,000 3,295,000 3,266,000 3,261,000 3,298,000 3,358,000 3,388,000 1,118,000 1,102,000 1,087,000 914,000 743,000 575,000 408,000 3,556,000 1,572,000 841,000 829,000 816,000 804,000 792,000 780,000     27,000 108,000 141,000 570,000 1,070,000 1,111,000 1,151,000 1,072,000 1,035,000 1,010,000 986,000 838,000 816,000 794,000 841,000 850,000 833,000 826,000 91,000 
        capital lease obligations, less current portion
                                   839,000 931,000 920,000 1,022,000 737,000 424,000 481,000 539,000 602,000 667,000 739,000 667,000 718,000 112,000 149,000 180,000 225,000 846,000 1,105,000 1,357,000 5,679,000 6,248,000 6,797,000 8,331,000 9,179,000 10,024,000 10,851,000 11,550,000 12,347,000 13,156,000 7,164,000 7,450,000 7,731,000 8,009,000 8,282,000 8,552,000 8,818,000 24,117,000 8,051,000 2,949,000 3,164,000 3,376,000 3,585,000 3,790,000 3,992,000     1,000 18,000 28,000 39,000 126,000 370,000 609,000 842,000 1,084,000 1,353,000 1,615,000 1,577,000 1,795,000 2,007,000 2,214,000 2,233,000 2,453,000 2,667,000  
        trade and other receivables, less allowance for doubtful accounts of 558 and 477
                                    33,955,000                                                                   
        property and equipment, less accumulated depreciation and amortization of 76,980 and 74,311
                                    107,907,000                                                                   
        cash flows from operating activities:
                                                                                                       
        loss on discontinued operations
                                                                                                       
        income from continuing operations
                                    20,164,000 -7,637,000 -1,951,000  -6,550,000                                                               
        adjustments to reconcile income from continuing operations to net cash from operating activities:
                                                                                                       
        bargain purchase gain
                                    -21,880,000                                                                   
        depreciation and capital lease amortization
                                    5,644,000 3,168,000 1,522,000  4,674,000 3,202,000                                                              
        amortization of intangible assets
                                    382,000 232,000 119,000  374,000 252,000                                                              
        amortization of debt issuance costs
                                    126,000 84,000 42,000  126,000 84,000                                                              
        benefit from doubtful accounts
                                    322,000 42,000 87,000  557,000 323,000                                                              
        gain on disposal of property and equipment
                                    -2,536,000     -101,000                                                              
        adjustments to contingent consideration
                                        27,000 27,000                                                              
        unrealized (gain) loss on foreign currency forward contracts
                                    -42,000 -92,000 -32,000                                                                 
        changes in operating assets and liabilities, net of acquired assets and assumed liabilities:
                                                                                                       
        trade and other receivables
                                    6,014,000 12,389,000 4,196,000  753,000 4,257,000                                                              
        refundable income taxes
                                    -107,000 -107,000   81,000 78,000  159,000 341,000 349,000 3,441,000 3,413,000 8,208,000 6,769,000 3,925,000 5,031,000 3,888,000 6,333,000 11,474,000 1,073,000 1,339,000    4,982,000      11,382,000 15,299,000 10,284,000 5,657,000 6,034,000 7,029,000 5,382,000 4,372,000 4,801,000 3,412,000 1,612,000 1,970,000 2,815,000 2,885,000 4,698,000 3,455,000 2,861,000 5,889,000       1,274,000 2,654,000 2,822,000 1,453,000      2,129,000 2,129,000 2,129,000 2,999,000 
        prepaid expenses and other assets
                                    1,238,000 1,185,000 650,000  960,000 733,000                                                              
        accrued and other liabilities
                                    -1,007,000 -1,244,000 -1,050,000  -3,757,000 -3,775,000                                                              
        net cash from operating activities from continuing operations
                                    -7,230,000 623,000 -2,266,000  -13,110,000                                                               
        net cash from operating activities from discontinued operations
                                        -1,090,000                                                               
        net cash from operating activities
                                    -7,230,000  -2,266,000  -14,200,000 -2,904,000                                                              
        cash flows from investing activities:
                                                                                                       
        acquisition of business, net of cash acquired
                                    -37,223,000                                                                   
        additions to property and equipment
                                    -3,087,000 -1,640,000 -744,000  -2,077,000 -1,216,000                                                              
        proceeds from sale of property and equipment
                                    5,954,000 2,000   146,000 143,000                                                              
        net cash from investing activities from continuing operations
                                    -34,356,000 -1,638,000 -744,000  -1,931,000                                                               
        net cash from investing activities from discontinued operations
                                    750,000 750,000 750,000                                                                 
        net cash from investing activities
                                    -33,606,000 -888,000 6,000   -1,073,000                                                              
        cash flows from financing activities:
                                                                                                       
        tax withholdings related to net share settlements of restricted stock and performance share awards
                                    -1,301,000 -1,301,000 -1,301,000                                                                 
        payments on capital lease obligations
                                    -152,000 -193,000 -94,000  -259,000 -188,000                                                              
        payments of contingent consideration
                                        -112,000 -112,000                                                              
        net cash from financing activities from continuing operations
                                    -1,263,000 -1,494,000 -1,395,000  -395,000                                                               
        change in cash and cash equivalents
                                    -42,099,000 -1,759,000 -3,655,000  -16,526,000 -4,301,000                                                              
        cash and cash equivalents, beginning of period
                                    43,646,000 43,646,000 43,646,000  21,829,000 21,829,000                                                              
        cash and cash equivalents, end of period
                                    1,547,000 41,887,000 39,991,000  5,303,000 17,528,000                                                              
        noncash investing and financing activities:
                                                                                                       
        accrued property and equipment purchases
                                    144,000 114,000 168,000  86,000 199,000                                                              
        capital lease additions
                                    458,000 458,000 458,000                                                                 
        trade and other receivables, less allowance for doubtful accounts of 286 and 477
                                     16,334,000                                                                  
        assets held for sale
                                     3,088,000   36,439,000    6,075,000 6,607,000                                                          
        property and equipment, less accumulated depreciation and amortization of 75,408 and 74,311
                                     74,430,000                                                                  
        (gain) loss on disposal of property and equipment
                                     95,000 71,000  -69,000                                                               
        changes in operating assets and liabilities:
                                                                                                       
        net cash from (used) in operating activities
                                     623,000                                                                  
        trade and other receivables, less allowance for doubtful accounts of 503 and 477
                                      24,241,000                                                                 
        property and equipment, less accumulated depreciation and amortization of 75,660 and 74,311
                                      78,349,000                                                                 
        trade and other receivables, less allowance for doubtful accounts of 477 and 515
                                       28,990,000                                                                
        costs and estimated earnings in excess of billings on uncompleted contracts
                                       44,502,000 50,293,000 43,178,000 45,063,000 43,663,000 46,063,000 47,894,000 41,409,000 42,592,000 38,700,000 49,794,000 52,553,000 45,847,000 55,774,000 49,466,000 44,328,000 50,468,000 51,066,000 65,687,000 70,018,000 73,314,000 57,323,000 48,526,000 44,144,000 38,029,000 47,621,000 59,811,000 54,439,000 45,533,000 46,412,000 50,039,000 43,915,000 37,509,000 38,992,000 95,364,000 98,187,000 106,234,000 112,588,000 108,514,000 120,967,000 121,058,000 88,801,000 79,821,000 63,966,000 74,353,000     59,456,000 51,590,000 44,759,000 42,774,000 53,264,000 49,746,000 51,823,000 49,393,000  48,214,000  63,292,000 61,683,000   
        billings in excess of costs and estimated earnings on uncompleted contracts
                                       2,599,000 291,000 1,012,000 940,000 2,038,000 4,147,000 929,000 3,771,000 520,000 695,000 933,000 1,462,000 2,835,000 1,312,000 5,371,000 18,215,000 3,368,000 4,005,000 3,635,000 2,792,000 6,478,000 8,757,000 3,681,000 4,364,000 7,814,000 11,095,000 18,884,000 15,303,000 14,808,000 10,091,000 15,118,000 7,796,000 9,670,000 12,564,000 1,613,000 3,488,000 8,020,000 1,598,000 5,579,000 1,372,000 2,514,000                        
        trade and other receivables, less allowance for doubtful accounts of 389 and 515
                                        24,245,000                                                               
        property and equipment, less accumulated depreciation and amortization of 73,369 and 69,477
                                        79,043,000                                                               
        income from discontinued operations
                                        -1,455,000                                                               
        unrealized loss on foreign currency forward contracts
                                        108,000 62,000                                                              
        other financing activities
                                        -24,000 -24,000                                                              
        net cash from financing activities from discontinued operations
                                                                                                       
        net cash from financing activities
                                        -395,000 -324,000                                                              
        trade and other receivables, less allowance for doubtful accounts of 220 and 515
                                         20,975,000                                                              
        property and equipment, less accumulated depreciation and amortization of 88,201 and 85,604
                                         116,213,000                                                              
        adjustments to reconcile net income to net cash from operating activities:
                                                                                                       
        trade and other receivables, less allowance for doubtful accounts of 496 and 515
                                          18,616,000                                                             
        property and equipment, less accumulated depreciation and amortization of 87,024 and 85,604
                                          116,848,000                                                             
        trade and other receivables, less allowance for doubtful accounts of 515 and 751
                                           25,555,000                                                            
        trade and other receivables, less allowance for doubtful accounts of 459 and 751
                                            22,615,000                                                           
        property and equipment, less accumulated depreciation and amortization of 84,455 and 86,451
                                            120,164,000                                                           
        pension and other long-term liabilities
                                            12,321,000 12,450,000 12,526,000 14,408,000 14,379,000 16,070,000 16,119,000 16,864,000 15,742,000 16,197,000 16,219,000 17,303,000 13,301,000 16,002,000 16,181,000 15,921,000   9,823,000 9,791,000   8,834,000 8,828,000 8,187,000 8,130,000 8,122,000 8,068,000 8,377,000 8,551,000 8,396,000 6,870,000 5,803,000 7,684,000 7,147,000 7,812,000                        
        trade and other receivables, less allowance for doubtful accounts of 571 and 751
                                             16,835,000                                                          
        property and equipment, less accumulated depreciation and amortization of 81,043 and 86,451
                                             121,568,000                                                          
        trade and other receivables, less allowance for doubtful accounts of 743 and 751
                                              21,969,000                                                         
        property and equipment, less accumulated depreciation and amortization of 88,613 and 86,451
                                              130,198,000                                                         
        trade and other receivables, less allowance for doubtful accounts of 751 and 755
                                               27,567,000                                                        
        trade and other receivables, less allowance for doubtful accounts of 555 and 755
                                                35,422,000                                                       
        property and equipment, less accumulated depreciation and amortization of 84,460 and 84,224
                                                132,640,000                                                       
        trade and other receivables, less allowance for doubtful accounts of 642 and 755
                                                 33,533,000                                                      
        property and equipment, less accumulated depreciation and amortization of 82,752 and 84,224
                                                 133,362,000                                                      
        trade and other receivables, less allowance for doubtful accounts of 672 and 755
                                                  32,128,000                                                     
        property and equipment, less accumulated depreciation and amortization of 85,183 and 84,224
                                                  132,848,000                                                     
        trade and other receivables, less allowance for doubtful accounts of 755 and 685
                                                   58,310,000                                                    
        deferred revenue
                                                   319,000    4,892,000 7,866,000 5,916,000 7,253,000 8,793,000                                            
        trade and other receivables, less allowance for doubtful accounts of 391 and 685
                                                    47,544,000                                                   
        note payable to financial institution
                                                    46,649,000 39,924,000 25,191,000 87,919,000 59,951,000 60,750,000 56,236,000 47,533,000 58,289,000 52,000,000 53,807,000 62,000,000 62,000,000 72,819,000 77,454,000 68,000,000 76,513,000 62,830,000 44,572,000 19,403,000 28,463,000 41,660,000 58,894,000 82,065,000 75,226,000 67,824,000 65,222,000 54,415,000 58,345,000 49,001,000 40,600,000 43,000,000 35,464,000    21,667,000 14,759,000 13,874,000 29,441,000 32,479,000 37,699,000 22,995,000    1,631,000 15,857,000 11,213,000 57,000,000 35,500,000 
        trade and other receivables, less allowance for doubtful accounts of 462 and 685
                                                     47,560,000                                                  
        trade and other receivables, less allowance for doubtful accounts of 473 and 685
                                                      57,482,000                                                 
        trade and other receivables, less allowance for doubtful accounts of 685 and 1,748
                                                       72,470,000                                                
        trade and other receivables, less allowance for doubtful accounts of 719 and 1,748
                                                        64,609,000                                               
        trade and other receivables, less allowance for doubtful accounts of 1,093 and 1,748
                                                         57,946,000                                              
        trade and other receivables, less allowance for doubtful accounts of 1,799 and 1,748
                                                          65,415,000                                             
        trade and other receivables, less allowance for doubtful accounts of 1,748 and 1,650
                                                           41,498,000                                            
        trade and other receivables, less allowance for doubtful accounts of 1,221 and 1,650
                                                            70,980,000                                           
        trade and other receivables, less allowance for doubtful accounts of 1,198 and 1,650
                                                             72,229,000                                          
        trade and other receivables, less allowance for doubtful accounts of 1,246 and 1,650
                                                              64,872,000                                         
        trade and other receivables, less allowance for doubtful accounts of 1,650 and 2,151
                                                               69,894,000                                        
        trade and other receivables, less allowance for doubtful accounts of 2,118 and 2,151
                                                                85,181,000                                       
        trade and other receivables, less allowance for doubtful accounts of 1,242 and 2,151
                                                                 93,753,000                                      
        trade and other receivables, less allowance for doubtful accounts of 1,784 and 2,151
                                                                  71,438,000                                     
        trade and other receivables, less allowance for doubtful accounts of 2,151 and 793
                                                                   66,474,000                                    
        trade and other receivables, less allowance for doubtful accounts of 669 and 793
                                                                    75,723,000                                   
        trade and other receivables, less allowance for doubtful accounts of 733 and 793
                                                                     54,962,000                                  
        trade and other receivables, less allowance for doubtful accounts of 402 and 793
                                                                      50,539,000                                 
        trade and other receivables, less allowance for doubtful accounts
                                                                                                       
        of 793 and 701
                                                                       38,733,000                                
        trade and other receivables, less allowance for doubtful accounts of 886 and 701
                                                                        51,021,000                               
        trade and other receivables, less allowance for doubtful accounts of 766 and 1,214
                                                                         52,515,000                              
        trade and other receivables, less allowance for doubtful accounts of 842 and 1,214
                                                                          57,545,000                             
        trade and other receivables, less allowance for doubtful accounts of 1,214 and 1,129
                                                                           75,923,000                            
        trade and other receivables, less allowance for doubtful accounts of 1,278 and 1,129
                                                                            74,331,000                           
        trade and other receivables, less allowance for doubtful accounts of 1,498 and 1,129
                                                                             83,281,000                          
        trade and other receivables, less allowance for doubtful accounts of 691 and 1,129
                                                                              54,498,000                         
        trade and other receivables, less allowance for doubtful accounts of 1,129 and 823
                                                                               49,300,000                        
        trade and other receivables, less allowance for doubtful accounts of 796 and 823
                                                                                64,554,000                       
        property and equipment, less accumulated depreciation and amortization of 44,841 and 41,328
                                                                                176,296,000                       
        pension and other benefits
                                                                                2,943,000 2,705,000 2,564,000 2,440,000 2,740,000 2,341,000 2,175,000 2,145,000 2,014,000 1,869,000 1,846,000 1,828,000 2,502,000 2,377,000 2,345,000 2,314,000 1,731,000 1,601,000 1,571,000     
        accumulated other comprehensive loss:
                                                                                                       
        minimum pension liability
                                                                                -1,696,000 -1,696,000 -1,696,000  -2,074,000 -1,934,000 -1,934,000 -1,934,000 -817,000 -817,000 -817,000 -817,000 -1,689,000 -1,689,000 -1,689,000 -1,689,000    217,000 217,000 217,000 58,000 
        trade and other receivables, less allowance for doubtful accounts of 690 and 823
                                                                                 65,657,000                      
        property and equipment, less accumulated depreciation and amortization of 43,800 and 41,328
                                                                                 168,456,000                      
        trade and other receivables, less allowance for doubtful accounts of 974 and 823
                                                                                  69,714,000                     
        property and equipment less accumulated depreciation and amortization of 42,417 and 41,328
                                                                                  165,328,000                     
        trade and other receivables, less allowance for doubtful accounts of 823 and 500
                                                                                   68,425,000                    
        goodwill, net of accumulated amortization of 2,266
                                                                                   21,451,000                    
        deferred gain on sale of equipment
                                                                                           19,503,000            
        of 290 and 500
                                                                                    62,958,000                   
        costs and estimated earnings in excess of billings on
                                                                                                       
        uncompleted contracts
                                                                                    62,593,000 77,030,000 83,136,000 77,554,000         51,376,000  52,366,000   48,229,000  
        property and equipment less accumulated depreciation and
                                                                                                     91,612,000  
        amortization of 39,438 and 37,912
                                                                                    129,393,000                   
        goodwill, less accumulated amortization of 2,266
                                                                                    21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000 21,451,000    21,451,000         
        deferred gain on sale of fixed assets
                                                                                    9,361,000 12,205,000 12,561,000 12,916,000 14,699,000 16,245,000 17,858,000  21,148,000 23,985,000 25,035,000 26,084,000 22,260,000 22,875,000 23,489,000 24,556,000 26,853,000   
        none issued or outstanding
                                                                                                       
        6,862,989 and 6,839,962 shares issued and outstanding
                                                                                    69,000                   
        of 486 and 1,221
                                                                                     71,019,000                  
        restricted assets
                                                                                     2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 2,300,000 
        asset held for sale
                                                                                     2,900,000 2,900,000                 
        amortization of 36,496 and 34,413
                                                                                     114,618,000                  
        note payable to financial institutions
                                                                                     37,726,000 45,606,000 20,496,000                
        6,824,962 and 6,686,196 shares issued and outstanding
                                                                                     68,000                  
        total liabilities and stockholders' equity
                                                                                     345,856,000 341,984,000 326,570,000   282,025,000         284,148,000 279,323,000 288,418,000  
        of 953 and 1,221
                                                                                      60,035,000                 
        amortization of 34,895 and 34,413
                                                                                      112,729,000                 
        6,817,815 and 6,686,196 shares issued and outstanding
                                                                                      68,000                 
        of 961 and 1,221
                                                                                       51,246,000                
        amortization of 35,212 and 34,413
                                                                                       109,429,000                
        6,715,622 and 6,686,196 shares issued and outstanding
                                                                                       67,000                
        trade and other receivables, less allowance for doubtful accounts of 905 and 831
                                                                                        47,350,000               
        property and equipment less accumulated depreciation and amortization of 32,736 and 28,299
                                                                                        115,440,000               
        trade and other receivables, less allowance for doubtful accounts of 714 and 831
                                                                                         50,627,000              
        property and equipment less accumulated depreciation and amortization of 31,314 and 28,299
                                                                                         112,895,000              
        trade and other receivables, less allowance for doubtful accounts of 946 and 831
                                                                                          49,834,000             
        property and equipment less accumulated depreciation and amortization of 29,994 and 28,299
                                                                                          111,710,000             
        trade and other receivables, less allowance for doubtful accounts of 831 and 1,100
                                                                                           48,577,000            
        trade and other receivables, less allowance for doubtful accounts of 912 and 1,100
                                                                                            49,934,000           
        property and equipment less accumulated depreciation and amortization of 27,065 and 24,761
                                                                                            102,842,000           
        goodwill less accumulated amortization of 2,266
                                                                                            21,451,000 21,451,000   21,451,000 21,451,000 21,451,000     
        trade and other receivables, less allowance for doubtful accounts of 794 and 1,100
                                                                                             50,328,000          
        property and equipment less accumulated depreciation and amortization of 26,249 and 24,761
                                                                                             102,030,000          
        trade receivables, less allowance for doubtful accounts of 791 and 1,100
                                                                                              42,721,000         
        property and equipment less accumulated depreciation and amortization of 25,440 and 24,761
                                                                                              101,057,000         
        trade receivables, less allowance for doubtful accounts of 1,100 and 573
                                                                                               51,406,000        
        trade receivables, less allowance for doubtful accounts of 1,030 and 573
                                                                                                55,886,000       
        property and equipment less accumulated depreciation and amortization of 28,938 and 25,514
                                                                                                74,328,000       
        note payable to financial institution, short term
                                                                                                       
        trade receivables, less allowance for doubtful accounts of 726 and 573
                                                                                                 54,893,000      
        property and equipment less accumulated depreciation and amortization of 27,921 and 25,514
                                                                                                 74,029,000      
        trade receivables, less allowance for doubtful accounts
                                                                                                       
        of 618 and 573
                                                                                                  54,085,000     
        amortization of 26,289 and 25,514
                                                                                                  72,564,000     
        6,537,053 and 6,517,997 shares issued and outstanding
                                                                                                  65,000     
        trade receivables, less allowance for doubtful accounts of 1,023 and 650
                                                                                                   62,189,000    
        property and equipment less accumulated depreciation and amortization of 23,839 and 35,759
                                                                                                   70,081,000    
        goodwill less accumulated amortization of 2,118 and 1,673
                                                                                                   21,599,000    
        trade receivables, less allowance for doubtful accounts of 660 and 650
                                                                                                    59,127,000   
        property and equipment less accumulated depreciation andamortization of 22,927 and 35,759
                                                                                                    67,192,000   
        goodwill less accumulated amortization of 1,969 and 1,673
                                                                                                    21,748,000   
        of 470 and 650
                                                                                                     56,489,000  
        amortization of 37,169 and 35,759
                                                                                                       
        goodwill less accumulated amortization of 148 and 1,673
                                                                                                     21,896,000  
        6,498,081 shares issued and outstanding
                                                                                                     65,000  
        trade receivables, less allowance for doubtful accounts of 1,458 and 1,046
                                                                                                       
        property and equipment, less accumulated depreciation and amortization of 27,723 and 25,493
                                                                                                       
        capital lease obligation, less current portion
                                                                                                      59,000 
        accumulated other comprehensive loss - minimum pension liability
                                                                                                      -56,000 
      Cashflow Statements:
      Quarterly
      Annual
        Unit: USD2026-03-31 2025-12-31 2025-09-30 2025-06-30 2025-03-31 2024-12-31 2024-09-30 2024-06-30 2024-03-31 2023-09-30 2023-06-30 2023-03-31 2022-12-31 2022-09-30 2022-06-30 2022-03-31 2021-12-31 2021-09-30 2021-06-30 2021-03-31 2020-09-30 2020-06-30 2020-03-31 2019-12-31 2019-09-30 2019-06-30 2019-03-31 2018-12-31 2018-09-30 2018-06-30 2018-03-31 2017-09-30 2017-06-30 2017-03-31 2016-12-31 2016-09-30 2016-06-30 2016-03-31 2015-12-31 2015-09-30 2015-06-30 2015-03-31 2014-12-31 2014-09-30 2014-06-30 2014-03-31 2013-12-31 2013-09-30 2013-06-30 2013-03-31 2012-12-31 2012-09-30 2012-06-30 2012-03-31 2011-12-31 2011-09-30 2011-06-30 2011-03-31 2010-12-31 2010-09-30 2010-06-30 2010-03-31 2009-12-31 2009-09-30 2009-06-30 2009-03-31 2008-12-31 2008-09-30 2008-06-30 2008-03-31 2007-12-31 2007-09-30 2007-06-30 2007-03-31 2005-09-30 2005-06-30 2005-03-31 2004-09-30 2004-06-30 2004-03-31 2003-12-31 2003-09-30 2003-06-30 2003-03-31 2002-12-31 2002-09-30 2002-06-30 2002-03-31 2001-09-30 2001-06-30 2001-03-31 
                                                                                                   
          cash flows from operating activities:
                                                                                                   
          net income
        10,534,000 8,879,000 13,505,000 9,063,000 3,964,000 10,096,000 10,253,000 8,619,000 5,238,000 15,628,000 7,448,000 2,362,000 7,961,000 9,956,000 9,673,000 3,559,000 2,271,000 4,946,000 2,131,000 2,175,000 13,829,000 5,998,000 564,000 12,016,000 10,747,000 2,974,000 2,165,000 148,000               -13,996,000 5,021,000 978,000 -9,890,000 -17,006,000 1,016,000 5,561,000 9,506,000 4,510,000 3,396,000 3,604,000 4,734,000 1,467,000 2,252,000 5,375,000 3,566,000 -1,786,000 693,000 -1,397,000 1,056,000 -1,911,000 -10,419,000 2,423,000 2,630,000 8,628,000 10,227,000 8,399,000 5,047,000 5,567,000 5,069,000 5,662,000 4,534,000 3,976,000 3,428,000 2,591,000 3,938,000 3,046,000 1,147,000 1,357,000 2,055,000 437,000 -318,000 2,328,000 3,004,000 2,088,000 1,839,000 3,411,000 3,140,000 2,256,000 
          adjustments to reconcile net income to net cash from operating activities:
                                                                                                   
          depreciation and finance lease amortization
        3,744,000 3,888,000 4,239,000 3,865,000 3,413,000 3,783,000 4,149,000 3,701,000 3,405,000 8,644,000 2,843,000 2,799,000 3,343,000 3,256,000 3,130,000 2,935,000 3,124,000 2,553,000 3,107,000 2,698,000 9,332,000 3,269,000 3,031,000 3,176,000 3,502,000 3,044,000 2,669,000                                                                 
          amortization of intangible assets
        1,029,000 1,008,000 1,009,000 1,008,000 1,008,000 1,009,000 1,008,000 1,008,000 1,008,000 3,147,000 1,043,000 1,061,000 1,070,000 1,066,000 1,109,000 1,194,000 1,195,000 316,000 315,000 316,000 1,607,000 573,000 399,000 53,000 53,000 108,000 108,000 168,000 150,000 113,000 119,000 122,000 124,000 128,000 131,000 130,000 131,000 131,000 113,000 130,000 131,000 149,000 131,000 134,000 144,000 131,000         20,000 30,000 29,000 30,000 30,000 30,000 30,000 29,000 30,000 30,000                          
          share-based compensation expense
        1,304,000 1,640,000 1,232,000 1,554,000 1,138,000 1,225,000 1,162,000 1,649,000 1,025,000 3,050,000 1,314,000 990,000 1,225,000 1,169,000 673,000 635,000 779,000 597,000 1,143,000 697,000 2,306,000 973,000 460,000 493,000   22,000 200,000 81,000 237,000 455,000 271,000                                                          
          noncash operating lease expense
        1,518,000 1,495,000 1,460,000 1,738,000 1,434,000                                                                                       
          deferred income taxes
        791,000 4,168,000 -340,000 -291,000 744,000 -4,614,000 -297,000 307,000 -80,000 226,000 -218,000 635,000 517,000 -302,000 -84,000 383,000 269,000 -156,000 -204,000 271,000 5,025,000 1,906,000 712,000 1,451,000   -10,000 68,000 -3,464,000 -121,000 -330,000 -112,000 -850,000 -238,000 -1,175,000 -2,843,000 -130,000 -602,000 -1,145,000 -3,303,000 1,440,000 -552,000 1,750,000 293,000 -2,257,000 3,108,000 -11,597,000 2,838,000 116,000 649,000 -4,692,000 -38,000 998,000 -388,000 4,867,000 -74,000 -650,000 1,765,000 5,612,000 5,196,000 68,000 125,000 1,930,000 -4,020,000 283,000 1,622,000 3,780,000 -409,000 -828,000 986,000 1,476,000 1,133,000 1,130,000 -392,000 -69,000 141,000 364,000 -673,000 251,000 -121,000 2,248,000 1,369,000 -137,000 -34,000        
          other
        -74,000 23,000 663,000 515,000 326,000 189,000 179,000 201,000 159,000 1,298,000 852,000 473,000 19,000 -291,000 -131,000 117,000 87,000 -180,000 354,000 -68,000 869,000 360,000 -232,000 409,000 -940,000           24,000 -10,000  84,000 -7,000 -46,000 -13,000                                                
          changes in operating assets and liabilities:
                                                                                                   
          trade and other receivables
        -17,803,000 19,824,000 -20,371,000 -18,481,000 6,652,000 12,299,000 -8,614,000 -18,688,000 -4,965,000 4,401,000 -3,115,000 11,026,000 2,242,000 -11,059,000 -3,889,000 -6,640,000 -2,789,000 -5,335,000 6,208,000 2,308,000 -354,000 -106,000 5,213,000 -1,871,000 -7,582,000 -2,537,000 5,856,000 -3,794,000 -6,375,000 8,193,000 4,196,000 -3,504,000 -2,421,000 6,678,000 -3,122,000 -5,668,000 5,306,000 5,606,000 7,659,000 -7,931,000 3,422,000 23,630,000 -11,129,000 -545,000 9,933,000 9,725,000 -2,130,000 -6,290,000 8,176,000 -23,968,000 28,955,000 1,226,000 -7,310,000 5,427,000 15,755,000 7,696,000 -24,565,000 -4,599,000 8,048,000 -20,697,000 -4,754,000 -11,415,000 12,381,000 705,000 5,478,000 18,378,000 -1,443,000 9,170,000 -29,152,000 -5,198,000 15,254,000 1,103,000 4,057,000 -1,289,000 -10,984,000 -8,789,000 2,636,000 3,277,000 -793,000 -1,257,000 1,357,000 394,000          
          contract assets
        19,911,000 6,331,000 10,085,000 -2,997,000 -3,436,000 -140,000 10,291,000 14,743,000 -18,054,000 16,165,000 -4,822,000 13,775,000 -3,306,000 16,015,000 -10,054,000 -2,430,000 1,303,000 -18,068,000 -14,351,000 -2,636,000 8,298,000 1,295,000 8,683,000 1,693,000 -9,243,000 -3,746,000 5,616,000 -6,667,000 -7,218,000 -688,000 -3,236,000                                                             
          inventories
        6,390,000 234,000 1,956,000 4,207,000 -914,000 5,207,000 2,755,000 8,749,000 -5,252,000 -12,064,000 -13,609,000 59,000 549,000 2,669,000 -11,539,000 -3,057,000 -3,837,000 -13,008,000 3,183,000 -3,988,000 4,382,000 3,970,000 -3,068,000 -3,367,000 6,153,000 7,603,000 -1,740,000 -6,565,000 -5,547,000 -2,126,000 610,000 3,238,000 -5,461,000 2,038,000 1,557,000 4,963,000 3,849,000 119,000 19,749,000 2,015,000 10,429,000 11,502,000 4,604,000 -11,861,000 -1,181,000 14,477,000 4,360,000 5,928,000 -6,112,000 4,085,000 18,496,000 -10,793,000 -21,560,000 8,275,000 -15,245,000 -17,621,000 16,229,000 -13,157,000 2,233,000 648,000 -1,276,000 -5,791,000 5,392,000 -162,000 11,917,000 11,937,000 12,654,000 -28,219,000 -12,325,000 3,347,000 -5,345,000 6,178,000 11,348,000 4,314,000 1,923,000 6,121,000 3,445,000 -8,434,000 -1,771,000 1,600,000 -1,910,000 4,418,000 66,000 1,304,000     1,351,000 546,000 782,000 
          prepaid expenses and other assets
        726,000 -1,877,000 1,515,000 1,776,000 1,040,000 -4,738,000 3,890,000 4,326,000 2,616,000 7,417,000 5,214,000 2,359,000 -5,408,000 2,881,000 3,401,000 2,507,000 344,000 2,998,000 2,182,000 1,203,000 3,787,000 656,000 2,179,000 -53,000 1,443,000 764,000 300,000 1,818,000 53,000 535,000 650,000 227,000 346,000 387,000 -721,000 129,000 308,000 273,000 -425,000 654,000 1,270,000 -603,000 -770,000 1,240,000 286,000 -2,000  662,000 653,000 387,000  372,000 3,126,000 601,000  295,000 655,000 137,000  1,642,000 208,000 -230,000                              
          accounts payable
        5,718,000 -5,252,000 -1,337,000 3,530,000 -2,978,000 7,070,000 -4,201,000 -1,539,000 -4,777,000 4,974,000 1,513,000 -1,518,000 -14,176,000 -8,775,000 12,509,000 4,616,000 10,058,000 4,763,000 1,797,000 165,000 -3,343,000 -5,107,000 1,320,000 7,662,000 -4,446,000 -3,627,000 -4,264,000 301,000 8,173,000 1,163,000 -3,045,000 -3,808,000 3,927,000 -1,714,000 377,000 -26,000 1,250,000 -735,000 -5,765,000 -3,773,000 4,939,000 -5,295,000 -7,519,000 5,767,000 -4,098,000 577,000 -1,192,000 -7,144,000 -1,018,000 10,728,000 -4,872,000 -5,832,000 8,561,000 1,833,000 -7,587,000 7,712,000 -19,598,000 10,553,000 -2,148,000 6,245,000 -7,540,000 4,603,000 3,525,000 1,677,000 -1,698,000 -7,982,000 -23,095,000 10,222,000 15,831,000 -10,533,000 21,455,000 -9,488,000 778,000 -21,926,000 8,298,000 -6,454,000 -7,881,000 2,838,000 2,279,000 362,000 -157,000 1,891,000 242,000 -8,687,000      9,911,000 -7,307,000 
          accrued and other liabilities
        -3,251,000 -4,604,000 8,538,000 1,359,000 -6,364,000 4,737,000 2,168,000 -802,000 -6,412,000 -8,477,000 2,734,000 -7,739,000 -2,013,000 -1,237,000 3,723,000 -2,171,000 -4,990,000 1,877,000 -207,000 -3,727,000 -1,201,000 982,000 -4,225,000 778,000 877,000 1,304,000 -395,000 -1,366,000 237,000 -194,000 -1,050,000 18,000 -118,000 -3,657,000 -1,235,000 -1,425,000 -615,000 -1,263,000 6,950,000 -1,980,000 389,000 -696,000 3,695,000 504,000 -993,000 -4,087,000 -1,511,000 -8,351,000 -5,422,000 58,000 -22,545,000 12,100,000 19,317,000 2,520,000 -2,100,000 3,357,000 5,978,000 1,173,000 -1,020,000 1,982,000 -1,442,000 1,128,000 -85,000 2,315,000 -857,000 680,000 -9,202,000 -431,000 2,614,000 867,000 -195,000 4,049,000 2,113,000 1,649,000 126,000 -618,000 -65,000 3,818,000 49,000 2,769,000 302,000 1,864,000 -240,000 -2,446,000 -4,187,000 2,635,000 -490,000 1,802,000 3,774,000 -986,000 1,716,000 
          operating lease liabilities
        -1,272,000 -1,175,000 -1,176,000 -1,422,000 -1,179,000                                                                                       
          net cash from operating activities
        29,265,000 36,033,000 20,978,000 5,424,000 4,848,000 36,123,000 22,743,000 22,274,000 -26,089,000 44,409,000 1,197,000 26,282,000 -7,977,000 15,348,000    -18,697,000 5,658,000 -586,000 43,390,000 13,751,000 15,036,000 21,520,000 4,067,000 6,942,000 10,357,000 -11,170,000   -2,266,000 -11,296,000 -2,622,000 -282,000 -3,303,000 3,292,000 341,000 1,189,000 17,402,000 -3,961,000 17,192,000 24,573,000 3,878,000 -2,069,000 -6,904,000 40,139,000 -1,296,000 8,196,000 9,345,000 3,844,000 22,291,000 -2,227,000 6,737,000 17,689,000 2,773,000 15,105,000 -2,725,000 -2,878,000 13,304,000 -8,013,000 -11,660,000 -15,802,000 16,773,000 10,166,000 21,650,000 30,598,000 2,418,000 -2,702,000 4,763,000 -4,538,000 8,686,000 -1,031,000 9,975,000 1,692,000  -10,818,000 -2,578,000 -2,859,000 -2,956,000 4,337,000 12,974,000 5,771,000 -4,624,000 -2,741,000 21,617,000 -1,549,000 2,499,000 2,639,000   -4,954,000 
          capital expenditures
        -3,469,000 -5,213,000 -7,799,000 -3,495,000 -3,670,000 -4,190,000 -5,975,000 -6,064,000 -4,570,000 -13,244,000 -4,032,000 -4,382,000 -11,037,000 -3,336,000    -3,348,000 -2,917,000 -1,861,000 -9,787,000 -3,558,000 -2,936,000 -2,660,000 -3,280,000 -1,023,000 -1,622,000 -710,000   -744,000 -861,000 -687,000 -529,000 -502,000 -454,000 -600,000 -736,000 -811,000 -1,688,000 -2,327,000 -3,689,000 -2,670,000 -2,614,000 -4,041,000 -4,964,000 -6,367,000 -3,686,000 -8,613,000 -9,781,000 -5,512,000 -3,264,000 -3,576,000 -4,437,000 -4,837,000 -2,916,000 -5,025,000 -3,555,000 -3,060,000 -4,217,000 -5,253,000 -6,067,000 -4,729,000 -4,635,000 -8,787,000 -4,541,000 -4,609,000 -5,082,000 -6,364,000 -5,557,000 -5,515,000 -8,985,000 -4,511,000 -4,321,000  -7,296,000 -3,720,000 -3,984,000 -2,610,000 -2,438,000 -4,342,000 -1,828,000 -2,220,000 -2,725,000   -2,042,000 
          free cash flows
        25,796,000 30,820,000 13,179,000 1,929,000 1,178,000 31,933,000 16,768,000 16,210,000 -30,659,000 31,165,000 -2,835,000 21,900,000 -19,014,000 12,012,000    -22,045,000 2,741,000 -2,447,000 33,603,000 10,193,000 12,100,000 18,860,000 787,000 5,919,000 8,735,000 -11,880,000   -3,010,000 -12,157,000 -3,309,000 -811,000 -3,805,000 2,838,000 -259,000 453,000 16,591,000 -5,649,000 14,865,000 20,884,000 1,208,000 -4,683,000 -10,945,000 35,175,000 -7,663,000 4,510,000 732,000 -5,937,000 16,779,000 -5,491,000 3,161,000 13,252,000 -2,064,000 12,189,000 -7,750,000 -6,433,000 10,244,000 -12,230,000 -16,913,000 -21,869,000 12,044,000 5,531,000 12,863,000 26,057,000 -2,191,000 -7,784,000 -1,601,000 -10,095,000 3,171,000 -10,016,000 5,464,000 -2,629,000  -18,114,000 -6,298,000 -6,843,000 -5,566,000 1,899,000 8,632,000 3,943,000 -6,844,000 -5,466,000 21,617,000 -1,549,000 2,499,000 2,639,000   -6,996,000 
          cash flows from investing activities:
                                                                                                   
          purchases of property and equipment
        -3,469,000 -5,213,000 -7,799,000 -3,495,000 -3,670,000 -4,190,000 -5,975,000 -6,064,000 -4,570,000 -13,244,000 -4,032,000 -4,382,000 -11,037,000 -3,336,000 -4,016,000 -4,440,000 -5,136,000 -3,348,000 -2,917,000 -1,861,000 -9,787,000 -3,558,000 -2,936,000                                                                     
          acquisition of business, net of cash acquired
        -8,853,000                    -48,728,000 -48,728,000                                                                    
          other investing activities
        19,000 10,000   1,000 1,000 13,000 48,000 63,000   394,000 -318,000 30,000 21,000 203,000 2,000 99,000                     -106,000 161,000 9,000 9,000 13,000 124,000        233,000   -706,000 -1,304,000 857,000 -537,000 -1,385,000                             
          net cash from investing activities
        -12,303,000 -5,213,000 -7,789,000 -3,474,000 -3,670,000 -4,189,000 -5,974,000 -6,051,000 -4,522,000 -15,912,000 -6,754,000 -4,382,000 -10,970,000 -3,654,000 -4,016,000 -4,410,000  -3,145,000 -2,915,000 -1,762,000 -57,205,000 -3,001,000 -51,664,000 -1,913,000 -2,267,000 -623,000 -1,620,000 5,707,000 -32,718,000 -894,000 6,000  -569,000 -504,000 13,425,000 -454,000 -580,000 -736,000 -811,000 4,451,000 2,947,000 -3,528,000 -2,661,000 -4,424,000 -4,032,000 26,658,000 -21,916,000 -6,771,000 -11,452,000 -8,112,000 -8,074,000 -3,169,000 -2,621,000 -5,433,000 -2,197,000 -2,432,000 9,043,000 -3,484,000 -3,178,000 -4,651,000 -5,267,000 -6,585,000 2,086,000 -4,880,000 -8,732,000 -4,540,000 -7,387,000 -5,074,000 -6,364,000 -5,557,000 -5,999,000 -8,953,000 -4,511,000 -4,321,000 8,536,000 -7,296,000 -3,720,000 -3,977,000 -2,419,000 -2,624,000 -4,713,000 -393,000 -3,879,000 -3,104,000       -2,173,000 
          cash flows from financing activities:
                                                                                                   
          borrowings on line of credit
        1,239,000 22,814,000 43,773,000 49,663,000 39,521,000 28,446,000 37,559,000 40,660,000 64,664,000 113,047,000 38,310,000 34,602,000 56,531,000 40,195,000 42,885,000 38,023,000 117,552,000    41,377,000 41,377,000 7,710,000 22,031,000 12,003,000 29,714,000           1,500,000 21,500,000 22,250,000 34,000,000                                                  
          repayments on line of credit
        -1,515,000 -50,171,000 -46,784,000 -44,552,000 -38,665,000 -64,473,000 -52,778,000 -54,600,000 -29,286,000 -138,667,000 -30,857,000 -55,682,000 -44,652,000 -55,091,000 -46,424,000 -34,532,000 -32,944,000    -41,377,000 -41,377,000 -7,710,000 -22,031,000 -23,467,000            -8,052,000 -22,000,000 -40,020,000 -54,765,000                                                  
          payments on other debt
        -750,000 -750,000 -750,000 -750,000 -750,000                                                                                       
          payments on finance lease liabilities
        -648,000 -461,000 -396,000 -417,000 -386,000 -352,000                                                                                      
          tax withholdings related to net share settlements of equity awards
        -883,000 -1,693,000 -620,000 -1,129,000 -320,000 -1,652,000 -1,230,000 -422,000 -559,000 -294,000                                                                            
          repurchase of common stock
        -2,416,000 -2,650,000 -8,246,000   -557,000 -3,872,000                                                                                   
          net cash from financing activities
        -4,973,000 -31,218,000 -12,549,000 -5,204,000 -900,000 -32,650,000 -15,574,000 -15,957,000 30,805,000 -28,120,000 5,775,000 -21,647,000 18,922,000 -11,531,000    1,832,000 -9,438,000 -5,686,000 13,164,000 -1,200,000 15,270,000 -337,000 -110,000 -108,000 -11,571,000     -71,000 -88,000 -236,000 -98,000 -98,000 -98,000 -1,360,000 -6,917,000 -543,000 -19,567,000 -21,456,000 -762,000 6,490,000 10,962,000 -67,336,000 23,767,000 -1,586,000 2,254,000 4,269,000 -14,199,000 5,399,000 -4,179,000 -12,350,000 -466,000 -12,644,000 -6,352,000 6,388,000 -10,112,000 12,657,000 16,953,000 22,374,000 -19,000,000 -5,235,000 -12,901,000 -26,044,000 4,988,000 7,683,000 1,423,000 10,203,000 -2,644,000 9,925,000 -5,394,000 -1,450,000 -7,769,000 18,235,000 6,248,000 6,886,000   -8,243,000 -5,427,000 8,502,000 5,844,000 -814,000 5,474,000 618,000 31,000 4,443,000 3,620,000 8,596,000 
          change in cash and cash equivalents
        11,989,000 -398,000 640,000 -3,254,000 278,000 -716,000 1,195,000 266,000 194,000 377,000 218,000 253,000 -25,000 163,000 242,000 304,000 -191,000 -20,010,000 -6,695,000 -8,034,000 -651,000 9,550,000 -21,358,000 19,270,000 1,690,000 6,211,000 -2,834,000 5,130,000 -40,340,000 1,896,000 -3,655,000 -12,225,000 -3,279,000 -1,022,000 10,024,000 2,740,000 -337,000 -907,000 9,674,000 -53,000 572,000 -411,000 455,000 -3,000 26,000 -539,000 555,000 -161,000 147,000 1,000 18,000 3,000 -63,000 -94,000 110,000 29,000 -34,000 26,000 14,000 -7,000 26,000 -13,000 -141,000                             
          cash and cash equivalents, beginning of period
        2,273,000 5,007,000 4,068,000 3,681,000 3,681,000 2,997,000 37,927,000 31,014,000 31,014,000 6,677,000 43,646,000 21,829,000 10,309,000 527,000 588,000 46,000 182,000 51,000 31,000 90,000 234,000 4,259,000 89,000 128,000 161,000 71,000 353,000 
          cash and cash equivalents, end of period
        14,262,000 -398,000 640,000 -3,254,000 5,285,000 -716,000 1,195,000 266,000 4,262,000 4,058,000 218,000 3,934,000 -25,000 163,000 242,000 3,301,000 -191,000 -20,010,000 -6,695,000 29,893,000 30,363,000 9,550,000 9,656,000 19,270,000 1,690,000 6,211,000 3,843,000 5,130,000 -40,340,000 1,896,000 39,991,000 -12,225,000 -3,279,000 20,807,000 10,024,000 2,740,000 -337,000 9,402,000 9,674,000 -53,000 572,000 116,000 455,000 -3,000 26,000 49,000 555,000 -161,000 147,000 47,000 18,000 3,000 -63,000 88,000 110,000 29,000 -34,000 77,000 14,000 -7,000 26,000 18,000 -141,000 51,000 17,000 104,000 19,000 -93,000 -178,000 342,000 43,000 -59,000 70,000 180,000 -71,000 121,000 39,000 50,000 -77,000 138,000 18,000 -49,000 -1,000 160,000 113,000 48,000 -1,579,000 -101,000 1,822,000 
          noncash investing and financing activities:
                                                                                                   
          accrued property and equipment purchases
        1,296,000  -1,159,000 2,260,000 749,000  48,000 -317,000 783,000 528,000 322,000 750,000  -421,000 178,000 857,000  -75,000 403,000 428,000 876,000 188,000 445,000 204,000 -622,000 798,000 339,000 192,000 30,000 -54,000 168,000 -113,000 66,000 133,000 -88,000 29,000 -13,000 131,000 41,000 -362,000 239,000 479,000 1,021,000 -718,000 -187,000 1,127,000 423,000 -320,000 -3,052,000 4,605,000 1,493,000 -432,000 680,000 1,036,000 -161,000 806,000 -1,256,000 2,284,000 -757,000 65,000 373,000 1,287,000 -501,000 3,604,000 -445,000 1,046,000                          
          right-of-use assets obtained in exchange for finance lease liabilities
        1,653,000  856,000 232,000  36,000 233,000 3,243,000 1,718,000 394,000  556,000 338,000  484,000                                                                          
          right-of-use assets obtained in exchange for operating lease liabilities
        1,925,000  1,633,000    178,000 303,000 952,000    26,000  13,000 4,656,000 4,471,000   97,000 732,000 506,000                                                                 
          settlement loss on defined benefit plans
                                                                                                   
          gain on insurance proceeds
                            -1,147,000   -1,210,000                                                                    
          payment of working capital adjustment in acquisition of business
                 -2,731,000                                                                                  
          proceeds from insurance
                            1,637,000   723,000 1,000,000                                                                   
          borrowings on other debt
                    7,231,000                                                                               
          other financing activities
                -300,000   -16,000 -25,000 -6,000                       19,000                                                  
          accrued payment for repurchase of common stock
          -248,000                                                                                         
          purchases of intangible assets
                            -327,000                                                                       
          payments on finance lease obligations
               -331,000 -381,000 -548,000 -166,000 -145,000  -144,000 -140,000 -125,000  -101,000 -96,000 -100,000 -313,000 -105,000 -103,000  -110,000 -108,000 -107,000                                                                 
          changes in operating assets and liabilities, net of acquired assets and assumed liabilities:
                                                                                                   
          tax withholdings related to net share settlements of restricted stock and performance share awards
                        -944,000 -222,000 -618,000 -517,000 -101,000     -1,301,000   -24,000                                                          
          accrued consideration in acquisition of business
                                                                                                   
          payments on long-term debt
                        -8,398,000 -5,364,000 -1,323,000                      -3,571,000 -2,786,000 -1,428,000 -1,500,000 -2,786,000 -1,428,000 -1,500,000 -2,786,000 -1,428,000 -1,500,000 -2,786,000 -1,428,000 1,000 -1,501,000 -2,786,000 -1,428,000 -1,499,000 -2,787,000 -1,428,000 -1,500,000 -2,143,000 495,000 -153,000 -13,791,000 -122,000      -5,000,000          
          adjustments to reconcile net income to net cash provided by (used in) operating activities:
                                                                                                   
          net cash provided by (used in) operating activities
                       1,648,000                                                                            
          net cash provided by (used in) financing activities
                       3,066,000                                                                            
          net cash used in investing activities
                                                                                                   
          borrowings on long-term debt
                            15,879,000 15,879,000                                                                     
          payments of debt issuance costs
                        -165,000    -461,000 -49,000 -405,000                                      -287,000 -1,388,000     -502,000    -8,000                    
          bargain purchase gain
                                   1,800,000                                                                
          gain on sale of facilities
                                                                                                   
          proceeds from sale of facilities
                                                                                                   
          proceeds from sale of property and equipment
                               24,000 13,000 2,000 -5,813,000 5,952,000   3,000 118,000 25,000 13,000                               1,000 2,000    16,000       7,000   4,000 1,000 18,000 3,000 1,000 2,000 10,000 62,000 175,000 10,000 9,000 
          net cash from investing activities from continuing operations
                               -1,913,000 -2,267,000 -623,000 -1,620,000 1,992,000 -32,718,000 -894,000 -744,000                                                             
          net cash from investing activities from discontinued operations
                                   3,715,000 750,000                                                             
          supplemental disclosure of cash flow information:
                                                                                                   
          cash paid during the period for interest, net of amounts capitalized
                                                                                       448,000 2,118,000 518,000 2,305,000 586,000 2,406,000 249,000 2,430,000 347,000 464,000 3,768,000 1,541,000 
          cash paid during the period for income taxes
                                                                                        -2,767,000 2,000 1,882,000 1,945,000 2,981,000 988,000 478,000 454,000 1,087,000 776,000 57,000 
          loss on discontinued operations
                                                                                                   
          income from continuing operations
                                   148,000                                                                
          adjustments to reconcile income from continuing operations to net cash from operating activities:
                                                                                                   
          provision for doubtful accounts
                                  -81,000 107,000 280,000 -45,000 87,000 234,000 62,000 261,000 587,000 -112,000 -172,000 -8,000 196,000 -87,000 -30,000 -83,000 364,000 -70,000 -12,000 -212,000 -34,000 -373,000 -707,000 51,000 527,000 23,000 -48,000 -404,000 -468,000 876,000 -544,000 -365,000 1,482,000 -64,000 331,000 -391,000 -93,000 633,000    -220,000                        
          net cash from operating activities from continuing operations
                                   -11,170,000 -7,853,000 2,889,000 -2,266,000                                                             
          net cash from operating activities from discontinued operations
                                                                                                   
          additions to property and equipment
                               -2,660,000 -3,280,000 -1,023,000 -1,622,000 -710,000 -1,447,000 -896,000 -744,000 -861,000 -687,000 -529,000 -502,000 -454,000 -600,000 -736,000 -811,000 -1,688,000 -2,327,000 -3,689,000 -2,670,000 -2,614,000 -4,041,000 -4,964,000 -6,367,000 -3,686,000 -8,613,000 -9,781,000 -5,512,000 -3,264,000 -3,576,000 -4,437,000 -4,837,000 -2,916,000 -5,025,000 -3,555,000 -3,060,000 -4,217,000 -5,253,000 -6,067,000 -4,729,000 -4,635,000 -8,787,000 -4,541,000 -4,609,000 -5,082,000 -6,364,000 -5,557,000 -5,515,000 -8,985,000 -4,511,000 -4,321,000 -3,228,000 -7,296,000 -3,720,000 -3,984,000 -2,610,000 -2,438,000 -4,342,000 -1,828,000 -2,220,000 -2,725,000       -2,042,000 
          payments of contingent consideration
                                       -112,000 -1,233,000                                                      
          proceeds from sale of facility placed in escrow
                                                                                                   
          amortization of debt issuance costs
                                  22,000 25,000 42,000 42,000 42,000 42,000 42,000 42,000 42,000 41,000 42,000 41,000 395,000 67,000 68,000 68,000 72,000 85,000 86,000 134,000 158,000 159,000 159,000 158,000 199,000 183,000 447,000 489,000 510,000 511,000 511,000 510,000 513,000 386,000 294,000 225,000 136,000 126,000 125,000 126,000 126,000 85,000 83,000 84,000 83,000 84,000 109,000 73,000 45,000 44,000 42,000               
          loss on disposal of property and equipment
                                  3,000   24,000 71,000   -19,000             240,000 -10,000 203,000 -177,000 543,000 441,000 -118,000 132,000 217,000 -184,000 294,000 70,000 -451,000 13,000 505,000 10,000 -933,000 91,000 653,000 230,000 638,000 2,891,000 451,000 205,000 350,000 -34,000 81,000 4,000                 
          unrealized loss on foreign currency forward contracts
                                  86,000 -95,000 50,000 -60,000 -32,000 46,000 32,000 30,000 -124,000 -136,000 15,000 415,000      -175,000   -2,000 98,000 -197,000 -94,000 -146,000 267,000 -83,000 169,000                                      
          depreciation and capital lease amortization
                                   3,123,000 2,476,000 1,646,000 1,522,000 1,472,000 1,352,000 1,850,000                                                          
          adjustments to contingent consideration
                                       27,000 -615,000 -443,000   -487,000 214,000   -10,000 -859,000                                                
          refundable income taxes
                                   -39,000     182,000 -32,000 3,092,000 12,000 4,808,000 -1,439,000 -2,858,000 774,000 -590,000 2,445,000 5,141,000 -10,401,000 266,000        -200,000 11,382,000 3,917,000 -5,015,000 -4,627,000 377,000 995,000 -1,647,000 -979,000 429,000 -1,389,000 -1,800,000 358,000 845,000 70,000 1,813,000 -1,243,000 -594,000 3,028,000    1,274,000 1,380,000 168,000 -1,369,000          
          payments on capital lease obligations
                                   -246,000 41,000 -99,000 -94,000 -71,000 -88,000 -100,000 -98,000 -98,000 -98,000 -96,000 -63,000 -43,000 -1,797,000 -287,000 -253,000 -235,000 -228,000 -539,000 -2,774,000 -787,000 -832,000 -846,000 -816,000 -823,000 -877,000 -857,000 -839,000 -1,881,000 -270,000 -266,000 -105,000 -102,000 -102,000 -99,000 -12,734,000 -678,000 -206,000 -203,000 -199,000 -197,000 -193,000 -190,000     -43,000                -204,000 
          net cash from financing activities from continuing operations
                                   10,593,000 231,000 -99,000 -1,395,000                                                             
          net cash from financing activities from discontinued operations
                                                                                                   
          capital lease additions
                                   141,000 458,000    188,000 71,000                                                    
          gain on disposal of property and equipment
                                                                                                   
          net loss
                                     -5,686,000 -1,951,000 -2,069,000 -2,068,000 -3,868,000 5,834,000 728,000 -6,242,000 -9,583,000 -13,693,000 -1,515,000 -12,079,000 -2,101,000                                                  
          loss from continuing operations
                                     -5,686,000 -1,951,000                                                             
          adjustments to reconcile loss from continuing operations to net cash from operating activities:
                                                                                                   
          net cash from (used) in operating activities
                                                                                                   
          loss from discontinued operations
                                                                                                   
          costs and estimated earnings in excess of billings on uncompleted contracts
                                       -7,836,000 1,957,000 -2,498,000 291,000 5,049,000 -9,327,000 4,434,000 -4,067,000 10,856,000 2,230,000 -8,079,000 11,450,000 -10,367,000 -17,982,000 20,987,000 -39,000 14,991,000 5,174,000 -390,000 -18,270,000 -3,721,000 -5,065,000 -9,565,000 6,311,000 4,401,000 -1,791,000 -8,411,000 5,596,000 -1,400,000 1,198,000 -8,280,000 -1,411,000 16,636,000 948,000 3,515,000 12,776,000 -8,055,000 16,660,000 -1,051,000 -29,743,000 -8,980,000 -15,855,000 10,387,000    -7,866,000 -6,831,000 -1,985,000 10,490,000 -3,518,000 2,077,000 -2,430,000 1,983,000 -3,162,000      
          adjustments to reconcile net loss to net cash from (used in) operating activities:
                                                                                                   
          adjustments to reconcile net loss to net cash from operating activities:
                                                                                                   
          impairment of goodwill
                                                                                                 
          loss on sale of business
                                                  1,414,000 12,083,000                                              
          gain on sale of facility
                                                                                                   
          excess tax benefit from stock compensation plans
                                                                                                   
          insurance settlements
                                               2,625,000                                                  
          deferred revenue
                                                      -2,974,000 1,950,000 -1,337,000 -1,540,000                                          
          proceeds from sale of business
                                                -1,818,000 31,609,000                                            
          proceeds from sale of facility
                                                                                                   
          collections on notes receivable
                                              6,139,000                                                    
          proceeds from issuance of common stock
                                                           56,000 54,000 36,000                                  
          tax withholdings related to net share settlements of restricted share and performance share awards
                                                                                                   
          depreciation
                                           2,394,000 2,798,000 2,181,000 2,428,000 2,013,000 2,021,000 2,630,000 3,508,000 4,023,000                                                
          stock based compensation expense
                                           519,000 635,000 178,000  207,000 483,000 650,000  882,000 831,000 354,000  875,000 766,000 526,000  924,000 696,000 579,000  70,000 231,000 218,000  48,000 53,000 493,000   -24,000 423,000 690,000 286,000 33,000 16,000 274,000 23,000                  
          tax withholdings related to net share settlements of restricted stock and performance stock awards
                                           -31,000  -423,000                                                  
          non-cash investing activity:
                                                                                                   
          proceeds from sale of property & equipment
                                                                                                   
          impairment of fixed assets
                                                                                                   
          stock-based compensation expense
                                                                      44,000                             
          changes in operating assets and liabilities, net of acquired assets and assumed liabilities
                                                                                                   
          insurance settlement
                                                                                                   
          acquisition of businesses, net of cash acquired
                                                                                                   
          issuance of notes receivable
                                                      -2,850,000      -1,000,000                                      
          tax withholdings related to net share settlements of restricted share awards and performance shares
                                                                                                   
          non-cash investing and financing activities:
                                                                                                   
          unrealized gain on foreign currency forward contracts
                                                     -36,000                                              
          restricted cash
                                                                                                   
          escrow account related to capital lease financing
                                                        898,000 1,000 897,000 -1,829,000 2,726,000 -719,000 -585,000 4,030,000 -4,409,000                             
          loss on impairment
                                                     25,000                                             
          proceeds from the sale of property and equipment
                                                       15,000 11,000 1,669,000  95,000 955,000 4,000  1,000 24,000 71,000  -1,000 19,000  5,000                            
          tax withholdings related to net share settlements of restricted stock awards and performance shares
                                                   -1,283,000    -802,000  -67,000 -145,000  -1,000 -50,000  -4,000 -83,000                              
          borrowings under note payable to financial institution
                                                   72,500,000 87,750,000 23,831,000  53,000,000 48,500,000 37,471,000  37,500,000 46,650,000 25,150,000  21,000,000 38,783,000 49,267,000  54,441,000 48,822,000 56,714,000 27,758,000                             
          payments on note payable to financial institution
                                                   -65,775,000 -73,017,000 -86,559,000  -53,799,000 -43,986,000 -28,768,000  -31,211,000 -48,457,000 -33,343,000  -31,819,000 -43,418,000 -39,813,000  -40,758,000 -30,564,000 -31,545,000 -36,818,000                             
          depreciation and amortization
                                                     3,166,000  2,936,000 3,330,000 3,865,000  4,207,000 4,172,000 3,287,000  7,238,000 1,863,000 1,602,000  1,738,000 1,686,000 1,762,000  2,795,000    1,336,000          1,528,000 1,392,000 1,693,000 1,254,000 1,015,000 1,213,000 1,212,000 1,143,000 1,022,000 767,000 861,000 1,197,000 1,696,000 1,580,000 
          depreciation and amortization of property and equipment
                                                                         1,196,000    1,145,000 1,468,000 1,147,000 1,383,000 1,135,000 1,326,000 1,057,000 1,626,000               
          allowance on notes receivable
                                                              900,000                                    
          equity in earnings of unconsolidated subsidiary
                                                                                                   
          gain on sale of business
                                                              -1,320,000                                    
          tax (deficiency) benefit from stock compensation plans
                                                                                                   
          prepaid expenses and other
                                                                      -2,434,000   -812,000   472,000 336,000 -3,664,000 -133,000 -480,000 -69,000 531,000 -127,000 1,369,000 264,000 -267,000 394,000 -563,000 489,000 -173,000 1,019,000 -1,466,000 426,000 67,000 686,000 -127,000 99,000 414,000 
          proceeds from sale of common stock
                                                                      -88,000 -1,000 117,000 206,000 452,000 361,000 1,267,000 1,021,000 648,000 354,000 882,000 154,000 900,000 470,000 317,000 163,000 103,000    -1,000 87,000 78,000   
          borrowings under note payable to financial institutions
                                                                                                   
          payments on note payable to financial institutions
                                                                                                   
          borrowings from capital lease obligations
                                                                  719,000 585,000 1,561,000 4,408,000                             
          cash paid
                                                                                                   
          tax withholdings related to net share settlements of restricted stock units and performance share awards
                                                                                                  
          payments of debt amendment costs
                                                           -32,000 -369,000                                      
          equity in earnings of unconsolidated subsidiary, net of dividends received of 600 in 2010
                                                                                                   
          tax benefit from stock compensation plans
                                                                                                   
          insurance proceeds
                                                                                                   
          tax witholdings related to net share settlements of restricted share awards and performance shares
                                                                                                   
          capital lease refinancing
                                                                                                   
          equity in earnings of unconsolidated subsidiary, net of dividends received
                                                               281,000 113,000                                  
          issuance of note receivable
                                                                                                  
          tax benefit from stock option plans
                                                                   154,000 -1,000 -122,000 -67,000 14,000 105,000 160,000 202,000 603,000                      
          cash refunded during the period for income taxes
                                                                                                   
          excess tax benefit from stock option plans
                                                                          -72,000 -141,000 -153,000 -462,000                      
          proceeds from sale and leaseback of property and equipment
                                                                                                   
          cash
                                                                                                   
          capital lease converted to operating lease
                                                                                                   
          non-cash investing activities:
                                                                                                   
          cash (refunded) paid during the period for income taxes
                                                                                                   
          operating lease converted to capital lease
                                                                                                   
          proceeds of sale-leaseback
                                                                                                   
          net borrowings (payments) under note payable to financial institution
                                                                             10,807,000                      
          net increase in cash and cash equivalents
                                                                        17,000 14,000    108,000      121,000 -50,000             -101,000 1,469,000 
          net borrowings (payments) under notes payable to financial institutions
                                                                         -23,171,000                          
          non-cash investing and financing activity:
                                                                                                   
          deferred gain on sale-leaseback of equipment
                                                                                  -357,000 -354,000 -356,000 -1,546,000 -1,613,000 -1,645,000            
          net borrowings under notes payable to financial institutions
                                                                                                   
          prep aid expenses and other
                                                                                                   
          net borrowings under note payable to financial institution
                                                                           7,402,000                        
          net decrease in cash and cash equivalents
                                                                           -93,000    -59,000 70,000 -4,079,000    50,000 -77,000 10,000  -49,000 -1,000 -1,000        
          non-cash investing and financing activity :
                                                                                                   
          tax benefit of stock options exercised
                                                                               178,000 115,000 334,000                  
          excess tax benefit of stock options exercised
                                                                               -94,000 -65,000 -190,000                  
          net borrowings (payments) under notes payable from financial institutions
                                                                               9,344,000                    
          converted operating lease to capital lease
                                                                               1,447,000                  
          changes in current assets and liabilities:
                                                                                                   
          net payments under notes payable from financial institutions
                                                                                 -2,400,000                  
          adjustments to reconcile net income to net cash
                                                                                                   
          provide by (used in) operating activities:
                                                                                                   
          costs and estimated earnings in excess of billings on
                                                                                                   
          uncompleted contracts
                                                                                  6,106,000 -5,582,000 -6,349,000           3,869,000   -979,000 
          proceeds from a sale-leaseback
                                                                                  9,500,000               
          net (payments) borrowings under notes payable from
                                                                                                   
          financial institutions
                                                                                  -7,880,000 25,110,000 -7,916,000               
          borrowings from long-term debt
                                                                                  4,500,000   15,000,000            
          payment of debt issuance costs
                                                                                  -121,000 -10,000 -53,000 -7,000 -1,085,000            
          tax benefit of nonqualified stock options exercised
                                                                                  -9,000                 
          net borrowings (payments) under notes payable from
                                                                                                   
          net payments under notes payable from
                                                                                                   
          net payments on capital lease obligations
                                                                                    -296,000 -285,000    -244,000          
          loss on sale of property and equipment
                                                                                     -3,000              
          net proceeds (payments) under notes payable from financial institutions
                                                                                     6,908,000 885,000 -15,567,000    5,658,000        
          borrowings (payments) from long-term debt
                                                                                     -1,000              
          adjustments to reconcile net income to net cash provide by (used in) operating activities:
                                                                                                   
          other assets
                                                                                       -186,000 -375,000 1,434,000 -1,677,000 -382,000       -140,000 
          net proceeds (payments) on capital lease obligations
                                                                                       -154,000            
          net cash from (used in ) financing activities
                                                                                       -1,703,000            
          (gain) loss on sale of equipment
                                                                                                   
          net borrowings (proceeds) under notes payable to financial institutions
                                                                                                   
          gain on sale of property and equipment
                                                                                         -2,837,000 -1,034,000 -1,046,000        
          net borrowings under notes payable from a financial institution
                                                                                         -5,220,000          
          proceeds from sale-leaseback
                                                                                             1,274,000 185,000   
          trade receivables
                                                                                           8,685,000       -3,416,000 
          net proceeds on capital lease obligations
                                                                                           186,000        
          net borrowings (proceeds) under notes payable
                                                                                                   
          net proceeds (payments) under notes payable from a financial institution
                                                                                                   
          proceeds (payments) on long-term debt
                                                                                                   
          net payments under notes payable from a financial institution
                                                                                                   
          net proceeds (payments) under notes payable from
                                                                                                   
          proceeds (payments) on capital lease obligations
                                                                                               178,000    
          net payments on long-term debt
                                                                                                   
          net proceeds under notes payable from financial institutions
                                                                                                   
          used in operating activities:
                                                                                                   
          net proceeds under notes payable
                                                                                                  8,800,000 
          adjustments to reconcile net income to net cash provided by operating activities:
                                                                                                   
          changes in current assets and liabilities, net of acquisitions:
                                                                                                   
          acquisitions, net of cash acquired
                                                                                                   
          net proceeds under long-term debt
                                                                                                   
          cash paid during the period for:
                                                                                                   
          interest, net of amounts capitalized
                                                                                                   
          income taxes
                                                                                                   
          supplemental disclosure of noncash information:
                                                                                                   
          cost in excess of fair value of net assets acquired
                                                                                                   
          fair value of assets acquired
                                                                                                   
          fair value of liabilities assumed