XML 16 R2.htm IDEA: XBRL DOCUMENT
v3.25.1

Pay vs Performance Disclosure | 12 Months Ended
--- | ---
Dec. 31, 2024 USD ($) | Dec. 31, 2023 USD ($) | Dec. 31, 2022 USD ($) | Dec. 31, 2021 USD ($) | Dec. 31, 2020 USD ($) | Dec. 31, 2019
Pay vs Performance Disclosure |  |  |  |  |  |
Pay vs Performance Disclosure, Table |
Year |  | Summary Compensation Table Total for PEO ($)(1) |  | Compensation Actually Paid to PEO ($)(2) |  | Average Summary Compensation Table Total for Non-PEO NEOs ($)(3) |  | Average Compensation Actually Paid to Non-PEO NEOs ($)(4) |  | Value of Initial Fixed $100 Investment Based On: |  | Net Income (Loss) ($ in thousands)(7) |  | Revenue ($ in thousands)(8)
|  |  |  |  | Total Shareholder Return ($)(5) |  | Peer Group Total Shareholder Return ($)(6) |
2024 |  | 2,081,094 |  | 6,580,724 |  | 5,976,658 |  | 15,378,722 |  | 631.18 |  | 299.72 |  | (78,800) |  | 1,669,626
2023 |  | 20,515,350 |  | 36,814,134 |  | 15,432,708 |  | 34,721,558 |  | 488.04 |  | 219.40 |  | (183,949) |  | 1,296,745
2022 |  | 599,731 |  | (123,800,316) |  | 20,203,347 |  | (56,851,765) |  | 265.01 |  | 139.00 |  | (193,381) |  | 975,241
2021 |  | 400,000 |  | 133,649,996 |  | 2,803,735 |  | 71,405,207 |  | 770.81 |  | 193.58 |  | (260,309) |  | 656,426
2020 |  | 434,722 |  | 183,055,568 |  | 539,152 |  | 97,974,234 |  | 445.43 |  | 143.89 |  | (119,370) |  | 431,059
Company Selected Measure Name | revenue |  |  |  |  |
Named Executive Officers, Footnote | The amounts reported reflect the total compensation for Mr. Prince (who has been our PEO since co-founding the company in 2009) for each corresponding year in the “Total” column of the 2024 Summary Compensation Table. For more information, see the section titled “2024 Summary Compensation Table.” The amounts reported represent the average of the amounts reported for the non-PEO NEOs in the “Total” column of the 2024 Summary Compensation Table in each applicable year. The names of each of the non-PEO NEOs included for purposes of calculating the average amounts in each applicable year are as follows: Michelle Zatlyn, Thomas Seifert, and Douglas Kramer. |  |  |  |  |
Peer Group Issuers, Footnote | Peer group TSR is the value of $100 at the end of the measurement period assuming invested in the peer group index as of the beginning of the measurement period using a total return methodology, in order to take into account cumulative amount of dividends for the measurement period as required by Item 201(e) of Regulation S-K. The peer group used for this purpose is the following published industry index: Standard & Poor 500 Information Technology Index (the Index), as used in the company’s stock performance graph included in our 2024 Annual Report. |  |  |  |  |
PEO Total Compensation Amount | $ 2,081,094 | $ 20,515,350 | $ 599,731 | $ 400,000 | $ 434,722 |
PEO Actually Paid Compensation Amount | $ 6,580,724 | 36,814,134 | (123,800,316) | 133,649,996 | 183,055,568 |
Adjustment To PEO Compensation, Footnote | The amounts reported represent the amount of CAP to Mr. Prince for the corresponding fiscal year, as computed in accordance with SEC rules as further described below. These amounts do not reflect the actual amount of compensation earned by or paid to Mr. Prince during the applicable year. In accordance with Item 402(v) of Regulation S-K under the Securities Act, the following adjustments were made to Mr. Prince’s total compensation for each year to determine the CAP:
Year |  | Reported Summary Compensation Table Total for PEO ($) |  | Less: Reported Value of Equity Awards ($)(a) |  | Add: Equity Award Adjustments ($)(b) |  | Compensation Actually Paid to PEO ($)
2024 |  | 2,081,094 |  | — |  | 4,499,630 |  | 6,580,724
2023 |  | 20,515,350 |  | 19,331,393 |  | 35,630,177 |  | 36,814,134
2022 |  | 599,731 |  | — |  | (124,400,047) |  | (123,800,316)
2021 |  | 400,000 |  | — |  | 133,249,996 |  | 133,649,996
2020 |  | 434,722 |  | — |  | 182,620,846 |  | 183,055,568
_______________________ (a)The grant date fair value of equity awards represents the total of the amounts reported in the “Stock Awards” and “Option Awards” columns in the 2024 Summary Compensation Table for the applicable year. For more information, see the section titled “2024 Summary Compensation Table.” We have never provided pension benefits to our NEOs; therefore, no adjustments to the 2024 Summary Compensation Table total for changes in pension values are necessary. (b)The equity award adjustments for each applicable year include the addition (or subtraction, as applicable) of the following: (i) the year-end fair value of any equity awards granted in the applicable year that are outstanding and unvested as of the end of the year; (ii) the amount of change as of the end of the applicable year (from the end of the prior fiscal year) in fair value of any awards granted in prior years that are outstanding and unvested as of the end of the applicable year; (iii) for awards that are granted and vest in the same applicable year, the fair value as of the vesting date; (iv) for awards granted in prior years that vest in the applicable year, the amount equal to the change as of the vesting date (from the end of the prior fiscal year) in fair value; (v) for awards granted in prior years that are determined to fail to meet the applicable vesting conditions during the applicable year, a deduction for the amount equal to the fair value at the end of the prior fiscal year; and (vi) the dollar value of any dividends or other earnings paid on stock or option awards in the applicable year prior to the vesting date that are not otherwise reflected in the fair value of such award or included in any other component of total compensation for the applicable year. The valuation assumptions used to calculate the fair value were updated as of each measurement date and will differ from those disclosed as of the grant date. The methodology used to develop the valuation assumptions as of each applicable measurement date is consistent with those disclosed at the time of grant. The amounts deducted or added in calculating the equity award adjustments are as follows:
Year |  | Year-End Fair Value of Equity Awards Granted in the Year and that are Outstanding and Unvested ($) |  | Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years that are Outstanding and Unvested ($) |  | Fair Value as of Vesting Date of Equity Awards Granted and Vested in the Year ($) |  | Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years that Vested in the Year ($) |  | Prior Year-End Fair Value of Equity Awards that Failed to Meet Vesting Conditions in the Year ($) |  | Value of Dividends or other Earnings Paid on Equity Awards not Otherwise Reflected in Fair Value or Total Compensation ($) |  | Total Equity Award Adjustments ($)
2024 |  | — |  | 4,223,658 |  | — |  | 275,971 |  | — |  | — |  | 4,499,630
2023 |  | 20,800,846 |  | — |  | 3,538,488 |  | 11,290,843 |  | — |  | — |  | 35,630,177
2022 |  | — |  | (64,717,501) |  | — |  | (59,682,546) |  | — |  | — |  | (124,400,047)
2021 |  | — |  | 97,142,504 |  | — |  | 36,107,493 |  | — |  | — |  | 133,249,996
2020 |  | — |  | 162,057,497 |  | — |  | 20,563,348 |  | — |  | — |  | 182,620,846
Non-PEO NEO Average Total Compensation Amount | $ 5,976,658 | 15,432,708 | 20,203,347 | 2,803,735 | 539,152 |
Non-PEO NEO Average Compensation Actually Paid Amount | $ 15,378,722 | 34,721,558 | (56,851,765) | 71,405,207 | 97,974,234 |
Adjustment to Non-PEO NEO Compensation Footnote | The amounts reported represent the average amount of CAP to the non-PEO NEOs specified in footnote (3), as computed in accordance with SEC rules. These amounts do not reflect the actual average amount of compensation earned by or paid to the non-PEO NEOs during the applicable year. In accordance with Item 402(v) of Regulation S-K under the Securities Act, the following adjustments were made to average total compensation for the non-PEO NEOs for each year to determine the CAP, using the same methodology described above in footnote (2), including with respect to the remeasurement of compensation related to equity awards:
Year |  | Average Reported Summary Compensation Table Total for Non-PEO NEOs ($) |  | Less: Average Reported Value of Equity Awards ($) |  | Add: Average Equity Award Adjustments ($)(a) |  | Average Compensation Actually Paid to Non-PEO NEOs ($)
2024 |  | 5,976,658 |  | 5,062,060 |  | 14,464,124 |  | 15,378,722
2023 |  | 15,432,708 |  | 14,790,223 |  | 34,079,072 |  | 34,721,558
2022 |  | 20,203,347 |  | 19,320,714 |  | (57,734,399) |  | (56,851,765)
2021 |  | 2,803,735 |  | 2,270,402 |  | 70,871,874 |  | 71,405,207
2020 |  | 539,152 |  | — |  | 97,435,081 |  | 97,974,234
_______________________ (a)The amounts deducted or added in calculating the total average equity award adjustments are as follows:
Year |  | Average Year-End Fair Value of Equity Awards Granted in the Year and that are Outstanding and Unvested ($) |  | Average Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years that are Outstanding and Unvested ($) |  | Average Fair Value as of Vesting Date of Equity Awards Granted and Vested in the Year ($) |  | Average Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years that Vested in the Year ($) |  | Average Prior Year-End Fair Value of Equity Awards that Failed to Meet Vesting Conditions in the Year ($) |  | Average Value of Dividends or other Earnings Paid on Equity Awards not Otherwise Reflected in Fair Value or Total Compensation ($) |  | Average Equity Award Adjustments ($)
2024 |  | 4,137,999 |  | 8,148,833 |  | 1,892,003 |  | 285,290 |  | — |  | — |  | 14,464,124
2023 |  | 14,045,019 |  | 11,603,751 |  | 2,314,766 |  | 6,115,537 |  | — |  | — |  | 34,079,072
2022 |  | 6,724,110 |  | (34,558,762) |  | — |  | (29,899,746) |  | — |  | — |  | (57,734,399)
2021 |  | 3,572,548 |  | 48,739,135 |  | — |  | 18,560,191 |  | — |  | — |  | 70,871,874
2020 |  | — |  | 84,826,382 |  | — |  | 12,608,699 |  | — |  | — |  | 97,435,081
Equity Valuation Assumption Difference, Footnote | For purposes of calculating the CAP to our PEO, compensation related to equity awards was remeasured. For RSUs, the fair values and the change in fair values were determined by the closing price of our common stock at each applicable fiscal year-end date or, in the case of vested awards, the stock price on the vesting date. For stock options, a Black-Scholes-Merton option valuation model (BSM model) was used as of the applicable year-end date or, in the case of vested options, the vesting date. Similarly, for unvested performance stock options, a Monte Carlo simulation model in conjunction with the BSM model was used. The BSM model and Monte Carlo Simulation model require assumptions and judgments regarding the variables used in the calculation, including the expected remaining term, expected volatility, expected risk-free interest rate, and the expected dividend yield. The assumptions used varied by measurement date and the range of these assumptions used for each fiscal year end are as follows:
|  | Year Ended December 31,
|  | 2024 |  | 2023 |  | 2022 |  | 2021 |  | 2020 |  | 2019
Expected remaining term (in years) |  | 2.0 - 2.5 |  | 1.0 - 1.5 |  | 1.5 |  | 1.5 - 2.5 |  | 2.0 - 3.0 |  | 2.5 - 3.5
Expected volatility |  | 55.89% - 82.16% |  | 63.88% - 93.37% |  | 62.67% - 88.34% |  | 57.40% - 66.52% |  | 38.09% - 67.60% |  | 34.84% - 36.30%
Expected risk-free interest rate |  | 4.01% - 4.65% |  | 3.82% - 5.34% |  | 0.69% - 4.52% |  | 0.11% - 0.85% |  | 0.11% - 1.57% |  | 1.59% - 1.63%
Expected dividend yield |  | — |  | — |  | — |  | — |  | — |  | —
Compensation Actually Paid vs. Total Shareholder Return | Compensation Actually Paid and Total Shareholder Return The following graph shows the relationships between the amount of CAP to Mr. Prince, the average amount of CAP to the non-PEO NEOs, the company’s cumulative TSR, and the cumulative TSR of the company’s peer group over the five years presented in the Pay Versus Performance Table. |  |  |  |  |
Compensation Actually Paid vs. Net Income | Compensation Actually Paid and Net Income (Loss) The following graph shows the relationships between the amount of CAP to Mr. Prince, the average amount of CAP to the non-PEO NEOs, and the company’s net income (loss) over the five years presented in the Pay Versus Performance Table. |  |  |  |  |
Compensation Actually Paid vs. Company Selected Measure | Compensation Actually Paid and Revenue The following graph shows the relationships between the amount of CAP to Mr. Prince, the average amount of CAP to the non-PEO NEOs, and the company’s revenue over the five years presented in the Pay Versus Performance Table. |  |  |  |  |
Total Shareholder Return Vs Peer Group | Compensation Actually Paid and Total Shareholder Return The following graph shows the relationships between the amount of CAP to Mr. Prince, the average amount of CAP to the non-PEO NEOs, the company’s cumulative TSR, and the cumulative TSR of the company’s peer group over the five years presented in the Pay Versus Performance Table. |  |  |  |  |
Tabular List, Table |
2024 Financial Performance Measures
Revenue
Gross Margin
Stock Price
Total Shareholder Return Amount | $ 631.18 | 488.04 | 265.01 | 770.81 | 445.43 |
Peer Group Total Shareholder Return Amount | 299.72 | 219.40 | 139.00 | 193.58 | 143.89 |
Net Income (Loss) | $ (78,800,000) | $ (183,949,000) | $ (193,381,000) | $ (260,309,000) | $ (119,370,000) |
Company Selected Measure Amount | 1,669,626,000 | 1,296,745,000 | 975,241,000 | 656,426,000 | 431,059,000 |
PEO Name | Mr. Prince |  |  |  |  |
Additional 402(v) Disclosure | T otal shareholder return (TSR) is the value of $100 at the end of the measurement period assuming invested in the company’s Class A common stock as of the beginning of the measurement period and reinvesting all dividends. The company has not paid dividends historically. The amounts reported represent our net income (loss), as reflected in the company’s audited financial statements for the applicable year as included in our 2024 Annual Report. (8)The amounts reported represent our revenue, as reflected in the company’s audited financial statements for the applicable year as included in our 2024 Annual Report. While we use several financial performance measures for purposes of our compensation programs, we have determined that revenue is the financial performance measure that, in our assessment, represents the most important performance measure (that is not otherwise required to be disclosed in the table) used by the company to link CAP to the named executive officers, for the most recently completed fiscal year, to the company’s performance. |  |  |  |  |
Share-Based Compensation Arrangement By Share-Based Payment Award, Fair Value Assumptions, Expected Term, Minimum | 2 years | 1 year |  | 1 year 6 months | 2 years | 2 years 6 months
Share-Based Compensation Arrangement By Share-Based Payment Award, Fair Value Assumptions, Expected Term, Maximum | 2 years 6 months | 1 year 6 months |  | 2 years 6 months | 3 years | 3 years 6 months
Share-Based Compensation Arrangement By Share-Based Payment Award, Fair Value Assumptions, Expected Term |  |  | 1 year 6 months |  |  |
Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum 1 | 0.5589 | 0.6388 | 0.6267 | 0.5740 | 0.3809 | 0.3484
Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum 1 | 0.8216 | 0.9337 | 0.8834 | 0.6652 | 0.6760 | 0.3630
Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum 1 | 0.0401 | 0.0382 | 0.0069 | 0.0011 | 0.0011 | 0.0159
Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum 1 | 0.0465 | 0.0534 | 0.0452 | 0.0085 | 0.0157 | 0.0163
Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate 1 | 0.00% | 0.00% | 0.00% | 0.00% | 0.00% | 0.00%
Measure:: 1 |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Name | Revenue |  |  |  |  |
Measure:: 2 |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Name | Gross Margin |  |  |  |  |
Measure:: 3 |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Name | Stock Price |  |  |  |  |
PEO | Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | $ 0 | $ (19,331,393) | $ 0 | $ 0 | $ 0 |
PEO | Equity Awards Adjustments, Excluding Value Reported in Compensation Table |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 4,499,630 | 35,630,177 | (124,400,047) | 133,249,996 | 182,620,846 |
PEO | Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 0 | 20,800,846 | 0 | 0 | 0 |
PEO | Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 4,223,658 | 0 | (64,717,501) | 97,142,504 | 162,057,497 |
PEO | Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 0 | 3,538,488 | 0 | 0 | 0 |
PEO | Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 275,971 | 11,290,843 | (59,682,546) | 36,107,493 | 20,563,348 |
PEO | Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 0 | 0 | 0 | 0 | 0 |
PEO | Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 0 | 0 | 0 | 0 | 0 |
Non-PEO NEO | Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | (5,062,060) | (14,790,223) | (19,320,714) | (2,270,402) | 0 |
Non-PEO NEO | Equity Awards Adjustments, Excluding Value Reported in Compensation Table |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 14,464,124 | 34,079,072 | (57,734,399) | 70,871,874 | 97,435,081 |
Non-PEO NEO | Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 4,137,999 | 14,045,019 | 6,724,110 | 3,572,548 | 0 |
Non-PEO NEO | Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 8,148,833 | 11,603,751 | (34,558,762) | 48,739,135 | 84,826,382 |
Non-PEO NEO | Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 1,892,003 | 2,314,766 | 0 | 0 | 0 |
Non-PEO NEO | Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 285,290 | 6,115,537 | (29,899,746) | 18,560,191 | 12,608,699 |
Non-PEO NEO | Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | 0 | 0 | 0 | 0 | 0 |
Non-PEO NEO | Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year |  |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |  |
Adjustment to Compensation, Amount | $ 0 | $ 0 | $ 0 | $ 0 | $ 0 |

X
- References No definition available. + Details
Name: | cloud_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate1
Namespace Prefix: | cloud_
Data Type: | dtr-types1:percentItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | cloud_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedTerm
Namespace Prefix: | cloud_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | cloud_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedTermMaximum
Namespace Prefix: | cloud_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | cloud_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedTermMinimum
Namespace Prefix: | cloud_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | cloud_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum1
Namespace Prefix: | cloud_
Data Type: | xbrli:pureItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | cloud_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum1
Namespace Prefix: | cloud_
Data Type: | xbrli:pureItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | cloud_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum1
Namespace Prefix: | cloud_
Data Type: | xbrli:pureItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | cloud_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum1
Namespace Prefix: | cloud_
Data Type: | xbrli:pureItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v + Details
Name: | ecd_Additional402vDisclosureTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToNonPeoNeoCompFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToPeoCompFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_CoSelectedMeasureAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:decimalItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_CoSelectedMeasureName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph iii + Details
Name: | ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph ii + Details
Name: | ecd_CompActuallyPaidVsNetIncomeTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph i + Details
Name: | ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 4 + Details
Name: | ecd_EquityValuationAssumptionDifferenceFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_MeasureName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_NamedExecutiveOfficersFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iii + Details
Name: | ecd_NonPeoNeoAvgCompActuallyPaidAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph ii + Details
Name: | ecd_NonPeoNeoAvgTotalCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_PeerGroupIssuersFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_PeerGroupTotalShareholderRtnAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iii + Details
Name: | ecd_PeoActuallyPaidCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_PeoName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph ii + Details
Name: | ecd_PeoTotalCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 1 + Details
Name: | ecd_PvpTable
Namespace Prefix: | ecd_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 1 + Details
Name: | ecd_PvpTableTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 6 + Details
Name: | ecd_TabularListTableTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_TotalShareholderRtnAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph iv + Details
Name: | ecd_TotalShareholderRtnVsPeerGroupTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 805 -SubTopic 60 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 323 -Name Accounting Standards Codification -Section 65 -Paragraph 2 -Subparagraph (g)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(20)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(g)(1)(ii)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 323 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 825 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 28 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 815 -SubTopic 40 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4 Reference 17: http://www.xbrl.org/2003/role/exampleRef -Topic 946 -SubTopic 830 -Name Accounting Standards Codification -Section 55 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section 45 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7 Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 944 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(18)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1 Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.6-07(9)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1 Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.6-09(1)(d)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3 Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(ii)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 26: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 27: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 28: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 29: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(B)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 30: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 31: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 32: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 60B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B Reference 33: http://www.xbrl.org/2003/role/disclosureRef -Topic 205 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7 Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 230 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28 Reference 35: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1A -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A Reference 36: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 942 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(22)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1 + Details
Name: | us-gaap_NetIncomeLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | ecd_MeasureAxis=1
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_MeasureAxis=2
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_MeasureAxis=3
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_ExecutiveCategoryAxis=ecd_PeoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_ExecutiveCategoryAxis=ecd_NonPeoNeoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |