XML 121 R102.htm IDEA: XBRL DOCUMENT
v3.22.4

Stock-Based Compensation and Other Employee Benefits - Additional Information (Details) - USD ($) $ in Thousands | 1 Months Ended | 12 Months Ended |  |
--- | --- | --- | --- | ---
May 31, 2020 | Dec. 31, 2022 | Dec. 31, 2021 | Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2011 | Dec. 31, 2017 | May 31, 2010
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Granted (in shares) |  | 1,605,000 |  |  |  |  |  |
Exercise of stock options, net (in shares) |  | 196,000 |  |  |  |  |  |
Stock-based compensation expense |  | $ 15,046 | $ 8,716 | $ 1,933 |  |  |  |
401(k) plan |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Employer matching contribution percent |  | 100.00% |  |  |  |  |  |
Employer matching percent |  | 6.00% |  |  |  |  |  |
Group Personal Pension Plan | UNITED KINGDOM |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Employer matching contribution percent |  | 100.00% |  |  |  |  |  |
Employer matching percent |  | 6.00% |  |  |  |  |  |
Registered Retirement Savings Plan | Canada |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Employer matching contribution percent |  | 100.00% |  |  |  |  |  |
Employer matching percent |  | 6.00% |  |  |  |  |  |
Restricted Stock Units |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Non-vested stock options unrecognized compensation expense, weighted-average period of recognition |  | 4 months 24 days |  |  |  |  |  |
Stock-based compensation expense |  | $ 202 |  |  |  |  |  |
Vested (in shares) |  | 0 |  |  |  |  |  |
Non-vested stock options unrecognized compensation expense |  | $ 485 |  |  |  |  |  |
Stock Options |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Ratable vesting percentage |  | 33.33% |  |  |  |  |  |
Non-vested stock options unrecognized compensation expense |  | $ 46,747 |  |  |  |  |  |
Non-vested stock options unrecognized compensation expense, weighted-average period of recognition |  | 2 years 10 months 24 days |  |  |  |  |  |
Stock Options | 2019 Stock Option Grants |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Exercise term upon termination |  |  |  |  | 90 days |  |  |
Stock Options | Maximum |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Options vesting period |  |  |  |  |  | 5 years |  |
Stock Options | Minimum |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Options vesting period |  | 3 years |  |  |  |  |  |
2010 Stock Incentive Plan |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Shares available for grant (in shares) |  |  |  | 0 |  |  |  |
2010 Stock Incentive Plan | Stock Options |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Options vesting period |  | 10 years |  |  |  |  |  |
2010 Stock Incentive Plan | Stock Options | 2019 Stock Option Grants |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Granted (in shares) |  |  |  |  | 1,000,000 |  |  |
Options vesting period |  |  |  |  | 3 years |  |  |
Expiration period |  |  |  |  | 10 years |  |  |
2010 Stock Incentive Plan | Class A Common Stock |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Shares reserved for future issuance (in shares) |  |  |  |  |  |  |  | 10,000,000
2000 Stock Incentive Plan | Class A Common Stock |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Shares reserved for future issuance (in shares) | 5,000,000 |  |  |  |  |  |  |
Shares available for grant (in shares) |  | 2,036,000 |  |  |  |  |  |
Stock issued during period (in shares) |  | 3,170,000 |  |  |  |  |  |
Forfeited or expired (in shares) |  | 206,000 |  |  |  |  |  |
2017 Employee Stock Purchase Plan | Stock Options |  |  |  |  |  |  |  |
Share-based Compensation Arrangement by Share-based Payment Award [Line Items] |  |  |  |  |  |  |  |
Stock issued during period (in shares) |  | 36,000 | 29,000 |  |  |  |  |
Number of allocated shares (up to) (in shares) | 350 |  |  |  |  |  | 200 |
Discount from fair value of stock (percent) | 5.00% |  |  |  |  |  |  |
Interval term | 6 months |  |  |  |  |  |  |
Shares withheld for future purchases |  | 179,000 | 164,000 |  |  |  |  |

X
- Definition Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Interval Term + References No definition available. + Details
Name: | amrc_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPriceIntervalTerm
Namespace Prefix: | amrc_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Share-based Compensation Arrangement by Share-based Payment Award, Exercise Term Upon Termination + References No definition available. + Details
Name: | amrc_ShareBasedCompensationArrangementByShareBasedPaymentAwardExerciseTermUponTermination
Namespace Prefix: | amrc_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Forfeited + References No definition available. + Details
Name: | amrc_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesForfeited
Namespace Prefix: | amrc_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of expense for award under share-based payment arrangement. Excludes amount capitalized. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (h)(1)(i) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_AllocatedShareBasedCompensationExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Aggregate number of common shares reserved for future issuance. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.29) -URI https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage employer matches of the employee's percentage contribution matched. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost not yet recognized for nonvested award under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (i) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (i) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (i) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (a)(1) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Discount rate from fair value on purchase date that participants pay for shares. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(2)(iii)(02) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of shares authorized for issuance under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (a)(3) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Gross number of share options (or share units) granted during the period. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(01) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of shares issued under share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of shares purchased for issuance under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (l) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage of vesting of award under share-based payment arrangement. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (a)(1) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (a)(2) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 + Details
Name: | us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of share options (or share units) exercised during the current period. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(iv)(02) -URI https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -URI https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(28)) -URI https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(29)) -URI https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section 50 -Paragraph 2 -URI https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644 + Details
Name: | us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=amrc_A401kMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanSponsorLocationAxis=country_GB
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanSponsorLocationAxis=country_CA
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_AwardDateAxis=amrc_A2019StockOptionGrantsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PlanNameAxis=amrc_StockIncentive2010PlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassAMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PlanNameAxis=amrc_StockIncentive2000PlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PlanNameAxis=amrc_A2017EmployeeStockPurchasePlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |