v3.8.0.1

401(k) Profit Sharing Plan - Additional Information (Details) - USD ($) | 12 Months Ended
--- | ---
Dec. 31, 2017 | Dec. 31, 2016 | Dec. 31, 2015
Defined Contribution Plan Disclosure [Line Items] |  |  |
Profit sharing plan information | The Company’s employees participate in the Company’s 401(k) profit sharing plan (the “401k Plan”) that covers all employees eighteen years of age or older who have completed three months of employment. |  |
Employee contribution on compensation, maximum | 100.00% |  |
Percentage of employees' annual contribution, eligible for employers match | 50.00% | 50.00% | 50.00%
Percentage of employees' annual contribution matched | 5.00% | 5.00% | 5.00%
Employer contribution amount | $ 900,000 | $ 700,000 | $ 500,000
Deferred Profit Sharing |  |  |
Defined Contribution Plan Disclosure [Line Items] |  |  |
Employer contribution amount | $ 0 | $ 0 | $ 0

X
- Definition Description of defined benefit pension and other postretirement plans. Includes, but is not limited to, employee group covered, type of benefit formula, type of benefits, cost sharing arrangement, funding policy, type of assets held, significant nonbenefit liabilities and information pertaining to multiple employer plan. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 55 -Paragraph 17 -URI http://asc.fasb.org/extlink&oid=77993564&loc=d3e4179-114921 + Details
Name: | us-gaap_DefinedBenefitPlansGeneralInformation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
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_DefinedContributionPlanDisclosureLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of discretionary contributions made by an employer to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

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: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage of employer's matching contributions to a defined contribution plan that vests in a given year. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployersMatchingContributionAnnualVestingPercentage
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis=us-gaap_DeferredProfitSharingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |