10-Q Filing
Filing Information
| Form Type | 10-Q |
| Accession Number | 0001628280-25-037922 |
| Period End Date | 20250630 |
| Filing Date | 20250805 |
| Fiscal Year | 2025 |
| Fiscal Period | Q2 |
| XBRL Instance | lmb-20250630_htm.xml |
Filing Contents
This filing contains the following financial statements:
Balance Sheet
162 line items
| Line Item | Tag | Value | Unit | Period |
|---|---|---|---|---|
| Accounts receivable, allowance for credit loss, current |
AllowanceForDoubtfulAccountsReceivableCurrent
|
$387.00K | USD | Point-in-time |
| Accounts receivable, allowance for credit loss, current |
AllowanceForDoubtfulAccountsReceivableCurrent
|
$387.00K | USD | Point-in-time |
| Accounts receivable, allowance for credit loss, current |
AllowanceForDoubtfulAccountsReceivableCurrent
|
$454.00K | USD | Point-in-time |
| Accounts receivable, allowance for credit loss, current |
AllowanceForDoubtfulAccountsReceivableCurrent
|
$454.00K | USD | Point-in-time |
| Common stock, par or stated value per share (in usd per share) |
CommonStockParOrStatedValuePerShare
|
$0.00 | USD | Point-in-time |
| Common stock, par or stated value per share (in usd per share) |
CommonStockParOrStatedValuePerShare
|
$0.00 | USD | Point-in-time |
| Common stock, par or stated value per share (in usd per share) |
CommonStockParOrStatedValuePerShare
|
$0.00 | USD | Point-in-time |
| Common stock, par or stated value per share (in usd per share) |
CommonStockParOrStatedValuePerShare
|
$0.00 | USD | Point-in-time |
| Common stock, shares authorized (in shares) |
CommonStockSharesAuthorized
|
100.00M | shares | Point-in-time |
| Common stock, shares authorized (in shares) |
CommonStockSharesAuthorized
|
100.00M | shares | Point-in-time |
| Cash and cash equivalents |
CashAndCashEquivalentsAtCarryingValue
|
$38.94M | USD | Point-in-time |
| Cash and cash equivalents |
CashAndCashEquivalentsAtCarryingValue
|
$38.94M | USD | Point-in-time |
| Cash and cash equivalents |
CashAndCashEquivalentsAtCarryingValue
|
$44.93M | USD | Point-in-time |
| Cash and cash equivalents |
CashAndCashEquivalentsAtCarryingValue
|
$44.93M | USD | Point-in-time |
| Common stock, shares authorized (in shares) |
CommonStockSharesAuthorized
|
100.00M | shares | Point-in-time |
| Common stock, shares authorized (in shares) |
CommonStockSharesAuthorized
|
100.00M | shares | Point-in-time |
| Common stock, shares, issued (in shares) |
CommonStockSharesIssued
|
11.80M | shares | Point-in-time |
| Common stock, shares, issued (in shares) |
CommonStockSharesIssued
|
11.80M | shares | Point-in-time |
| Common stock, shares, issued (in shares) |
CommonStockSharesIssued
|
11.45M | shares | Point-in-time |
| Common stock, shares, issued (in shares) |
CommonStockSharesIssued
|
11.45M | shares | Point-in-time |
| Restricted cash |
RestrictedCashAndCashEquivalentsAtCarryingValue
|
$65.00K | USD | Point-in-time |
| Restricted cash |
RestrictedCashAndCashEquivalentsAtCarryingValue
|
$65.00K | USD | Point-in-time |
| Restricted cash |
RestrictedCashAndCashEquivalentsAtCarryingValue
|
$65.00K | USD | Point-in-time |
| Restricted cash |
RestrictedCashAndCashEquivalentsAtCarryingValue
|
$65.00K | USD | Point-in-time |
| Common stock, shares, outstanding (in shares) |
CommonStockSharesOutstanding
|
11.62M | shares | Point-in-time |
| Common stock, shares, outstanding (in shares) |
CommonStockSharesOutstanding
|
11.62M | shares | Point-in-time |
| Common stock, shares, outstanding (in shares) |
CommonStockSharesOutstanding
|
11.27M | shares | Point-in-time |
| Common stock, shares, outstanding (in shares) |
CommonStockSharesOutstanding
|
11.27M | shares | Point-in-time |
| Accounts receivable (net of allowance for credit losses of $454 and $387 as of June 30, 2025 and December 31, 2024, respectively) |
AccountsReceivableNetCurrent
|
$119.66M | USD | Point-in-time |
| Accounts receivable (net of allowance for credit losses of $454 and $387 as of June 30, 2025 and December 31, 2024, respectively) |
AccountsReceivableNetCurrent
|
$119.66M | USD | Point-in-time |
| Accounts receivable (net of allowance for credit losses of $454 and $387 as of June 30, 2025 and December 31, 2024, respectively) |
AccountsReceivableNetCurrent
|
$113.06M | USD | Point-in-time |
| Accounts receivable (net of allowance for credit losses of $454 and $387 as of June 30, 2025 and December 31, 2024, respectively) |
AccountsReceivableNetCurrent
|
$113.06M | USD | Point-in-time |
| Contract assets |
ContractWithCustomerAssetNetCurrent
|
$45.81M | USD | Point-in-time |
| Contract assets |
ContractWithCustomerAssetNetCurrent
|
$45.81M | USD | Point-in-time |
| Contract assets |
ContractWithCustomerAssetNetCurrent
|
$47.55M | USD | Point-in-time |
| Contract assets |
ContractWithCustomerAssetNetCurrent
|
$47.55M | USD | Point-in-time |
| Treasury stock (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Treasury stock (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Treasury stock (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Treasury stock (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Income tax receivable |
IncomeTaxesReceivable
|
$1.92M | USD | Point-in-time |
| Income tax receivable |
IncomeTaxesReceivable
|
$1.92M | USD | Point-in-time |
| Income tax receivable |
IncomeTaxesReceivable
|
- | USD | Point-in-time |
| Income tax receivable |
IncomeTaxesReceivable
|
- | USD | Point-in-time |
| Other current assets |
OtherAssetsCurrent
|
$9.17M | USD | Point-in-time |
| Other current assets |
OtherAssetsCurrent
|
$9.17M | USD | Point-in-time |
| Other current assets |
OtherAssetsCurrent
|
$8.13M | USD | Point-in-time |
| Other current assets |
OtherAssetsCurrent
|
$8.13M | USD | Point-in-time |
| Total current assets |
AssetsCurrent
|
$208.97M | USD | Point-in-time |
| Total current assets |
AssetsCurrent
|
$208.97M | USD | Point-in-time |
| Total current assets |
AssetsCurrent
|
$220.33M | USD | Point-in-time |
| Total current assets |
AssetsCurrent
|
$220.33M | USD | Point-in-time |
| Property and equipment, net |
PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
|
$36.35M | USD | Point-in-time |
| Property and equipment, net |
PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
|
$36.35M | USD | Point-in-time |
| Property and equipment, net |
PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
|
$30.13M | USD | Point-in-time |
| Property and equipment, net |
PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
|
$30.13M | USD | Point-in-time |
| Intangible assets, net |
IntangibleAssetsNetExcludingGoodwill
|
$37.67M | USD | Point-in-time |
| Intangible assets, net |
IntangibleAssetsNetExcludingGoodwill
|
$37.67M | USD | Point-in-time |
| Intangible assets, net |
IntangibleAssetsNetExcludingGoodwill
|
$41.23M | USD | Point-in-time |
| Intangible assets, net |
IntangibleAssetsNetExcludingGoodwill
|
$41.23M | USD | Point-in-time |
| Goodwill |
Goodwill
|
$33.13M | USD | Point-in-time |
| Goodwill |
Goodwill
|
$33.13M | USD | Point-in-time |
| Goodwill |
Goodwill
|
$33.03M | USD | Point-in-time |
| Goodwill |
Goodwill
|
$33.03M | USD | Point-in-time |
| Goodwill |
Goodwill
|
$16.37M | USD | Point-in-time |
| Goodwill |
Goodwill
|
$16.37M | USD | Point-in-time |
| Operating lease right-of-use assets |
OperatingLeaseRightOfUseAsset
|
$21.16M | USD | Point-in-time |
| Operating lease right-of-use assets |
OperatingLeaseRightOfUseAsset
|
$21.16M | USD | Point-in-time |
| Operating lease right-of-use assets |
OperatingLeaseRightOfUseAsset
|
$21.54M | USD | Point-in-time |
| Operating lease right-of-use assets |
OperatingLeaseRightOfUseAsset
|
$21.54M | USD | Point-in-time |
| Deferred tax asset |
DeferredIncomeTaxAssetsNet
|
$5.53M | USD | Point-in-time |
| Deferred tax asset |
DeferredIncomeTaxAssetsNet
|
$5.53M | USD | Point-in-time |
| Deferred tax asset |
DeferredIncomeTaxAssetsNet
|
$5.40M | USD | Point-in-time |
| Deferred tax asset |
DeferredIncomeTaxAssetsNet
|
$5.40M | USD | Point-in-time |
| Other assets |
OtherAssetsNoncurrent
|
$337.00K | USD | Point-in-time |
| Other assets |
OtherAssetsNoncurrent
|
$337.00K | USD | Point-in-time |
| Other assets |
OtherAssetsNoncurrent
|
$295.00K | USD | Point-in-time |
| Other assets |
OtherAssetsNoncurrent
|
$295.00K | USD | Point-in-time |
| Total assets |
Assets
|
$352.13M | USD | Point-in-time |
| Total assets |
Assets
|
$352.13M | USD | Point-in-time |
| Total assets |
Assets
|
$342.98M | USD | Point-in-time |
| Total assets |
Assets
|
$342.98M | USD | Point-in-time |
| Current portion of long-term debt |
LongTermDebtAndCapitalLeaseObligationsCurrent
|
$4.42M | USD | Point-in-time |
| Current portion of long-term debt |
LongTermDebtAndCapitalLeaseObligationsCurrent
|
$4.42M | USD | Point-in-time |
| Current portion of long-term debt |
LongTermDebtAndCapitalLeaseObligationsCurrent
|
$3.31M | USD | Point-in-time |
| Current portion of long-term debt |
LongTermDebtAndCapitalLeaseObligationsCurrent
|
$3.31M | USD | Point-in-time |
| Current operating lease liabilities |
OperatingLeaseLiabilityCurrent
|
$4.09M | USD | Point-in-time |
| Current operating lease liabilities |
OperatingLeaseLiabilityCurrent
|
$4.09M | USD | Point-in-time |
| Current operating lease liabilities |
OperatingLeaseLiabilityCurrent
|
$4.13M | USD | Point-in-time |
| Current operating lease liabilities |
OperatingLeaseLiabilityCurrent
|
$4.13M | USD | Point-in-time |
| Accounts payable, including retainage |
AccountsPayableCurrent
|
$60.81M | USD | Point-in-time |
| Accounts payable, including retainage |
AccountsPayableCurrent
|
$60.81M | USD | Point-in-time |
| Accounts payable, including retainage |
AccountsPayableCurrent
|
$55.39M | USD | Point-in-time |
| Accounts payable, including retainage |
AccountsPayableCurrent
|
$55.39M | USD | Point-in-time |
| Contract liabilities |
ContractWithCustomerLiabilityCurrent
|
$44.52M | USD | Point-in-time |
| Contract liabilities |
ContractWithCustomerLiabilityCurrent
|
$44.52M | USD | Point-in-time |
| Contract liabilities |
ContractWithCustomerLiabilityCurrent
|
$32.10M | USD | Point-in-time |
| Contract liabilities |
ContractWithCustomerLiabilityCurrent
|
$32.10M | USD | Point-in-time |
| Accrued income taxes |
AccruedIncomeTaxesCurrent
|
$1.47M | USD | Point-in-time |
| Accrued income taxes |
AccruedIncomeTaxesCurrent
|
$1.47M | USD | Point-in-time |
| Accrued income taxes |
AccruedIncomeTaxesCurrent
|
- | USD | Point-in-time |
| Accrued income taxes |
AccruedIncomeTaxesCurrent
|
- | USD | Point-in-time |
| Accrued expenses and other current liabilities |
AccruedLiabilitiesAndOtherLiabilities
|
$27.41M | USD | Point-in-time |
| Accrued expenses and other current liabilities |
AccruedLiabilitiesAndOtherLiabilities
|
$27.41M | USD | Point-in-time |
| Accrued expenses and other current liabilities |
AccruedLiabilitiesAndOtherLiabilities
|
$36.83M | USD | Point-in-time |
| Accrued expenses and other current liabilities |
AccruedLiabilitiesAndOtherLiabilities
|
$36.83M | USD | Point-in-time |
| Total current liabilities |
LiabilitiesCurrent
|
$151.04M | USD | Point-in-time |
| Total current liabilities |
LiabilitiesCurrent
|
$151.04M | USD | Point-in-time |
| Total current liabilities |
LiabilitiesCurrent
|
$123.45M | USD | Point-in-time |
| Total current liabilities |
LiabilitiesCurrent
|
$123.45M | USD | Point-in-time |
| Long-term debt |
LongTermDebtAndCapitalLeaseObligations
|
$23.55M | USD | Point-in-time |
| Long-term debt |
LongTermDebtAndCapitalLeaseObligations
|
$23.55M | USD | Point-in-time |
| Long-term debt |
LongTermDebtAndCapitalLeaseObligations
|
$28.40M | USD | Point-in-time |
| Long-term debt |
LongTermDebtAndCapitalLeaseObligations
|
$28.40M | USD | Point-in-time |
| Long-term operating lease liabilities |
OperatingLeaseLiabilityNoncurrent
|
$17.77M | USD | Point-in-time |
| Long-term operating lease liabilities |
OperatingLeaseLiabilityNoncurrent
|
$17.77M | USD | Point-in-time |
| Long-term operating lease liabilities |
OperatingLeaseLiabilityNoncurrent
|
$17.43M | USD | Point-in-time |
| Long-term operating lease liabilities |
OperatingLeaseLiabilityNoncurrent
|
$17.43M | USD | Point-in-time |
| Other long-term liabilities |
OtherLiabilitiesNoncurrent
|
$6.28M | USD | Point-in-time |
| Other long-term liabilities |
OtherLiabilitiesNoncurrent
|
$6.28M | USD | Point-in-time |
| Other long-term liabilities |
OtherLiabilitiesNoncurrent
|
$3.16M | USD | Point-in-time |
| Other long-term liabilities |
OtherLiabilitiesNoncurrent
|
$3.16M | USD | Point-in-time |
| Total liabilities |
Liabilities
|
$172.45M | USD | Point-in-time |
| Total liabilities |
Liabilities
|
$172.45M | USD | Point-in-time |
| Total liabilities |
Liabilities
|
$198.64M | USD | Point-in-time |
| Total liabilities |
Liabilities
|
$198.64M | USD | Point-in-time |
| Commitments and contingencies (Note 13) |
CommitmentsAndContingencies
|
- | USD | Point-in-time |
| Commitments and contingencies (Note 13) |
CommitmentsAndContingencies
|
- | USD | Point-in-time |
| Commitments and contingencies (Note 13) |
CommitmentsAndContingencies
|
- | USD | Point-in-time |
| Commitments and contingencies (Note 13) |
CommitmentsAndContingencies
|
- | USD | Point-in-time |
| Common stock, $0.0001 par value; 100,000,000 shares authorized, issued 11,804,291 and 11,452,753, respectively, and 11,624,639 and 11,273,101 outstanding, respectively |
CommonStockValue
|
$1.00K | USD | Point-in-time |
| Common stock, $0.0001 par value; 100,000,000 shares authorized, issued 11,804,291 and 11,452,753, respectively, and 11,624,639 and 11,273,101 outstanding, respectively |
CommonStockValue
|
$1.00K | USD | Point-in-time |
| Common stock, $0.0001 par value; 100,000,000 shares authorized, issued 11,804,291 and 11,452,753, respectively, and 11,624,639 and 11,273,101 outstanding, respectively |
CommonStockValue
|
$1.00K | USD | Point-in-time |
| Common stock, $0.0001 par value; 100,000,000 shares authorized, issued 11,804,291 and 11,452,753, respectively, and 11,624,639 and 11,273,101 outstanding, respectively |
CommonStockValue
|
$1.00K | USD | Point-in-time |
| Additional paid-in capital |
AdditionalPaidInCapital
|
$94.23M | USD | Point-in-time |
| Additional paid-in capital |
AdditionalPaidInCapital
|
$94.23M | USD | Point-in-time |
| Additional paid-in capital |
AdditionalPaidInCapital
|
$93.30M | USD | Point-in-time |
| Additional paid-in capital |
AdditionalPaidInCapital
|
$93.30M | USD | Point-in-time |
| Treasury stock, at cost (179,652 shares at both period ends) |
TreasuryStockCommonValue
|
$2.00M | USD | Point-in-time |
| Treasury stock, at cost (179,652 shares at both period ends) |
TreasuryStockCommonValue
|
$2.00M | USD | Point-in-time |
| Treasury stock, at cost (179,652 shares at both period ends) |
TreasuryStockCommonValue
|
$2.00M | USD | Point-in-time |
| Treasury stock, at cost (179,652 shares at both period ends) |
TreasuryStockCommonValue
|
$2.00M | USD | Point-in-time |
| Retained earnings |
RetainedEarningsAccumulatedDeficit
|
$61.26M | USD | Point-in-time |
| Retained earnings |
RetainedEarningsAccumulatedDeficit
|
$61.26M | USD | Point-in-time |
| Retained earnings |
RetainedEarningsAccumulatedDeficit
|
$79.24M | USD | Point-in-time |
| Retained earnings |
RetainedEarningsAccumulatedDeficit
|
$79.24M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$125.53M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$125.53M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$161.13M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$161.13M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$132.96M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$132.96M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$120.92M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$120.92M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$153.49M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$153.49M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$170.53M | USD | Point-in-time |
| Total stockholders equity |
StockholdersEquity
|
$170.53M | USD | Point-in-time |
| Total liabilities and stockholders equity |
LiabilitiesAndStockholdersEquity
|
$352.13M | USD | Point-in-time |
| Total liabilities and stockholders equity |
LiabilitiesAndStockholdersEquity
|
$352.13M | USD | Point-in-time |
| Total liabilities and stockholders equity |
LiabilitiesAndStockholdersEquity
|
$342.98M | USD | Point-in-time |
| Total liabilities and stockholders equity |
LiabilitiesAndStockholdersEquity
|
$342.98M | USD | Point-in-time |
Income Statement
164 line items
| Line Item | Tag | Value | Unit | Period |
|---|---|---|---|---|
| Revenue |
Revenues
|
$122.23M | USD | 1 Quarter |
| Revenue |
Revenues
|
$122.23M | USD | 1 Quarter |
| Revenue |
Revenues
|
$275.35M | USD | 2 Qtrs |
| Revenue |
Revenues
|
$275.35M | USD | 2 Qtrs |
| Revenue |
Revenues
|
$142.24M | USD | 1 Quarter |
| Revenue |
Revenues
|
$142.24M | USD | 1 Quarter |
| Revenue |
Revenues
|
$241.21M | USD | 2 Qtrs |
| Revenue |
Revenues
|
$241.21M | USD | 2 Qtrs |
| Cost of revenue |
CostOfRevenue
|
$88.73M | USD | 1 Quarter |
| Cost of revenue |
CostOfRevenue
|
$88.73M | USD | 1 Quarter |
| Cost of revenue |
CostOfRevenue
|
$176.62M | USD | 2 Qtrs |
| Cost of revenue |
CostOfRevenue
|
$176.62M | USD | 2 Qtrs |
| Cost of revenue |
CostOfRevenue
|
$102.42M | USD | 1 Quarter |
| Cost of revenue |
CostOfRevenue
|
$102.42M | USD | 1 Quarter |
| Cost of revenue |
CostOfRevenue
|
$198.80M | USD | 2 Qtrs |
| Cost of revenue |
CostOfRevenue
|
$198.80M | USD | 2 Qtrs |
| Gross profit |
GrossProfit
|
$39.83M | USD | 1 Quarter |
| Gross profit |
GrossProfit
|
$39.83M | USD | 1 Quarter |
| Gross profit |
GrossProfit
|
$64.60M | USD | 2 Qtrs |
| Gross profit |
GrossProfit
|
$64.60M | USD | 2 Qtrs |
| Gross profit |
GrossProfit
|
$33.51M | USD | 1 Quarter |
| Gross profit |
GrossProfit
|
$33.51M | USD | 1 Quarter |
| Gross profit |
GrossProfit
|
$76.55M | USD | 2 Qtrs |
| Gross profit |
GrossProfit
|
$76.55M | USD | 2 Qtrs |
| Selling, general and administrative |
SellingGeneralAndAdministrativeExpense
|
$53.15M | USD | 2 Qtrs |
| Selling, general and administrative |
SellingGeneralAndAdministrativeExpense
|
$53.15M | USD | 2 Qtrs |
| Selling, general and administrative |
SellingGeneralAndAdministrativeExpense
|
$46.05M | USD | 2 Qtrs |
| Selling, general and administrative |
SellingGeneralAndAdministrativeExpense
|
$46.05M | USD | 2 Qtrs |
| Selling, general and administrative |
SellingGeneralAndAdministrativeExpense
|
$23.18M | USD | 1 Quarter |
| Selling, general and administrative |
SellingGeneralAndAdministrativeExpense
|
$23.18M | USD | 1 Quarter |
| Selling, general and administrative |
SellingGeneralAndAdministrativeExpense
|
$26.63M | USD | 1 Quarter |
| Selling, general and administrative |
SellingGeneralAndAdministrativeExpense
|
$26.63M | USD | 1 Quarter |
| Change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$795.00K | USD | 1 Quarter |
| Change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$795.00K | USD | 1 Quarter |
| Change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.11M | USD | 1 Quarter |
| Change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.11M | USD | 1 Quarter |
| Change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.73M | USD | 2 Qtrs |
| Change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.73M | USD | 2 Qtrs |
| Change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.22M | USD | 2 Qtrs |
| Change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.22M | USD | 2 Qtrs |
| Amortization of intangibles |
AmortizationOfIntangibleAssets
|
$2.09M | USD | 2 Qtrs |
| Amortization of intangibles |
AmortizationOfIntangibleAssets
|
$2.09M | USD | 2 Qtrs |
| Amortization of intangibles |
AmortizationOfIntangibleAssets
|
$1.03M | USD | 1 Quarter |
| Amortization of intangibles |
AmortizationOfIntangibleAssets
|
$1.03M | USD | 1 Quarter |
| Amortization of intangibles |
AmortizationOfIntangibleAssets
|
$1.76M | USD | 1 Quarter |
| Amortization of intangibles |
AmortizationOfIntangibleAssets
|
$1.76M | USD | 1 Quarter |
| Amortization of intangibles |
AmortizationOfIntangibleAssets
|
$3.62M | USD | 2 Qtrs |
| Amortization of intangibles |
AmortizationOfIntangibleAssets
|
$3.62M | USD | 2 Qtrs |
| Total operating expenses |
OperatingExpenses
|
$25.32M | USD | 1 Quarter |
| Total operating expenses |
OperatingExpenses
|
$25.32M | USD | 1 Quarter |
| Total operating expenses |
OperatingExpenses
|
$29.18M | USD | 1 Quarter |
| Total operating expenses |
OperatingExpenses
|
$29.18M | USD | 1 Quarter |
| Total operating expenses |
OperatingExpenses
|
$49.87M | USD | 2 Qtrs |
| Total operating expenses |
OperatingExpenses
|
$49.87M | USD | 2 Qtrs |
| Total operating expenses |
OperatingExpenses
|
$57.99M | USD | 2 Qtrs |
| Total operating expenses |
OperatingExpenses
|
$57.99M | USD | 2 Qtrs |
| Operating income |
OperatingIncomeLoss
|
$18.55M | USD | 2 Qtrs |
| Operating income |
OperatingIncomeLoss
|
$18.55M | USD | 2 Qtrs |
| Operating income |
OperatingIncomeLoss
|
$14.72M | USD | 2 Qtrs |
| Operating income |
OperatingIncomeLoss
|
$14.72M | USD | 2 Qtrs |
| Operating income |
OperatingIncomeLoss
|
$10.64M | USD | 1 Quarter |
| Operating income |
OperatingIncomeLoss
|
$10.64M | USD | 1 Quarter |
| Operating income |
OperatingIncomeLoss
|
$8.19M | USD | 1 Quarter |
| Operating income |
OperatingIncomeLoss
|
$8.19M | USD | 1 Quarter |
| Interest expense |
InterestExpenseNonoperating
|
$1.09M | USD | 2 Qtrs |
| Interest expense |
InterestExpenseNonoperating
|
$1.09M | USD | 2 Qtrs |
| Interest expense |
InterestExpenseNonoperating
|
$563.00K | USD | 1 Quarter |
| Interest expense |
InterestExpenseNonoperating
|
$563.00K | USD | 1 Quarter |
| Interest expense |
InterestExpenseNonoperating
|
$907.00K | USD | 2 Qtrs |
| Interest expense |
InterestExpenseNonoperating
|
$907.00K | USD | 2 Qtrs |
| Interest expense |
InterestExpenseNonoperating
|
$432.00K | USD | 1 Quarter |
| Interest expense |
InterestExpenseNonoperating
|
$432.00K | USD | 1 Quarter |
| Interest income |
InterestIncomeOther
|
$546.00K | USD | 1 Quarter |
| Interest income |
InterestIncomeOther
|
$546.00K | USD | 1 Quarter |
| Interest income |
InterestIncomeOther
|
$704.00K | USD | 2 Qtrs |
| Interest income |
InterestIncomeOther
|
$704.00K | USD | 2 Qtrs |
| Interest income |
InterestIncomeOther
|
$334.00K | USD | 1 Quarter |
| Interest income |
InterestIncomeOther
|
$334.00K | USD | 1 Quarter |
| Interest income |
InterestIncomeOther
|
$1.11M | USD | 2 Qtrs |
| Interest income |
InterestIncomeOther
|
$1.11M | USD | 2 Qtrs |
| Gain on disposition of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$740.00K | USD | 2 Qtrs |
| Gain on disposition of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$740.00K | USD | 2 Qtrs |
| Gain on disposition of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$66.00K | USD | 1 Quarter |
| Gain on disposition of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$66.00K | USD | 1 Quarter |
| Gain on disposition of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$407.00K | USD | 1 Quarter |
| Gain on disposition of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$407.00K | USD | 1 Quarter |
| Gain on disposition of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$557.00K | USD | 2 Qtrs |
| Gain on disposition of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$557.00K | USD | 2 Qtrs |
| (Loss) gain on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-12.00K | USD | 1 Quarter |
| (Loss) gain on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-12.00K | USD | 1 Quarter |
| (Loss) gain on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$137.00K | USD | 2 Qtrs |
| (Loss) gain on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$137.00K | USD | 2 Qtrs |
| (Loss) gain on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-153.00K | USD | 2 Qtrs |
| (Loss) gain on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-153.00K | USD | 2 Qtrs |
| (Loss) gain on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-56.00K | USD | 1 Quarter |
| (Loss) gain on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-56.00K | USD | 1 Quarter |
| Total other income |
OtherNonoperatingIncomeExpense
|
$122.00K | USD | 1 Quarter |
| Total other income |
OtherNonoperatingIncomeExpense
|
$122.00K | USD | 1 Quarter |
| Total other income |
OtherNonoperatingIncomeExpense
|
$202.00K | USD | 2 Qtrs |
| Total other income |
OtherNonoperatingIncomeExpense
|
$202.00K | USD | 2 Qtrs |
| Total other income |
OtherNonoperatingIncomeExpense
|
$895.00K | USD | 2 Qtrs |
| Total other income |
OtherNonoperatingIncomeExpense
|
$895.00K | USD | 2 Qtrs |
| Total other income |
OtherNonoperatingIncomeExpense
|
$168.00K | USD | 1 Quarter |
| Total other income |
OtherNonoperatingIncomeExpense
|
$168.00K | USD | 1 Quarter |
| Income before income taxes |
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
$15.62M | USD | 2 Qtrs |
| Income before income taxes |
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
$15.62M | USD | 2 Qtrs |
| Income before income taxes |
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
$8.36M | USD | 1 Quarter |
| Income before income taxes |
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
$8.36M | USD | 1 Quarter |
| Income before income taxes |
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
$18.75M | USD | 2 Qtrs |
| Income before income taxes |
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
$18.75M | USD | 2 Qtrs |
| Income before income taxes |
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
$10.76M | USD | 1 Quarter |
| Income before income taxes |
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
$10.76M | USD | 1 Quarter |
| Income tax expense |
IncomeTaxExpenseBenefit
|
$779.00K | USD | 2 Qtrs |
| Income tax expense |
IncomeTaxExpenseBenefit
|
$779.00K | USD | 2 Qtrs |
| Income tax expense |
IncomeTaxExpenseBenefit
|
$2.40M | USD | 1 Quarter |
| Income tax expense |
IncomeTaxExpenseBenefit
|
$2.40M | USD | 1 Quarter |
| Income tax expense |
IncomeTaxExpenseBenefit
|
$3.00M | USD | 1 Quarter |
| Income tax expense |
IncomeTaxExpenseBenefit
|
$3.00M | USD | 1 Quarter |
| Income tax expense |
IncomeTaxExpenseBenefit
|
$2.07M | USD | 2 Qtrs |
| Income tax expense |
IncomeTaxExpenseBenefit
|
$2.07M | USD | 2 Qtrs |
| Net income |
NetIncomeLoss
|
$13.55M | USD | 2 Qtrs |
| Net income |
NetIncomeLoss
|
$13.55M | USD | 2 Qtrs |
| Net income |
NetIncomeLoss
|
$10.21M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$10.21M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.59M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.59M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$5.96M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$5.96M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.76M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.76M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$17.98M | USD | 2 Qtrs |
| Net income |
NetIncomeLoss
|
$17.98M | USD | 2 Qtrs |
| Basic (in usd per share) |
EarningsPerShareBasic
|
$0.53 | USD | 1 Quarter |
| Basic (in usd per share) |
EarningsPerShareBasic
|
$0.53 | USD | 1 Quarter |
| Basic (in usd per share) |
EarningsPerShareBasic
|
$1.56 | USD | 2 Qtrs |
| Basic (in usd per share) |
EarningsPerShareBasic
|
$1.56 | USD | 2 Qtrs |
| Basic (in usd per share) |
EarningsPerShareBasic
|
$0.67 | USD | 1 Quarter |
| Basic (in usd per share) |
EarningsPerShareBasic
|
$0.67 | USD | 1 Quarter |
| Basic (in usd per share) |
EarningsPerShareBasic
|
$1.21 | USD | 2 Qtrs |
| Basic (in usd per share) |
EarningsPerShareBasic
|
$1.21 | USD | 2 Qtrs |
| Diluted (in usd per share) |
EarningsPerShareDiluted
|
$1.13 | USD | 2 Qtrs |
| Diluted (in usd per share) |
EarningsPerShareDiluted
|
$1.13 | USD | 2 Qtrs |
| Diluted (in usd per share) |
EarningsPerShareDiluted
|
$1.48 | USD | 2 Qtrs |
| Diluted (in usd per share) |
EarningsPerShareDiluted
|
$1.48 | USD | 2 Qtrs |
| Diluted (in usd per share) |
EarningsPerShareDiluted
|
$0.64 | USD | 1 Quarter |
| Diluted (in usd per share) |
EarningsPerShareDiluted
|
$0.64 | USD | 1 Quarter |
| Diluted (in usd per share) |
EarningsPerShareDiluted
|
$0.50 | USD | 1 Quarter |
| Diluted (in usd per share) |
EarningsPerShareDiluted
|
$0.50 | USD | 1 Quarter |
| Basic (in shares) |
WeightedAverageNumberOfSharesOutstandingBasic
|
11.21M | shares | 2 Qtrs |
| Basic (in shares) |
WeightedAverageNumberOfSharesOutstandingBasic
|
11.21M | shares | 2 Qtrs |
| Basic (in shares) |
WeightedAverageNumberOfSharesOutstandingBasic
|
11.27M | shares | 1 Quarter |
| Basic (in shares) |
WeightedAverageNumberOfSharesOutstandingBasic
|
11.27M | shares | 1 Quarter |
| Basic (in shares) |
WeightedAverageNumberOfSharesOutstandingBasic
|
11.62M | shares | 1 Quarter |
| Basic (in shares) |
WeightedAverageNumberOfSharesOutstandingBasic
|
11.62M | shares | 1 Quarter |
| Basic (in shares) |
WeightedAverageNumberOfSharesOutstandingBasic
|
11.52M | shares | 2 Qtrs |
| Basic (in shares) |
WeightedAverageNumberOfSharesOutstandingBasic
|
11.52M | shares | 2 Qtrs |
| Diluted (in shares) |
WeightedAverageNumberOfDilutedSharesOutstanding
|
12.11M | shares | 2 Qtrs |
| Diluted (in shares) |
WeightedAverageNumberOfDilutedSharesOutstanding
|
12.11M | shares | 2 Qtrs |
| Diluted (in shares) |
WeightedAverageNumberOfDilutedSharesOutstanding
|
12.11M | shares | 1 Quarter |
| Diluted (in shares) |
WeightedAverageNumberOfDilutedSharesOutstanding
|
12.11M | shares | 1 Quarter |
| Diluted (in shares) |
WeightedAverageNumberOfDilutedSharesOutstanding
|
11.97M | shares | 1 Quarter |
| Diluted (in shares) |
WeightedAverageNumberOfDilutedSharesOutstanding
|
11.97M | shares | 1 Quarter |
| Diluted (in shares) |
WeightedAverageNumberOfDilutedSharesOutstanding
|
11.97M | shares | 2 Qtrs |
| Diluted (in shares) |
WeightedAverageNumberOfDilutedSharesOutstanding
|
11.97M | shares | 2 Qtrs |
Cash Flow Statement
200 line items
| Line Item | Tag | Value | Unit | Period |
|---|---|---|---|---|
| Net income |
NetIncomeLoss
|
$13.55M | USD | 2 Qtrs |
| Net income |
NetIncomeLoss
|
$13.55M | USD | 2 Qtrs |
| Net income |
NetIncomeLoss
|
$10.21M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$10.21M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.59M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.59M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$5.96M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$5.96M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.76M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.76M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$17.98M | USD | 2 Qtrs |
| Net income |
NetIncomeLoss
|
$17.98M | USD | 2 Qtrs |
| Depreciation and amortization |
DepreciationDepletionAndAmortization
|
$8.00M | USD | 2 Qtrs |
| Depreciation and amortization |
DepreciationDepletionAndAmortization
|
$8.00M | USD | 2 Qtrs |
| Depreciation and amortization |
DepreciationDepletionAndAmortization
|
$5.52M | USD | 2 Qtrs |
| Depreciation and amortization |
DepreciationDepletionAndAmortization
|
$5.52M | USD | 2 Qtrs |
| Provision for credit losses |
ProvisionForDoubtfulAccounts
|
$139.00K | USD | 2 Qtrs |
| Provision for credit losses |
ProvisionForDoubtfulAccounts
|
$139.00K | USD | 2 Qtrs |
| Provision for credit losses |
ProvisionForDoubtfulAccounts
|
$90.00K | USD | 2 Qtrs |
| Provision for credit losses |
ProvisionForDoubtfulAccounts
|
$90.00K | USD | 2 Qtrs |
| Non-cash stock-based compensation expense |
ShareBasedCompensation
|
$3.24M | USD | 2 Qtrs |
| Non-cash stock-based compensation expense |
ShareBasedCompensation
|
$3.24M | USD | 2 Qtrs |
| Non-cash stock-based compensation expense |
ShareBasedCompensation
|
$1.50M | USD | 1 Quarter |
| Non-cash stock-based compensation expense |
ShareBasedCompensation
|
$1.50M | USD | 1 Quarter |
| Non-cash stock-based compensation expense |
ShareBasedCompensation
|
$2.72M | USD | 2 Qtrs |
| Non-cash stock-based compensation expense |
ShareBasedCompensation
|
$2.72M | USD | 2 Qtrs |
| Non-cash stock-based compensation expense |
ShareBasedCompensation
|
$1.60M | USD | 1 Quarter |
| Non-cash stock-based compensation expense |
ShareBasedCompensation
|
$1.60M | USD | 1 Quarter |
| Non-cash operating lease expense |
NoncashOperatingLeaseExpense
|
$2.09M | USD | 2 Qtrs |
| Non-cash operating lease expense |
NoncashOperatingLeaseExpense
|
$2.09M | USD | 2 Qtrs |
| Non-cash operating lease expense |
NoncashOperatingLeaseExpense
|
$1.99M | USD | 2 Qtrs |
| Non-cash operating lease expense |
NoncashOperatingLeaseExpense
|
$1.99M | USD | 2 Qtrs |
| Amortization of debt issuance costs |
AmortizationOfFinancingCosts
|
$21.00K | USD | 2 Qtrs |
| Amortization of debt issuance costs |
AmortizationOfFinancingCosts
|
$21.00K | USD | 2 Qtrs |
| Amortization of debt issuance costs |
AmortizationOfFinancingCosts
|
$21.00K | USD | 2 Qtrs |
| Amortization of debt issuance costs |
AmortizationOfFinancingCosts
|
$21.00K | USD | 2 Qtrs |
| Deferred income tax provision |
DeferredIncomeTaxExpenseBenefit
|
$-107.00K | USD | 2 Qtrs |
| Deferred income tax provision |
DeferredIncomeTaxExpenseBenefit
|
$-107.00K | USD | 2 Qtrs |
| Deferred income tax provision |
DeferredIncomeTaxExpenseBenefit
|
$128.00K | USD | 2 Qtrs |
| Deferred income tax provision |
DeferredIncomeTaxExpenseBenefit
|
$128.00K | USD | 2 Qtrs |
| Gain on sale of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$740.00K | USD | 2 Qtrs |
| Gain on sale of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$740.00K | USD | 2 Qtrs |
| Gain on sale of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$66.00K | USD | 1 Quarter |
| Gain on sale of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$66.00K | USD | 1 Quarter |
| Gain on sale of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$407.00K | USD | 1 Quarter |
| Gain on sale of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$407.00K | USD | 1 Quarter |
| Gain on sale of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$557.00K | USD | 2 Qtrs |
| Gain on sale of property and equipment |
GainLossOnSaleOfPropertyPlantEquipment
|
$557.00K | USD | 2 Qtrs |
| Loss on change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$795.00K | USD | 1 Quarter |
| Loss on change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$795.00K | USD | 1 Quarter |
| Loss on change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.11M | USD | 1 Quarter |
| Loss on change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.11M | USD | 1 Quarter |
| Loss on change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.73M | USD | 2 Qtrs |
| Loss on change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.73M | USD | 2 Qtrs |
| Loss on change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.22M | USD | 2 Qtrs |
| Loss on change in fair value of contingent consideration |
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
|
$1.22M | USD | 2 Qtrs |
| Loss (gain) on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-12.00K | USD | 1 Quarter |
| Loss (gain) on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-12.00K | USD | 1 Quarter |
| Loss (gain) on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$137.00K | USD | 2 Qtrs |
| Loss (gain) on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$137.00K | USD | 2 Qtrs |
| Loss (gain) on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-153.00K | USD | 2 Qtrs |
| Loss (gain) on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-153.00K | USD | 2 Qtrs |
| Loss (gain) on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-56.00K | USD | 1 Quarter |
| Loss (gain) on change in fair value of interest rate swap |
UnrealizedGainLossOnDerivatives
|
$-56.00K | USD | 1 Quarter |
| Accounts receivable |
IncreaseDecreaseInAccountsReceivable
|
$-496.00K | USD | 2 Qtrs |
| Accounts receivable |
IncreaseDecreaseInAccountsReceivable
|
$-496.00K | USD | 2 Qtrs |
| Accounts receivable |
IncreaseDecreaseInAccountsReceivable
|
$-6.46M | USD | 2 Qtrs |
| Accounts receivable |
IncreaseDecreaseInAccountsReceivable
|
$-6.46M | USD | 2 Qtrs |
| Contract assets |
IncreaseDecreaseInContractWithCustomerAsset
|
$-3.71M | USD | 2 Qtrs |
| Contract assets |
IncreaseDecreaseInContractWithCustomerAsset
|
$-3.71M | USD | 2 Qtrs |
| Contract assets |
IncreaseDecreaseInContractWithCustomerAsset
|
$-1.64M | USD | 2 Qtrs |
| Contract assets |
IncreaseDecreaseInContractWithCustomerAsset
|
$-1.64M | USD | 2 Qtrs |
| Other current assets |
IncreaseDecreaseInOtherCurrentAssets
|
$1.04M | USD | 2 Qtrs |
| Other current assets |
IncreaseDecreaseInOtherCurrentAssets
|
$1.04M | USD | 2 Qtrs |
| Other current assets |
IncreaseDecreaseInOtherCurrentAssets
|
$376.00K | USD | 2 Qtrs |
| Other current assets |
IncreaseDecreaseInOtherCurrentAssets
|
$376.00K | USD | 2 Qtrs |
| Accounts payable, including retainage |
IncreaseDecreaseInAccountsPayable
|
$-5.43M | USD | 2 Qtrs |
| Accounts payable, including retainage |
IncreaseDecreaseInAccountsPayable
|
$-5.43M | USD | 2 Qtrs |
| Accounts payable, including retainage |
IncreaseDecreaseInAccountsPayable
|
$-12.20M | USD | 2 Qtrs |
| Accounts payable, including retainage |
IncreaseDecreaseInAccountsPayable
|
$-12.20M | USD | 2 Qtrs |
| Prepaid income taxes |
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
$-1.92M | USD | 2 Qtrs |
| Prepaid income taxes |
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
$-1.92M | USD | 2 Qtrs |
| Prepaid income taxes |
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
$-601.00K | USD | 2 Qtrs |
| Prepaid income taxes |
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
$-601.00K | USD | 2 Qtrs |
| Accrued taxes payable |
IncreaseDecreaseInPropertyAndOtherTaxesPayable
|
$-266.00K | USD | 2 Qtrs |
| Accrued taxes payable |
IncreaseDecreaseInPropertyAndOtherTaxesPayable
|
$-266.00K | USD | 2 Qtrs |
| Accrued taxes payable |
IncreaseDecreaseInPropertyAndOtherTaxesPayable
|
$-1.47M | USD | 2 Qtrs |
| Accrued taxes payable |
IncreaseDecreaseInPropertyAndOtherTaxesPayable
|
$-1.47M | USD | 2 Qtrs |
| Contract liabilities |
IncreaseDecreaseInContractWithCustomerLiability
|
$4.30M | USD | 2 Qtrs |
| Contract liabilities |
IncreaseDecreaseInContractWithCustomerLiability
|
$4.30M | USD | 2 Qtrs |
| Contract liabilities |
IncreaseDecreaseInContractWithCustomerLiability
|
$-12.42M | USD | 2 Qtrs |
| Contract liabilities |
IncreaseDecreaseInContractWithCustomerLiability
|
$-12.42M | USD | 2 Qtrs |
| Operating lease liabilities |
IncreaseDecreaseInOperatingLeaseLiabilities
|
$-1.97M | USD | 2 Qtrs |
| Operating lease liabilities |
IncreaseDecreaseInOperatingLeaseLiabilities
|
$-1.97M | USD | 2 Qtrs |
| Operating lease liabilities |
IncreaseDecreaseInOperatingLeaseLiabilities
|
$-1.96M | USD | 2 Qtrs |
| Operating lease liabilities |
IncreaseDecreaseInOperatingLeaseLiabilities
|
$-1.96M | USD | 2 Qtrs |
| Accrued expenses and other current liabilities |
IncreaseDecreaseInOtherAccruedLiabilities
|
$-3.64M | USD | 2 Qtrs |
| Accrued expenses and other current liabilities |
IncreaseDecreaseInOtherAccruedLiabilities
|
$-3.64M | USD | 2 Qtrs |
| Accrued expenses and other current liabilities |
IncreaseDecreaseInOtherAccruedLiabilities
|
$-10.89M | USD | 2 Qtrs |
| Accrued expenses and other current liabilities |
IncreaseDecreaseInOtherAccruedLiabilities
|
$-10.89M | USD | 2 Qtrs |
| Payment of contingent consideration liability in excess of acquisition-date fair value |
PaymentForContingentConsiderationLiabilityOperatingActivities
|
$711.00K | USD | 2 Qtrs |
| Payment of contingent consideration liability in excess of acquisition-date fair value |
PaymentForContingentConsiderationLiabilityOperatingActivities
|
$711.00K | USD | 2 Qtrs |
| Payment of contingent consideration liability in excess of acquisition-date fair value |
PaymentForContingentConsiderationLiabilityOperatingActivities
|
$1.69M | USD | 2 Qtrs |
| Payment of contingent consideration liability in excess of acquisition-date fair value |
PaymentForContingentConsiderationLiabilityOperatingActivities
|
$1.69M | USD | 2 Qtrs |
| Other long-term liabilities |
IncreaseDecreaseInOtherNoncurrentLiabilities
|
$-149.00K | USD | 2 Qtrs |
| Other long-term liabilities |
IncreaseDecreaseInOtherNoncurrentLiabilities
|
$-149.00K | USD | 2 Qtrs |
| Other long-term liabilities |
IncreaseDecreaseInOtherNoncurrentLiabilities
|
$-137.00K | USD | 2 Qtrs |
| Other long-term liabilities |
IncreaseDecreaseInOtherNoncurrentLiabilities
|
$-137.00K | USD | 2 Qtrs |
| Net cash provided by operating activities |
NetCashProvidedByUsedInOperatingActivities
|
$4.24M | USD | 2 Qtrs |
| Net cash provided by operating activities |
NetCashProvidedByUsedInOperatingActivities
|
$4.24M | USD | 2 Qtrs |
| Net cash provided by operating activities |
NetCashProvidedByUsedInOperatingActivities
|
$12.56M | USD | 2 Qtrs |
| Net cash provided by operating activities |
NetCashProvidedByUsedInOperatingActivities
|
$12.56M | USD | 2 Qtrs |
| Proceeds from sale of property and equipment |
ProceedsFromSaleOfPropertyPlantAndEquipment
|
$598.00K | USD | 2 Qtrs |
| Proceeds from sale of property and equipment |
ProceedsFromSaleOfPropertyPlantAndEquipment
|
$598.00K | USD | 2 Qtrs |
| Proceeds from sale of property and equipment |
ProceedsFromSaleOfPropertyPlantAndEquipment
|
$926.00K | USD | 2 Qtrs |
| Proceeds from sale of property and equipment |
ProceedsFromSaleOfPropertyPlantAndEquipment
|
$926.00K | USD | 2 Qtrs |
| Advances from joint ventures |
PaymentsForProceedsFromBusinessesAndInterestInAffiliates
|
- | USD | 2 Qtrs |
| Advances from joint ventures |
PaymentsForProceedsFromBusinessesAndInterestInAffiliates
|
- | USD | 2 Qtrs |
| Advances from joint ventures |
PaymentsForProceedsFromBusinessesAndInterestInAffiliates
|
$-7.00K | USD | 2 Qtrs |
| Advances from joint ventures |
PaymentsForProceedsFromBusinessesAndInterestInAffiliates
|
$-7.00K | USD | 2 Qtrs |
| Purchase of property and equipment |
PaymentsToAcquirePropertyPlantAndEquipment
|
$3.08M | USD | 2 Qtrs |
| Purchase of property and equipment |
PaymentsToAcquirePropertyPlantAndEquipment
|
$3.08M | USD | 2 Qtrs |
| Purchase of property and equipment |
PaymentsToAcquirePropertyPlantAndEquipment
|
$5.84M | USD | 2 Qtrs |
| Purchase of property and equipment |
PaymentsToAcquirePropertyPlantAndEquipment
|
$5.84M | USD | 2 Qtrs |
| Net cash used in investing activities |
NetCashProvidedByUsedInInvestingActivities
|
$-2.15M | USD | 2 Qtrs |
| Net cash used in investing activities |
NetCashProvidedByUsedInInvestingActivities
|
$-2.15M | USD | 2 Qtrs |
| Net cash used in investing activities |
NetCashProvidedByUsedInInvestingActivities
|
$-5.23M | USD | 2 Qtrs |
| Net cash used in investing activities |
NetCashProvidedByUsedInInvestingActivities
|
$-5.23M | USD | 2 Qtrs |
| Payments of debt issuance costs |
PaymentsOfDebtIssuanceCosts
|
$125.00K | USD | 2 Qtrs |
| Payments of debt issuance costs |
PaymentsOfDebtIssuanceCosts
|
$125.00K | USD | 2 Qtrs |
| Payments of debt issuance costs |
PaymentsOfDebtIssuanceCosts
|
- | USD | 2 Qtrs |
| Payments of debt issuance costs |
PaymentsOfDebtIssuanceCosts
|
- | USD | 2 Qtrs |
| Payment of contingent consideration liability up to acquisition-date fair value |
PaymentsOfDebtExtinguishmentCosts
|
$2.29M | USD | 2 Qtrs |
| Payment of contingent consideration liability up to acquisition-date fair value |
PaymentsOfDebtExtinguishmentCosts
|
$2.29M | USD | 2 Qtrs |
| Payment of contingent consideration liability up to acquisition-date fair value |
PaymentsOfDebtExtinguishmentCosts
|
$1.31M | USD | 2 Qtrs |
| Payment of contingent consideration liability up to acquisition-date fair value |
PaymentsOfDebtExtinguishmentCosts
|
$1.31M | USD | 2 Qtrs |
| Payments on finance leases |
FinanceLeasePrincipalPayments
|
$1.41M | USD | 2 Qtrs |
| Payments on finance leases |
FinanceLeasePrincipalPayments
|
$1.41M | USD | 2 Qtrs |
| Payments on finance leases |
FinanceLeasePrincipalPayments
|
$1.77M | USD | 2 Qtrs |
| Payments on finance leases |
FinanceLeasePrincipalPayments
|
$1.77M | USD | 2 Qtrs |
| Proceeds from the sale of shares to cover employee taxes |
ProceedsFromSaleOfCommonStockCoverEmployeeTaxes
|
$6.34M | USD | 2 Qtrs |
| Proceeds from the sale of shares to cover employee taxes |
ProceedsFromSaleOfCommonStockCoverEmployeeTaxes
|
$6.34M | USD | 2 Qtrs |
| Proceeds from the sale of shares to cover employee taxes |
ProceedsFromSaleOfCommonStockCoverEmployeeTaxes
|
- | USD | 2 Qtrs |
| Proceeds from the sale of shares to cover employee taxes |
ProceedsFromSaleOfCommonStockCoverEmployeeTaxes
|
- | USD | 2 Qtrs |
| Taxes paid related to net-share settlement of equity awards |
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
$10.68M | USD | 2 Qtrs |
| Taxes paid related to net-share settlement of equity awards |
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
$10.68M | USD | 2 Qtrs |
| Taxes paid related to net-share settlement of equity awards |
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
$5.19M | USD | 2 Qtrs |
| Taxes paid related to net-share settlement of equity awards |
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
$5.19M | USD | 2 Qtrs |
| Proceeds from contributions to Employee Stock Purchase Plan |
ProceedsFromStockPlans
|
$441.00K | USD | 2 Qtrs |
| Proceeds from contributions to Employee Stock Purchase Plan |
ProceedsFromStockPlans
|
$441.00K | USD | 2 Qtrs |
| Proceeds from contributions to Employee Stock Purchase Plan |
ProceedsFromStockPlans
|
$279.00K | USD | 2 Qtrs |
| Proceeds from contributions to Employee Stock Purchase Plan |
ProceedsFromStockPlans
|
$279.00K | USD | 2 Qtrs |
| Net cash used in financing activities |
NetCashProvidedByUsedInFinancingActivities
|
$-8.08M | USD | 2 Qtrs |
| Net cash used in financing activities |
NetCashProvidedByUsedInFinancingActivities
|
$-8.08M | USD | 2 Qtrs |
| Net cash used in financing activities |
NetCashProvidedByUsedInFinancingActivities
|
$-7.63M | USD | 2 Qtrs |
| Net cash used in financing activities |
NetCashProvidedByUsedInFinancingActivities
|
$-7.63M | USD | 2 Qtrs |
| Decrease in cash, cash equivalents and restricted cash |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
$-5.99M | USD | 2 Qtrs |
| Decrease in cash, cash equivalents and restricted cash |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
$-5.99M | USD | 2 Qtrs |
| Decrease in cash, cash equivalents and restricted cash |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
$-299.00K | USD | 2 Qtrs |
| Decrease in cash, cash equivalents and restricted cash |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
$-299.00K | USD | 2 Qtrs |
| Cash, cash equivalents and restricted cash, beginning of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$59.60M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, beginning of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$59.60M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, beginning of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$39.01M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, beginning of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$39.01M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, beginning of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$44.99M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, beginning of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$44.99M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, beginning of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$59.90M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, beginning of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$59.90M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, end of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$59.60M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, end of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$59.60M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, end of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$39.01M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, end of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$39.01M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, end of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$44.99M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, end of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$44.99M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, end of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$59.90M | USD | Point-in-time |
| Cash, cash equivalents and restricted cash, end of period |
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
$59.90M | USD | Point-in-time |
| Kent Island Transaction, measurement period adjustment |
EarnoutPaymentsFromBusinessCombinations
|
- | USD | 2 Qtrs |
| Kent Island Transaction, measurement period adjustment |
EarnoutPaymentsFromBusinessCombinations
|
- | USD | 2 Qtrs |
| Kent Island Transaction, measurement period adjustment |
EarnoutPaymentsFromBusinessCombinations
|
$94.00K | USD | 2 Qtrs |
| Kent Island Transaction, measurement period adjustment |
EarnoutPaymentsFromBusinessCombinations
|
$94.00K | USD | 2 Qtrs |
| Right of use assets obtained in exchange for new operating lease liabilities |
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
$3.20M | USD | 2 Qtrs |
| Right of use assets obtained in exchange for new operating lease liabilities |
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
$3.20M | USD | 2 Qtrs |
| Right of use assets obtained in exchange for new operating lease liabilities |
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
$1.68M | USD | 2 Qtrs |
| Right of use assets obtained in exchange for new operating lease liabilities |
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
$1.68M | USD | 2 Qtrs |
| Right of use assets obtained in exchange for new finance lease liabilities |
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
$1.34M | USD | 2 Qtrs |
| Right of use assets obtained in exchange for new finance lease liabilities |
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
$1.34M | USD | 2 Qtrs |
| Right of use assets obtained in exchange for new finance lease liabilities |
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
$7.93M | USD | 2 Qtrs |
| Right of use assets obtained in exchange for new finance lease liabilities |
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
$7.93M | USD | 2 Qtrs |
| Right of use assets disposed or adjusted modifying finance lease liabilities |
RightOfUseAssetDisposedOrAdjustedModifyingFinanceLeaseLiability
|
- | USD | 2 Qtrs |
| Right of use assets disposed or adjusted modifying finance lease liabilities |
RightOfUseAssetDisposedOrAdjustedModifyingFinanceLeaseLiability
|
- | USD | 2 Qtrs |
| Right of use assets disposed or adjusted modifying finance lease liabilities |
RightOfUseAssetDisposedOrAdjustedModifyingFinanceLeaseLiability
|
$-2.00K | USD | 2 Qtrs |
| Right of use assets disposed or adjusted modifying finance lease liabilities |
RightOfUseAssetDisposedOrAdjustedModifyingFinanceLeaseLiability
|
$-2.00K | USD | 2 Qtrs |
| Interest paid |
InterestPaidNet
|
$1.06M | USD | 2 Qtrs |
| Interest paid |
InterestPaidNet
|
$1.06M | USD | 2 Qtrs |
| Interest paid |
InterestPaidNet
|
$918.00K | USD | 2 Qtrs |
| Interest paid |
InterestPaidNet
|
$918.00K | USD | 2 Qtrs |
| Cash paid for income taxes |
IncomeTaxesPaidNet
|
$3.04M | USD | 2 Qtrs |
| Cash paid for income taxes |
IncomeTaxesPaidNet
|
$3.04M | USD | 2 Qtrs |
| Cash paid for income taxes |
IncomeTaxesPaidNet
|
$4.02M | USD | 2 Qtrs |
| Cash paid for income taxes |
IncomeTaxesPaidNet
|
$4.02M | USD | 2 Qtrs |
Stockholders Equity
66 line items
| Line Item | Tag | Value | Unit | Period |
|---|---|---|---|---|
| Treasury stock, beginning balance (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Treasury stock, beginning balance (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Treasury stock, beginning balance (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Treasury stock, beginning balance (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$125.53M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$125.53M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$161.13M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$161.13M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$132.96M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$132.96M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$120.92M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$120.92M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$153.49M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$153.49M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$170.53M | USD | Point-in-time |
| Beginning balance |
StockholdersEquity
|
$170.53M | USD | Point-in-time |
| Non-cash stock-based compensation |
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition
|
$1.59M | USD | 1 Quarter |
| Non-cash stock-based compensation |
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition
|
$1.59M | USD | 1 Quarter |
| Non-cash stock-based compensation |
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition
|
$1.64M | USD | 1 Quarter |
| Non-cash stock-based compensation |
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition
|
$1.64M | USD | 1 Quarter |
| Non-cash stock-based compensation |
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition
|
$1.25M | USD | 1 Quarter |
| Non-cash stock-based compensation |
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition
|
$1.25M | USD | 1 Quarter |
| Non-cash stock-based compensation |
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition
|
$1.47M | USD | 1 Quarter |
| Non-cash stock-based compensation |
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition
|
$1.47M | USD | 1 Quarter |
| Shares issued related to vested restricted stock units |
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
- | USD | 1 Quarter |
| Shares issued related to vested restricted stock units |
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
- | USD | 1 Quarter |
| Shares issued related to vested restricted stock units |
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
- | USD | 1 Quarter |
| Shares issued related to vested restricted stock units |
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
- | USD | 1 Quarter |
| Shares issued related to vested restricted stock units |
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
- | USD | 1 Quarter |
| Shares issued related to vested restricted stock units |
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
- | USD | 1 Quarter |
| Tax withholding related to vested restricted stock units |
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
$4.34M | USD | 1 Quarter |
| Tax withholding related to vested restricted stock units |
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
$4.34M | USD | 1 Quarter |
| Tax withholding related to vested restricted stock units |
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
$4.34M | USD | 1 Quarter |
| Tax withholding related to vested restricted stock units |
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
$4.34M | USD | 1 Quarter |
| Shares issued related to employee stock purchase plan |
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
$169.00K | USD | 1 Quarter |
| Shares issued related to employee stock purchase plan |
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
$169.00K | USD | 1 Quarter |
| Shares issued related to employee stock purchase plan |
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
$116.00K | USD | 1 Quarter |
| Shares issued related to employee stock purchase plan |
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
$116.00K | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$13.55M | USD | 2 Qtrs |
| Net income |
NetIncomeLoss
|
$13.55M | USD | 2 Qtrs |
| Net income |
NetIncomeLoss
|
$10.21M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$10.21M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.59M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.59M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$5.96M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$5.96M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.76M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$7.76M | USD | 1 Quarter |
| Net income |
NetIncomeLoss
|
$17.98M | USD | 2 Qtrs |
| Net income |
NetIncomeLoss
|
$17.98M | USD | 2 Qtrs |
| Treasury stock, ending balance (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Treasury stock, ending balance (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Treasury stock, ending balance (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Treasury stock, ending balance (in shares) |
TreasuryStockCommonShares
|
179,652.00 | shares | Point-in-time |
| Ending balance |
StockholdersEquity
|
$125.53M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$125.53M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$161.13M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$161.13M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$132.96M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$132.96M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$120.92M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$120.92M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$153.49M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$153.49M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$170.53M | USD | Point-in-time |
| Ending balance |
StockholdersEquity
|
$170.53M | USD | Point-in-time |
Data is extracted from SEC EDGAR XBRL filings. Values shown are as reported in the filing.