<SEC-DOCUMENT>0001104659-25-046037.txt : 20250508
<SEC-HEADER>0001104659-25-046037.hdr.sgml : 20250508
<ACCEPTANCE-DATETIME>20250508143826
ACCESSION NUMBER:		0001104659-25-046037
CONFORMED SUBMISSION TYPE:	S-8
PUBLIC DOCUMENT COUNT:		15
FILED AS OF DATE:		20250508
DATE AS OF CHANGE:		20250508
EFFECTIVENESS DATE:		20250508

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			COGENT COMMUNICATIONS HOLDINGS, INC.
		CENTRAL INDEX KEY:			0001158324
		STANDARD INDUSTRIAL CLASSIFICATION:	COMMUNICATION SERVICES, NEC [4899]
		ORGANIZATION NAME:           	06 Technology
		EIN:				522337274
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		S-8
		SEC ACT:		1933 Act
		SEC FILE NUMBER:	333-287069
		FILM NUMBER:		25925403

	BUSINESS ADDRESS:	
		STREET 1:		2450 N STREET, NW
		CITY:			WASHINGTON
		STATE:			DC
		ZIP:			20037
		BUSINESS PHONE:		2022954200

	MAIL ADDRESS:	
		STREET 1:		2450 N STREET, NW
		CITY:			WASHINGTON
		STATE:			DC
		ZIP:			20037

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	COGENT COMMUNICATIONS GROUP INC
		DATE OF NAME CHANGE:	20010828
</SEC-HEADER>
<DOCUMENT>
<TYPE>S-8
<SEQUENCE>1
<FILENAME>tm2514311d1_s8.htm
<DESCRIPTION>FORM S-8
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>As filed with the Securities and Exchange Commission
on May 8, 2025.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><B>Registration No.&nbsp;333-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Rule-Page --><DIV STYLE="margin-top: 12pt; margin-bottom: 3pt; width: 100%"><DIV STYLE="font-size: 1pt; border-top: Black 2pt solid; border-bottom: Black 1pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>UNITED STATES</B></P>

<P STYLE="font: 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>SECURITIES AND EXCHANGE COMMISSION</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Washington, D.C. 20549</B></P>



<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"></P>

<!-- Field: Rule-Page --><DIV STYLE="margin: 3pt auto; width: 25%"><DIV STYLE="font-size: 1pt; border-top: Black 1pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="font-size: 18pt"><B>FORM&nbsp;S-8</B></FONT><B><FONT STYLE="font-size: 10pt">&nbsp;</FONT></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>REGISTRATION STATEMENT UNDER THE SECURITIES
ACT OF 1933</B></P>



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B></B></P>

<!-- Field: Rule-Page --><DIV STYLE="margin: 3pt auto; width: 25%"><DIV STYLE="font-size: 1pt; border-top: Black 1pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>COGENT COMMUNICATIONS HOLDINGS,&nbsp;INC.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Exact name of registrant as specified in its charter)</P>



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-size: 8pt">&nbsp;</FONT></P>

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"></P>

<!-- Field: Rule-Page --><DIV STYLE="margin: 3pt auto; width: 25%"><DIV STYLE="font-size: 1pt; border-top: Black 1pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="vertical-align: top; width: 49%; text-align: center"><FONT STYLE="font-size: 10pt"><B>Delaware</B></FONT></TD>
    <TD STYLE="vertical-align: bottom; width: 1%">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 50%; text-align: center"><FONT STYLE="font-size: 10pt"><B>46-5706863</B></FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; text-align: center"><FONT STYLE="font-size: 10pt">(State or other jurisdiction of incorporation or organization)</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; text-align: center"><FONT STYLE="font-size: 10pt">(I.R.S. Employer Identification No.)</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-size: 8pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>2450 N Street N.W.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Washington, D.C. 20037</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Address of Principal Executive Offices)(Zip Code)</P>




<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"></P>

<!-- Field: Rule-Page --><DIV STYLE="margin: 3pt auto; width: 25%"><DIV STYLE="font-size: 1pt; border-top: Black 1pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Second Amended and Restated Cogent Communications
Holdings,&nbsp;Inc. 2017 Incentive Award Plan</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Full title of the plan)</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Rule-Page --><DIV STYLE="margin: 3pt auto; width: 25%"><DIV STYLE="font-size: 1pt; border-top: Black 1pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-size: 8pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>David Schaeffer</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Chief Executive Officer</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Cogent Communications Holdings,&nbsp;Inc.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>2450 N Street N.W.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Washington, D.C. 20037</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Name and address of agent for service)</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-size: 8pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>(202) 295-4200</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(Telephone number, including area code, of agent
for service)</P>



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-size: 8pt">&nbsp;</FONT></P>

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"></P>

<!-- Field: Rule-Page --><DIV STYLE="margin: 3pt auto; width: 25%"><DIV STYLE="font-size: 1pt; border-top: Black 1pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><B>Copies to:</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-size: 8pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Brian D. Miller</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Latham&nbsp;&amp; Watkins LLP</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">555 11th Street, N.W. Suite&nbsp;1000</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Washington, DC 20004</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">(202) 637-2200</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Rule-Page --><DIV STYLE="margin: 3pt auto; width: 25%"><DIV STYLE="font-size: 1pt; border-top: Black 1pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Indicate by check mark whether the registrant is a large accelerated
filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions
of &ldquo;large accelerated filer,&rdquo; &ldquo;accelerated filer,&rdquo; &ldquo;smaller reporting company,&rdquo; and &ldquo;emerging
growth company&rdquo; in Rule 12b-2 of the Exchange Act.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-size: 8pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 32%"><FONT STYLE="font-size: 10pt">Large accelerated filer&nbsp;<FONT STYLE="font-family: Wingdings"><FONT STYLE="font-family: Wingdings">&#120;</FONT></FONT></FONT></TD>
    <TD STYLE="width: 37%; text-align: center">&nbsp;</TD>
    <TD STYLE="width: 29%"><FONT STYLE="font-size: 10pt">Accelerated filer&nbsp;</FONT></TD>
    <TD STYLE="width: 2%"><FONT STYLE="font-family: Wingdings; font-size: 10pt"><FONT STYLE="font-family: Wingdings">&#168;</FONT></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-size: 10pt">Non-accelerated filer&nbsp;&nbsp; <FONT STYLE="font-family: Wingdings"><FONT STYLE="font-family: Wingdings">&#168;</FONT></FONT></FONT></TD>
    <TD STYLE="text-align: center">&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">Smaller reporting company&nbsp;</FONT></TD>
    <TD><FONT STYLE="font-family: Wingdings; font-size: 10pt"><FONT STYLE="font-family: Wingdings">&#168;</FONT></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-size: 10pt">Emerging growth company <FONT STYLE="font-family: Wingdings"><FONT STYLE="font-family: Wingdings">&#168;</FONT></FONT></FONT></TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"><FONT STYLE="font-size: 8pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">If an emerging growth company, indicate by check mark if the registrant
has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant
to Section 7(a)(2)(B) of the Securities Act.&nbsp;<FONT STYLE="font-family: Wingdings">o</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Rule-Page --><DIV STYLE="margin-top: 3pt; margin-bottom: 3pt; width: 100%"><DIV STYLE="font-size: 1pt; border-top: Black 1pt solid; border-bottom: Black 2pt solid">&nbsp;</DIV></DIV><!-- Field: /Rule-Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>EXPLANATORY NOTE</B>&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">On February 26, 2025, the Board of Directors (the
&ldquo;<U>Board</U>&rdquo;) of Cogent Communications Holdings,&nbsp;Inc. (the &ldquo;<U>Company</U>&rdquo;) approved the Second Amended
and Restated Cogent Communications Holdings, Inc. 2017 Incentive Award Plan (as amended and restated, the &ldquo;<U>Plan</U>&rdquo;),
which includes an increase in the number of shares of common stock of the Company, par value $0.001 per share (the &ldquo;<U>Common Stock</U>&rdquo;),
available for issuance under the Plan by 1,500,000 shares. On May 7, 2025, stockholders voted to approve the Plan. This Registration Statement
on Form S-8 is being filed in order to register the 1,500,000 additional shares of Common Stock that may be offered or sold to participants
under the Plan, as well 500,000 additional shares of Common Stock that may become available for issuance under the Plan pursuant to its
terms.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The Company previously filed registration statements
on Form S-8 (File Nos. 333-217608, 333-231145, 333-255712 and 333-271876) registering shares of Common Stock that may be offered or sold
to participants under the Plan (collectively, the &ldquo;<U>Registration Statements</U>&rdquo;). The contents of the Registration Statements
are incorporated by reference herein to the extent not modified or superseded hereby or by any subsequently filed document that is incorporated
by reference herein or therein.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>PART&nbsp;I</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>INFORMATION REQUIRED IN THE SECTION&nbsp;10(a)&nbsp;PROSPECTUS</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The documents containing the information specified
in this Part&nbsp;I will be sent to or given by the Company to each recipient of an award under the Plan as specified by Rule&nbsp;428(b)(1)&nbsp;of
the Securities Act of 1933, as amended (the &ldquo;<U>Securities Act</U>&rdquo;). In accordance with the instructions to Part&nbsp;I of
Form&nbsp;S-8, such documents will not be filed with the Securities and Exchange Commission (the &ldquo;<U>Commission</U>&rdquo;) either
as part of this registration statement or as prospectuses or prospectus supplements pursuant to Rule&nbsp;424 of the Securities Act. These
documents and the documents incorporated by reference pursuant to Item 3 of Part&nbsp;II of this registration statement, taken together,
constitute a prospectus that meets the requirements of Section&nbsp;10(a)&nbsp;of the Securities Act.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>PART&nbsp;II</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>INFORMATION REQUIRED IN THE REGISTRATION STATEMENT</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>Item 3.</B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <B>Incorporation
of Documents by Reference.</B>&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">The following documents filed with the Commission
by the Company are incorporated herein by reference:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in; text-align: left">(a)</TD><TD STYLE="text-align: justify">the Company&rsquo;s <A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1158324/000141057825000226/ccoi-20241231x10k.htm" STYLE="-sec-extract: exhibit">Annual Report on Form&nbsp;10-K
for the fiscal year ended December&nbsp;31, 2024 (File No. 000-51829), filed with the Commission on February&nbsp;28, 2025</A>;</TD>
</TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-indent: -0.25in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(b)</TD><TD>the Company&rsquo;s <A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1158324/000141057825001105/ccoi-20250331x10q.htm" STYLE="-sec-extract: exhibit">Quarterly Report on Form 10-Q for the quarterly period ended March 31, 2025 (File No. 000-51829), filed with the Commission on May 8, 2025</A>;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in; text-indent: -0.25in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(c)</TD><TD>the Company&rsquo;s Current Reports on Form 8-K (File No. 000-51829), filed with the Commission on <A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1158324/000110465925003746/tm252845d1_8k.htm" STYLE="-sec-extract: exhibit">January 15, 2025</A>, <A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1158324/000110465925022963/tm258797d1_8k.htm" STYLE="-sec-extract: exhibit">March 12, 2025</A>,
<A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1158324/000110465925034257/tm2512180d1_8k.htm" STYLE="-sec-extract: exhibit">April 11, 2025</A>, and <A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1158324/000110465925046003/tm2514030d2_8k.htm" STYLE="-sec-extract: exhibit">May 8, 2025</A>; and</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top; text-align: justify">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in; text-align: left">(d)</TD><TD STYLE="text-align: justify">the description of the Company&rsquo;s Common Stock registered
pursuant to Section 12 of the Securities and Exchange Act of 1934, as amended (incorporated by reference to <A HREF="https://www.sec.gov/Archives/edgar/data/1158324/000110465920026777/ex-4d10.htm" STYLE="-sec-extract: exhibit">Exhibit 4.10</A> to the Company&rsquo;s
<A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1158324/000110465920026777/ccoi-20191231x10k90102d.htm" STYLE="-sec-extract: exhibit">Annual Report on Form 10-K for the year ended December 31, 2019, filed with the Commission on February 28, 2020)</A>.</TD>
</TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">All documents filed by the Company with the Commission
pursuant to Sections 13(a), 13(c), 14 or 15(d)&nbsp;of the Securities Exchange Act of 1934, as amended (the &ldquo;<U>Exchange Act</U>&rdquo;),
after the date of this registration statement and prior to the filing of a post-effective amendment to this registration statement, which
indicates that all securities offered hereby have been sold or which deregisters all securities then remaining unsold, shall be deemed
incorporated by reference into this registration statement and to be a part hereof from the date of filing of such document.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">We are not, however, incorporating by reference
any documents or portions thereof, whether specifically listed above or included in future filings, that are not deemed &ldquo;filed&rdquo;
with the Commission.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Any statement contained in this registration statement
or in a document incorporated or deemed to be incorporated by reference in this registration statement shall be deemed to be modified
or superseded for purposes of this registration statement to the extent that a statement contained in any subsequently filed document
that also is or is deemed to be incorporated by reference in this registration statement modifies or supersedes such statement. Any such
statement so modified or superseded shall not be deemed, except as so modified or superseded, to constitute a part of this registration
statement.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>Item 6.</B> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <B>Indemnification
of Directors and Officers.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Section&nbsp;102 of the General Corporation Law
of the State of Delaware (the &ldquo;DGCL&rdquo;) allows a corporation to adopt a provision of its certificate of incorporation that limits
or eliminates the personal liability of directors and officers of a corporation to the corporation or its stockholders for monetary damages
for breach of fiduciary duty as a director or officer, except that no provision may limit or eliminate the liability of (i) a director
or officer for a breach of the duty of loyalty, (ii) a director or officer for acts or omissions not in good faith or that involve intentional
misconduct or a knowing violation of law, (iii) a director for the payment of a dividend or approval of a stock repurchase or redemption
in violation of the DGCL, (iv) a director or officer for a transaction from which the director or officer obtained an improper personal
benefit, or (v) an officer in an action by or in the right of the corporation, including any derivative action.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Section&nbsp;145 of the DGCL provides, among other
things, that a corporation may indemnify any person who was or is a party or is threatened to be made a party to any threatened, pending
or completed action, suit or proceeding&mdash;other than an action by or in the right of the Company&mdash;by reason of the fact that
the person is or was a director, officer, employee or agent of the Company, or is or was serving at the request of the corporation as
a director, officer, employee or agent of another corporation, partnership, joint venture, trust or other enterprise against expenses,
including attorneys&rsquo; fees, judgments, fines and amounts paid in settlement actually and reasonably incurred by the person in connection
with such action, suit or proceeding. The power to indemnify applies (a)&nbsp;if such person is successful on the merits or otherwise
in defense of any action, suit or proceeding or (b)&nbsp;if such person is acting in good faith and in a manner such person reasonably
believed to be in the best interest, or not opposed to the best interest, of the Company, and with respect to any criminal action or proceeding,
had no reasonable cause to believe his or her conduct was unlawful. The power to indemnify applies to actions brought by or in the right
of the Company as well as but only to the extent of defense expenses, including attorneys&rsquo; fees actually and reasonably incurred,
but does not apply to judgments or amounts paid in settlement, and with the further limitation that in such actions no indemnification
of expenses shall be made in the event of any adjudication of liability to the Company, unless the court believes that in light of all
the circumstances indemnification should apply.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Our Certificate of Incorporation eliminates the
liability of our directors for monetary damages to us and our stockholders to the fullest extent permitted by law. Our Certificate of
Incorporation and Bylaws, as amended and restated, provide that we shall indemnify our directors and officers, including when acting as
directors, officers, employees and agents of other enterprises, to the fullest extent permitted by the DGCL.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>Item 8.</B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <B>Exhibits.</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="border-bottom: black 1pt solid; width: 5%"><FONT STYLE="font-size: 10pt"><B>Exhibit<BR> No.</B></FONT></TD>
    <TD STYLE="text-align: center; width: 2%">&nbsp;</TD>
    <TD STYLE="border-bottom: black 1pt solid; text-align: center; width: 93%"><FONT STYLE="font-size: 10pt"><B>Description</B>&nbsp;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right"><A HREF="https://www.sec.gov/Archives/edgar/data/1158324/000110465914039381/a14-12741_2ex3d1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">4.1</FONT></A></TD>
    <TD>&nbsp;</TD>
    <TD><A HREF="https://www.sec.gov/Archives/edgar/data/1158324/000110465914039381/a14-12741_2ex3d1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">Certificate of Incorporation of Cogent Communications Holdings,&nbsp;Inc. (incorporated by reference to Exhibit&nbsp;3.1 to the Company&rsquo;s Current Report on Form&nbsp;8-K filed May&nbsp;15, 2014 (File No.&nbsp;000-31227)).</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right"><A HREF="https://www.sec.gov/Archives/edgar/data/1158324/000110465925046003/tm2514030d2_ex3-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">4.2</FONT></A></TD>
    <TD>&nbsp;</TD>
    <TD><A HREF="https://www.sec.gov/Archives/edgar/data/1158324/000110465925046003/tm2514030d2_ex3-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">Amended and Restated Bylaws of Cogent Communications Holdings,&nbsp;Inc. (as of May 7, 2025) (incorporated by reference to Exhibit&nbsp;3.1 to the Company&rsquo;s Current Report on Form&nbsp;8-K filed May 8, 2025 (File No. 000-51829)).</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right"><A HREF="tm2514311d1_ex5-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">5.1</FONT></A></TD>
    <TD><A HREF="tm2514311d1_ex5-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">*</FONT></A></TD>
    <TD><A HREF="tm2514311d1_ex5-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">Opinion of Chief Legal Officer.</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right"><A HREF="tm2514311d1_ex5-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">23.1</FONT></A></TD>
    <TD><A HREF="tm2514311d1_ex5-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">*</FONT></A></TD>
    <TD><A HREF="tm2514311d1_ex5-1.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">Consent of Chief Legal Officer (included in Exhibit&nbsp;5.1).</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right"><A HREF="tm2514311d1_ex23-2.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">23.2</FONT></A></TD>
    <TD><A HREF="tm2514311d1_ex23-2.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">*</FONT></A></TD>
    <TD><A HREF="tm2514311d1_ex23-2.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">Consent of Ernst&nbsp;&amp; Young LLP.</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right"><A HREF="#xx_001"><FONT STYLE="font-size: 10pt">24.1</FONT></A></TD>
    <TD><A HREF="#xx_001"><FONT STYLE="font-size: 10pt">*</FONT></A></TD>
    <TD><A HREF="#xx_001"><FONT STYLE="font-size: 10pt">Power of Attorney (included in the signature page&nbsp;hereto).</FONT></A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right"><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1158324/000110465925028214/tm252347-4_def14a.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">99.1</FONT></A></TD>
    <TD>&nbsp;</TD>
    <TD><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/1158324/000110465925028214/tm252347-4_def14a.htm" STYLE="-sec-extract: exhibit">Second Amended and Restated Cogent Communications Holdings,&nbsp;Inc. 2017 Incentive Award Plan (incorporated by reference to Annex B of the Company&rsquo;s Definitive Proxy Statement on Schedule 14A filed March&nbsp;26, 2025 (File No. 000-51829)).</A></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: right"><A HREF="tm2514311d1_ex-filingfees.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">107*</FONT></A></TD>
    <TD>&nbsp;</TD>
    <TD><A HREF="tm2514311d1_ex-filingfees.htm" STYLE="-sec-extract: exhibit"><FONT STYLE="font-size: 10pt">Filing Fee Table</FONT></A></TD></TR>
  </TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filed herewith.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"></P>

<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 12pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><A NAME="xx_001"></A><B>SIGNATURES</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Pursuant to the requirements of the Securities
Act of 1933, the registrant certifies that it has reasonable grounds to believe that it meets all of the requirements for filing on Form&nbsp;S-8
and has duly caused this registration statement to be signed on its behalf by the undersigned, thereunto duly authorized, in the District
of Columbia, on this 8th day of May, 2025.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%">
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD>
    <TD COLSPAN="2" STYLE="font-size: 10pt; font-weight: bold"><FONT STYLE="font-size: 10pt">COGENT COMMUNICATIONS HOLDINGS,&nbsp;INC.
    &nbsp; &nbsp;</FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font-size: 10pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font-size: 10pt; font-weight: bold">&nbsp;</TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt; width: 50%"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font-size: 10pt; width: 5%"><FONT STYLE="font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: Black 1pt solid; font-size: 10pt; width: 45%"><FONT STYLE="font-size: 10pt">/s/ DAVID SCHAEFFER</FONT></TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Name:</FONT></TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">David Schaeffer</FONT></TD></TR>
  <TR STYLE="font-size: 10pt; vertical-align: bottom">
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Title:</FONT></TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Chairman and Chief Executive Officer</FONT></TD></TR>
  </TABLE>



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>POWER OF ATTORNEY</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">We, the undersigned directors and officers of Cogent
Communications Holdings,&nbsp;Inc., do hereby constitute and appoint David Schaeffer and Thaddeus Weed, and each of them, our true and
lawful attorney-in-fact and agent, with full power of substitution and resubstitution, to do any and all acts and things in our names
and on our behalf in our capacities as directors and officers and to execute any and all instruments for us in the capacities indicated
below, which said attorney and agent may deem necessary or advisable to enable said corporation to comply with the Securities Act and
any rules, regulations and agreements of the Securities and Exchange Commission, in connection with this Registration Statement, or any
registration statement for this offering that is to be effective upon filing pursuant to Rule&nbsp;462(b)&nbsp;under the Securities Act,
including specifically, but without limitation, any and all amendments (including post-effective amendments) hereto; and we hereby ratify
and confirm all that said attorney and agent shall do or cause to be done by virtue thereof.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Pursuant to the requirements of the Securities
Act of 1933, this registration statement has been signed by the following persons in the capacities and on the date indicated.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="width: 30%; border-bottom: black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt"><B>Signature</B></FONT></TD>
    <TD STYLE="width: 2%; text-align: center">&nbsp;</TD>
    <TD STYLE="width: 34%; border-bottom: black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt"><B>Title</B></FONT></TD>
    <TD STYLE="width: 2%; text-align: center">&nbsp;</TD>
    <TD STYLE="width: 32%; border-bottom: black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt"><B>Date</B></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-bottom: black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt">/s/ DAVID SCHAEFFER</FONT></TD>
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">Chairman and Chief Executive Officer</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt">May 8, 2025</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt"><B>David Schaeffer</B></FONT></TD>
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">(Principal Executive Officer)</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom; border-bottom: black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt">/s/ THADDEUS WEED</FONT></TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: top"><FONT STYLE="font-size: 10pt">Vice President, Chief Financial Officer and Treasurer</FONT></TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: top; text-align: center"><FONT STYLE="font-size: 10pt">May 8, 2025</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt"><B>Thaddeus Weed</B></FONT></TD>
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">(Principal Financial and Accounting Officer)</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-bottom: black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt">/s/ MARC MONTAGNER</FONT></TD>
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">Director</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt">May 8, 2025</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt"><B>Marc Montagner</B></FONT></TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-bottom: Black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt">/s/ STEVEN BROOKS</FONT></TD>
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">Director</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt">May 8, 2025</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt"><B>Steven Brooks</B></FONT></TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-bottom: Black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt">/s/ LEWIS H. FERGUSON III</FONT></TD>
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">Director</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt">May 8, 2025</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt"><B>Lewis H. Ferguson III</B></FONT></TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-bottom: black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt">/s/ DENEEN HOWELL</FONT></TD>
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">Director</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt">May 8, 2025</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt"><B>Deneen Howell</B></FONT></TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-bottom: Black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt">/s/ EVE HOWARD</FONT></TD>
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">Director</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt">May 8, 2025</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt"><B>Eve Howard</B></FONT></TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-bottom: black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt">/s/ SHERYL KENNEDY</FONT></TD>
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">Director</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt">May 8, 2025</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt"><B>Sheryl Kennedy</B></FONT></TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="border-bottom: Black 1pt solid; text-align: center"><FONT STYLE="font-size: 10pt">/s/ PAUL DE SA</FONT></TD>
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-size: 10pt">Director</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt">May 8, 2025</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: center"><FONT STYLE="font-size: 10pt"><B>Paul De Sa</B></FONT></TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B></B></P>

<!-- Field: Page; Sequence: 4; Options: Last -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>










</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-5.1
<SEQUENCE>2
<FILENAME>tm2514311d1_ex5-1.htm
<DESCRIPTION>EXHIBIT 5.1
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><B>Exhibit&nbsp;5.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Opinion of Chief Legal Officer</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Cogent Communications Holdings, Inc.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">May 8, 2025</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Cogent Communications Holdings, Inc.<BR>
2450 N Street N.W.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Washington, D.C. 20037</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%">
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 7%">Re:</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 93%">Registration Statement on Form&nbsp;S-8 (File No.&nbsp;333-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">2,000,000 shares of Common Stock, par value $0.001 per share</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Ladies and Gentlemen:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">This letter provides an opinion regarding Cogent
Communications Holdings, Inc.&rsquo;s (the &ldquo;Company&rdquo;) filing with the Securities and Exchange Commission (the &ldquo;Commission&rdquo;)
under the Securities Act of 1933, as amended (the &ldquo;Act&rdquo;), of a Registration Statement on Form S-8 (the &ldquo;Registration
Statement&rdquo;) relating to the proposed issuance by the Company of an additional 2,000,000 shares of the Company&rsquo;s common stock,
par value $0.001 per share (the &ldquo;Shares&rdquo;), pursuant to the Second Amended and Restated Cogent Communications Holdings, Inc.
2017 Incentive Award Plan (the &ldquo;Plan&rdquo;). This opinion is being furnished in accordance with the requirements of Item 601(b)(5)
of Regulation S-K under the Act, and no opinion is expressed herein as to any matter pertaining to the contents of the Registration Statement
or related Prospectus, other than as expressly stated herein with respect to the issue of the Shares.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">In my capacity as Chief Legal Officer of the Company,
I am familiar with the proceedings taken and proposed to be taken by the Company in connection with the authorization, issuance and sale
of the Shares, and for purposes of this opinion, have assumed such proceedings will be completed in a timely manner and in the manner
presently proposed. In preparing this opinion, I made such legal and factual examinations and inquiries, including an examination of originals
or copies certified or otherwise identified to my satisfaction of such documents, corporate records and instruments, as I have deemed
necessary or appropriate for purposes of this opinion.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">In my examination, I assumed the genuineness of
all signatures, the authenticity of all documents submitted to me as originals and the conformity to authentic original documents of all
documents submitted to me as copies.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">Subject to the foregoing and the other matters
as set forth herein, it is my opinion that, as of the date hereof, the issue and sale of the Shares have been duly authorized by all necessary
corporate action of the Company, and upon issuance, delivery and payment therefor in the manner contemplated by the Plan, the Shares will
be validly issued, fully paid and nonassessable.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">This opinion is for your benefit in connection
with the Registration Statement. You may rely upon this opinion, as may others who are entitled to rely upon it pursuant to applicable
provisions of the Act. I consent to your filing this opinion as an exhibit to the Registration Statement. In giving such consent, I do
not admit that I am in the category of persons whose consent is required under Section 7 of the Act or the rules and regulations of the
Commission thereunder.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%">
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="width: 50%"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-size: 10pt">Very truly yours,</FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-size: 10pt">/s/ John Chang&nbsp;</FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-size: 10pt">John Chang&nbsp;</FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD><FONT STYLE="font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-size: 10pt">Chief Legal Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in"></P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.2
<SEQUENCE>3
<FILENAME>tm2514311d1_ex23-2.htm
<DESCRIPTION>EXHIBIT 23.2
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="text-align: right; margin: 0"><B>Exhibit 23.2</B></P>

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="text-transform: uppercase">Consent
of Independent Registered Public Accounting Firm</FONT></P>

<P STYLE="font: bold 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0; margin-bottom: 0pt; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0; margin-bottom: 0pt">We consent to the incorporation by reference in the Registration
Statement (Form S-8) pertaining to the Second Amended and Restated Cogent Communications Holdings, Inc. 2017 Incentive Award Plan of our
reports dated February 28, 2025, with respect to the consolidated financial statements of Cogent Communications Holdings, Inc. and subsidiaries
and the effectiveness of internal control over financial reporting of Cogent Communications Holdings, Inc. and subsidiaries included in
its Annual Report (Form 10-K) for the year ended December 31, 2024, filed with the Securities and Exchange Commission.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0; margin-bottom: 0pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0; margin-bottom: 0pt">/s/ Ernst &amp; Young LLP</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0; margin-bottom: 0pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0; margin-bottom: 0pt">Tysons, Virginia</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-right: 0; margin-bottom: 0pt">May 8, 2025</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 15.1pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-top: 12pt; margin-bottom: 6pt; border-bottom: Black 1pt solid"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-FILING FEES
<SEQUENCE>4
<FILENAME>tm2514311d1_ex-filingfees.htm
<DESCRIPTION>EX-FILING FEES
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2025" xmlns:ffd="http://xbrl.sec.gov/ffd/2025">
  <head>
    <title>EX-FILING FEES</title>
  </head>
  <body>
    <div style="display: none">
      <ix:header>
        <ix:hidden>
          <ix:nonNumeric name="ffd:FormTp" contextRef="rc" id="ixv-116">S-8</ix:nonNumeric>
          <ix:nonNumeric name="ffd:SubmissnTp" contextRef="rc" id="ixv-117">S-8</ix:nonNumeric>
          <ix:nonNumeric name="ffd:FeeExhibitTp" contextRef="rc" id="ixv-118">EX-FILING FEES</ix:nonNumeric>
          <ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="rc" id="ixv-119">0001158324</ix:nonNumeric>
          <ix:nonNumeric name="dei:EntityRegistrantName" contextRef="rc" id="ixv-120">COGENT COMMUNICATIONS HOLDINGS, INC.</ix:nonNumeric>
          <ix:nonNumeric name="ffd:PrevslyPdFlg" contextRef="offrl_1" format="ixt:booleanfalse" id="ixv-121">Fees to be Paid</ix:nonNumeric>
        </ix:hidden>
        <ix:references>
          <link:schemaRef xlink:href="https://xbrl.sec.gov/ffd/2025/ffd-2025.xsd" xlink:type="simple"/>
        </ix:references>
        <ix:resources>
          <xbrli:context id="rc">
            <xbrli:entity>
              <xbrli:identifier scheme="http://www.sec.gov/CIK">0001158324</xbrli:identifier>
            </xbrli:entity>
            <xbrli:period>
              <xbrli:startDate>2025-05-08</xbrli:startDate>
              <xbrli:endDate>2025-05-08</xbrli:endDate>
            </xbrli:period>
          </xbrli:context>
          <xbrli:context id="offrl_1">
            <xbrli:entity>
              <xbrli:identifier scheme="http://www.sec.gov/CIK">0001158324</xbrli:identifier>
              <xbrli:segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                  <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
              </xbrli:segment>
            </xbrli:entity>
            <xbrli:period>
              <xbrli:startDate>2025-05-08</xbrli:startDate>
              <xbrli:endDate>2025-05-08</xbrli:endDate>
            </xbrli:period>
          </xbrli:context>
          <xbrli:unit id="USD">
            <xbrli:measure>iso4217:USD</xbrli:measure>
          </xbrli:unit>
          <xbrli:unit id="pure">
            <xbrli:measure>xbrli:pure</xbrli:measure>
          </xbrli:unit>
          <xbrli:unit id="Shares">
            <xbrli:measure>xbrli:shares</xbrli:measure>
          </xbrli:unit>
        </ix:resources>
      </ix:header>
    </div>
    <div>
      <table style="width: 99%; font-family: Arial, Helvetica, sans-serif; font-size: 20pt; text-align: center;">
        <tr>
          <td colspan="4" style="padding-bottom: .5em">
            <p>
              <b>Calculation of Filing Fee Tables</b>
            </p>
          </td>
        </tr>
        <tr>
          <td style="padding-bottom: .25em">
            <p>
              <b>
                <ix:nonNumeric name="ffd:FormTp" contextRef="rc" id="ixv-146">S-8</ix:nonNumeric>
              </b>
            </p>
          </td>
        </tr>
        <tr>
          <td style="padding-bottom: .25em">
            <p>
              <b>
                <ix:nonNumeric name="dei:EntityRegistrantName" contextRef="rc" id="ixv-147">COGENT COMMUNICATIONS HOLDINGS, INC.</ix:nonNumeric>
              </b>
            </p>
          </td>
        </tr>
      </table>
    </div>
    <div style="padding-bottom: 20px;">
      <table style="float: center; width: 100%; text-align: left;  ">
        <tr style="font-family: Arial, Helvetica, sans-serif; font-size: 16px">
          <th style="vertical-align: bottom; text-align: center; width: 90%; word-wrap: break-word">
            <p style="margin: 0pt; text-align: center;">
              <b>Table 1: Newly Registered Securities</b>
            </p>
          </th>
        </tr>
      </table>
      <table style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; float: center; width: 90%; text-align: center;  border: 1px solid black; margin-left: auto; margin-right: auto;">
        <tr style="background-color:#9ADAF6">
          <th style="width: 2%;">
            <!-- BLANK -->
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Security Type</b>
            </p>
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Security Class Title </b>
            </p>
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Fee Calculation Rule</b>
            </p>
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Amount Registered</b>
            </p>
          </th>
          <th style="width: 15%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Proposed Maximum Offering Price Per Unit</b>
            </p>
          </th>
          <th style="width: 15%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Maximum Aggregate Offering Price</b>
            </p>
          </th>
          <th style="width: 3%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Fee Rate</b>
            </p>
          </th>
          <th style="width: 15%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Amount of Registration Fee</b>
            </p>
          </th>
        </tr>
        <tr style="background-color:#E7E7E2">
          <td style="text-align: center;">
		1
	</td>
          <td style="text-align: left;">
            <ix:nonNumeric name="ffd:OfferingSctyTp" contextRef="offrl_1" id="ixv-148">Equity</ix:nonNumeric>
          </td>
          <td style="text-align: left;">
            <ix:nonNumeric name="ffd:OfferingSctyTitl" contextRef="offrl_1" id="ixv-149">Common Stock, par value $0.001 per share</ix:nonNumeric>
          </td>
          <td style="text-align: center;">
            <ix:nonNumeric name="ffd:FeesOthrRuleFlg" contextRef="offrl_1" format="ixt:booleantrue" id="ixv-150">Other</ix:nonNumeric>
          </td>
          <td style="text-align: right;">
            <ix:nonFraction name="ffd:AmtSctiesRegd" unitRef="Shares" decimals="0" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-151">2,000,000</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <span>$</span>
            <ix:nonFraction name="ffd:MaxOfferingPricPerScty" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-152">55.02</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <span>$</span>
            <ix:nonFraction name="ffd:MaxAggtOfferingPric" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-153">110,040,000.00</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <ix:nonFraction name="ffd:FeeRate" unitRef="pure" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-154">0.0001531</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <span>$</span>
            <ix:nonFraction name="ffd:FeeAmt" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-155">16,847.12</ix:nonFraction>
          </td>
        </tr>
        <tr>
          <td colspan="5" style="vertical-align: top">
            <p style="margin: 0pt; text-align: right">Total Offering Amounts:</p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top; width: 16%;">
            <p id="MaxAggtOfferingPrice" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:TtlOfferingAmt" contextRef="rc" decimals="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-156">110,040,000.00</ix:nonFraction>
            </p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top; border-bottom: 1px black; width: 16%;">
            <p id="TotalFeeAmt" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:TtlFeeAmt" contextRef="rc" decimals="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-157">16,847.12</ix:nonFraction>
            </p>
          </td>
        </tr>
        <tr>
          <td colspan="5" style="vertical-align: top">
            <p style="margin: 0pt; text-align: right">
					Total Fee Offsets:
				</p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top">
            <p id="TotalOffsetAmt" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:TtlOffsetAmt" contextRef="rc" decimals="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-158">0.00</ix:nonFraction>
            </p>
          </td>
        </tr>
        <tr>
          <td colspan="5" style="vertical-align: top">
            <p style="margin: 0pt; text-align: right">
					Net Fee Due:
				</p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top">
            <p id="NetFeeAmt" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:NetFeeAmt" contextRef="rc" decimals="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-159">16,847.12</ix:nonFraction>
            </p>
          </td>
        </tr>
      </table>
    </div>
    <div>
      <table style="width: 100%; text-indent: 0px;">
        <tbody>
          <tr style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; vertical-align: top;">
            <td>
              <p style="margin:0pt;text-align:left; margin-bottom: 5px;">
                <b>Offering Note</b>
              </p>
            </td>
            <td/>
          </tr>
        </tbody>
      </table>
    </div>
    <div style="padding-bottom: 20px;">
      <table style="width: 100%; text-indent: 0px;">
        <tr style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; vertical-align: top;">
          <td style="width:10pt;">
            <p style="margin:0pt;text-align:left;">
              <sup style="vertical-align:top;line-height:120%;font-size:10px">1</sup>
            </p>
          </td>
          <td colspan="7" style="white-space: pre-line;">
            <ix:nonNumeric name="ffd:OfferingNote" escape="1" contextRef="offrl_1" id="ixv-160">Pursuant to Rule 416(a) of the Securities Act of 1933, as amended (the "Securities Act"), this Registration Statement also covers an indeterminate number of shares of common stock of Cogent Communications Holdings, Inc., par value $0.001 per share (the "Common Stock"), that may be offered or issued under the Second Amended and Restated Cogent Communications Holdings, Inc. 2017 Incentive Award Plan as a result of a stock split, stock dividend or similar transaction.

Estimated solely for purposes of calculating the registration fee pursuant to Rules 457(h) and (c) of the Securities Act. The proposed maximum offering price per share, proposed maximum aggregate offering price and the amount of the registration fee are based on the average of the high and low prices per share for the Common Stock as reported on the Nasdaq Global Select Market on May 6, 2025.
</ix:nonNumeric>
          </td>
        </tr>
        <tr>
          <td style="width:10pt;"/>
          <td colspan="7">
            <hr style="width:100%;text-align:left;margin-left:0"/>
          </td>
        </tr>
      </table>
    </div>
  </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>6
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Submission<br></strong></div></th>
<th class="th"><div>May 08, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_SubmissionLineItems', window );"><strong>Submission [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Central Index Key</a></td>
<td class="text">0001158324<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Registrant Name</a></td>
<td class="text">COGENT COMMUNICATIONS HOLDINGS, INC.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FormTp', window );">Form Type</a></td>
<td class="text">S-8<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_SubmissnTp', window );">Submission Type</a></td>
<td class="text">S-8<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeExhibitTp', window );">Fee Exhibit Type</a></td>
<td class="text">EX-FILING FEES<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeExhibitTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeExhibitTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:feeExhibitTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FormTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FormTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_SubmissionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_SubmissionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_SubmissnTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_SubmissnTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>7
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Offerings - Offering: 1<br></strong></div></th>
<th class="th">
<div>May 08, 2025 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingTable', window );"><strong>Offering:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_PrevslyPdFlg', window );">Fee Previously Paid</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesOthrRuleFlg', window );">Other Rule</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTp', window );">Security Type</a></td>
<td class="text">Equity<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTitl', window );">Security Class Title</a></td>
<td class="text">Common Stock, par value $0.001 per share<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_AmtSctiesRegd', window );">Amount Registered | shares</a></td>
<td class="nump">2,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxOfferingPricPerScty', window );">Proposed Maximum Offering Price per Unit</a></td>
<td class="nump">55.02<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxAggtOfferingPric', window );">Maximum Aggregate Offering Price</a></td>
<td class="nump">$ 110,040,000.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeRate', window );">Fee Rate</a></td>
<td class="nump">0.01531%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeAmt', window );">Amount of Registration Fee</a></td>
<td class="nump">$ 16,847.12<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingNote', window );">Offering Note</a></td>
<td class="text">Pursuant to Rule 416(a) of the Securities Act of 1933, as amended (the "Securities Act"), this Registration Statement also covers an indeterminate number of shares of common stock of Cogent Communications Holdings, Inc., par value $0.001 per share (the "Common Stock"), that may be offered or issued under the Second Amended and Restated Cogent Communications Holdings, Inc. 2017 Incentive Award Plan as a result of a stock split, stock dividend or similar transaction.

Estimated solely for purposes of calculating the registration fee pursuant to Rules 457(h) and (c) of the Securities Act. The proposed maximum offering price per share, proposed maximum aggregate offering price and the amount of the registration fee are based on the average of the high and low prices per share for the Common Stock as reported on the Nasdaq Global Select Market on May 6, 2025.
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_AmtSctiesRegd">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of securities being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_AmtSctiesRegd</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegativeDecimal2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total amount of registration fee (amount due after offsets).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The rate per dollar of fees that public companies and other issuers pay to register their securities with the Commission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeesOthrRuleFlg">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Checkbox indicating whether filer is using a rule other than 457(a), 457(o), or 457(f) to calculate the registration fee due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeesOthrRuleFlg</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_MaxAggtOfferingPric">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum aggregate offering price for the offering that is being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_MaxAggtOfferingPric</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative100TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_MaxOfferingPricPerScty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum offering price per share/unit being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_MaxOfferingPricPerScty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegativeDecimal4lItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingNote">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingNote</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingSctyTitl">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The title of the class of securities being registered (for each class being registered).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingSctyTitl</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingSctyTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Type of securities: "Asset-backed Securities", "ADRs/ADSs", "Debt", "Debt Convertible into Equity", "Equity", "Face Amount Certificates", "Limited Partnership Interests", "Mortgage Backed Securities", "Non-Convertible Debt", "Unallocated (Universal) Shelf", "Exchange Traded Vehicle Securities", "Other"</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingSctyTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:securityTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_PrevslyPdFlg">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_PrevslyPdFlg</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingAxis=1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingAxis=1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fees Summary<br></strong></div></th>
<th class="th">
<div>May 08, 2025 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesSummaryLineItems', window );"><strong>Fees Summary [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlOfferingAmt', window );">Total Offering</a></td>
<td class="nump">$ 110,040,000.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlFeeAmt', window );">Total Fee Amount</a></td>
<td class="nump">16,847.12<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlOffsetAmt', window );">Total Offset Amount</a></td>
<td class="nump">0.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_NetFeeAmt', window );">Net Fee</a></td>
<td class="nump">$ 16,847.12<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeesSummaryLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeesSummaryLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_NetFeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_NetFeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlFeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlFeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlOfferingAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlOfferingAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlOffsetAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlOffsetAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>9
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( +ETJ%I&QTU(E0   ,T    0    9&]C4')O<',O87!P+GAM
M;$W/30O", P&X+]2=K>9BAZD#D0]BIZ\SRYUA;8I;83Z[^T$/VYY><@;HBZ)
M(B:VF$7Q+N1M,S+'#4#6(_H^R\JABJ'D>ZXQW8&,L1H/I!\> \.B;=> A3$,
M.,SBM[#IU"Y&9W7/ED)WLCI1)L/B6#0ZL2<?J]P<"A#G>B4^BQ-+.9<K!?^+
M4\L54Y[FRF_\9 6_![H74$L#!!0    ( +ETJ%I7-2U][P   "L"   1
M9&]C4')O<',O8V]R92YX;6S-DE%+PS 0Q[^*Y+V]IF4Z0M<7Q2<%P8'B6TAN
M6UC3A.2DW;<WC5N'Z <0\I*[?W[W.TBKO% NX$MP'@,9C#>3[8<HE-^P Y$7
M %$=T,I8IL20FCL7K*1T#7OP4AWE'J&NJENP2%)+DC #"[\06==J)51 22Z<
M\5HM>/\9^@S3"K!'BP-%X"4'ULT3_6GJ6[@"9AAAL/&[@'HAYNJ?V-P!=DY.
MT2RI<1S+L<FYM .']^>GU[QN889(<E"87D4CZ.1QPRZ3WYK[A^TCZ^JJ7A55
M.NLM7XOF3JSXQ^SZP^\J;)TV._./C2^"70N__D7W!5!+ P04    " "Y=*A:
MF5R<(Q &  "<)P  $P   'AL+W1H96UE+W1H96UE,2YX;6SM6EMSVC@4?N^O
MT'AG]FT+QC:!MK03<VEVV[29A.U.'X416(UL>621A'^_1S80RY8-[9)-NIL\
M!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X8-DOV]:[MR_>X%<R)!%!,!FGK_# "J5,
M7K5::0##.'W)$Q+#W(*+"$MX%,O67.!;&B\CUNJTV]U6A&ELH1A'9&!]7BQH
M0-!445IO7R"TY1\S^!7+5(UEHP$35T$FN8BT\OELQ?S:WCYES^DZ'3*!;C ;
M6"!_SF^GY$Y:B.%4PL3 :F<_5FO'T=)(@(+)?90%NDGVH],5"#(-.SJ=6,YV
M?/;$[9^,RMIT-&T:X./Q>#BVR]*+<!P$X%&[GL*=]&R_I$$)M*-IT&38]MJN
MD::JC5-/T_=]W^N;:)P*C5M/TVMWW=..B<:MT'@-OO%/A\.NB<:KT'3K:28G
M_:YKI.D6:$)&X^MZ$A6UY4#3( !8<';6S-(#EEXI^G64&MD=N]U!7/!8[CF)
M$?[&Q036:=(9EC1&<IV0!0X -\313%!\KT&VBN#"DM)<D-;/*;50&@B:R('U
M1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_::L!I^V[F\^3_'/HY)^GD]=-0LYPO"P)
M\?LC6V&')VX[$W(Z'&="?,_V]I&E)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR([O=
M]EA]]D]';B/7J<"S(M>41B1%G\@MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&
M^+3&K!'@$WVWO@C(WXV(]ZMOFCU7H5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\
MW*.76!4!EQC?-*HU+,76>)7 \:V</!T3$LV4"P9!AI<D)A*I.7Y-2!/^*Z7:
M_IS30/"4+R3Z2I&/:;,CIW0FS>@S&L%&KQMUAVC2/'K^!?F<-0H<D1L= F<;
MLT8AA&F[\!ZO)(Z:K<(1*T(^8ADV&G*U%H&V<:F$8%H2QM%X3M*T$?Q9K#63
M/F#([,V1=<[6D0X1DEXW0CYBSHN0$;\>ACA*FNVB<5@$_9Y>PTG!Z(++9OVX
M?H;5,VPLCO='U!=*Y \FIS_I,C0'HYI9";V$5FJ?JH<T/J@>,@H%\;D>/N5Z
M> HWEL:\4*Z">P'_T=HWPJOX@L Y?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;
MQ/NN,=K7-"XH8U=RS<C'5*^3*=@YG\#L_6@^GO'M^MDDA*^:62TC%I!+@;-!
M)+C\B\KP*L0)Z&1;)0G+5--E-XH2GD(;;NE3]4J5U^6ON2BX/%ODZ:^A=#XL
MS_D\7^>TS0LS0[=R2^JVE+ZU)CA*]+',<$X>RPP[9SR2';9WH!TU^_9==N0C
MI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*TU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[
MY\%1L*/O/)8=QXCRHB'NH8:8S\-#AWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4
MX&1@+: '@Z]1 O)256 Q6\8#*Y"B?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM
M(E(YPFF8$V>KRMYEL<%5'<]56_*POFH]M!5.S_Y9K<B?#!%.%@L22&.4%Z9*
MHO,94[[G*TG$53B_13.V$I<8O./FQW%.4[@2=K8/ C*YNSFI>F4Q9Z;RWRT,
M"2Q;B%D2XDU=[=7GFYRN>B)V^I=WP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[
M2$R<><41 71% B.5' 86%S+D4.Z2D 83 <V4R43P H)DIAR F/H+O?(,N2D5
MSJT^.7]%+(.&3E[2)1(4BK ,!2$7<N/O[Y-J=XS7^BR!;814,F35%\I#B<$]
M,W)#V%0E\Z[:)@N%V^)4S;L:OB9@2\-Z;ITM)__;7M0]M!<]1O.CF> >LX=S
MFWJXPD6L_UC6'ODRWSEPVSK> U[F$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ
M@2";_-;;I/;=X Q\U*M:I60K$3]+!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F
M6/,,H68XWX=%FAHSU8NL.8T*;T'50.4_V]0-:/8--!R1!5XQF;8VH^1."CS<
M_N\-L,+$CN'MB[\!4$L#!!0    ( +ETJ%H7$6+%5@(  $ &   8    >&PO
M=V]R:W-H965T<R]S:&5E=#$N>&ULA95=;]HP%(;_BI5)NVJ;$#[%2*220AN5
M+Q&Z39IV8>! K,9Q9IL&_OWL)&1, O>&^-CG??T<QSD,<L;?10P@T9$FJ?"L
M6,JL;]MB$P/%XH%ED*J5'>,42Q7RO2TR#GA;B&ABNX[3L2DFJ>4/BKD%]P?L
M(!.2PH(C<: 4\],0$I9[5L,Z3RS)/I9ZPO8'&=Y#!/(M6W 5V;7+EE!(!6$I
MXK#SK,=&?]C5^47"=P*YN!@C7<F:L7<=A%O/<C00)+"1V@&KQP<$D"3:2&'\
MJ3RM>DLMO!R?W<=%[:J6-180L.0'V<K8LWH6VL(.'Q*Y9/D+5/6TM=^&):+X
M17F9Z[8LM#D(R6@E5@24I.43'ZMSN! TNS<$;B5P"^YRHX+R"4OL#SC+$=?9
MRDT/BE(+M8(CJ7XID>1JE2B=]*/#FA*ACWA@2^6G9^U-I1V66O>&=HI/R.G=
M(==QV_^K;451H[@UBEO8-3]%0;\F:@V%$JCX?8VK-&I=-]+WN"\RO '/4A=5
M /\ R__ZI=%QOADPFS5FT^3N!Y!*CA,4IELXHE<X70,T6SB.TVBT>TVW9>!I
MU3PMH]D2]D0HHE2B&:9PC<9L$,R?1[,5"N;3Z=LL#!Y7X7P6H9?YY"F</4=W
M*)P%#P;.=LW9-FZC/R*T.F57"<W2Z+YG .C4 !VSR[_[=0OC$P,C1K?&Z)K/
M 0"-CC%9$WF3P^PP^GD_#B?JY:#Q:!1=0[(O&H+NK5/,]R05*(&=<G0>NNJ\
M>=FORD"RK.@1:R95QRF&L6KQP'6"6M\Q)L^!;COUGX;_%U!+ P04    " "Y
M=*A:$H@!/X$$  !G#   &    'AL+W=O<FMS:&5E=',O<VAE970R+GAM;)U7
M76_J.!!][Z\89:]6K<22A.]V*5+;^_EP[T70[CZ;9 "K3IS:#A1I?_R.G9"F
MW9!;+0]@)YXS9\;CXV&ZE^I1;Q$-/"<BU=?>UICLRO=UM,6$Z:[,,*4W:ZD2
M9FBJ-K[.%++8&27"[P7!R$\83[W9U#V;J]E4YD;P%.<*=)XD3!UN4<C]M1=Z
MQP<+OMD:^\"?33.VP26:AVRN:.97*#%/,-5<IJ!P?>W=A%>W8<\:N!5_<=SK
MVAAL*"LI'^WD6WSM!981"HR,A6#TL\,[%,(B$8^G$M2K?%K#^OB(_MD%3\&L
MF,8[*?[FL=E>>Q,/8ERS7)B%W'_%,J"AQ8NDT.X;]L7: 7F,<FUD4AK3/.%I
M\<N>RT34#";!"8->:> 2X1>.',N/S+#95,D]*+N:T.S A>JLB1Q/[:XLC:*W
MG.S,[.=ZC8JG&PU_P'%\!>'4-P1NE_A1"71; /5. 'UG!P@F'>@%O2$\+#_"
M^8<+T%NF4+\&\XEA1;-7T>PY]/XO:%XU$2M,!\VFMJRO=,8BO/:H;C6J'7JS
MWW\+1\&?+<3Z%;%^&_KL,R+,%>ZXS+4XP)SQN(EB.\B:"8TM9 85F4$KSD^S
M106+7& 3AW9;H_(V"L.*PK 59HE1KK@YP/TA:V31;O[I*2?C%AZCBL?H?3SN
M!-,:[KEI3DH[RIU,$I*.I9'18P<RIF#'1([P(>@&00@99=N5> OA<45XW.KJ
M)I%Y:F"!&ZX-*HSAG\;C4] NL(8.RPKO;D8R;#]3?]= 8E*1F+22F"N924V^
MO[-GGN1))0E4XSQ"%_!#RDT3I0)Y5*,T'':#7C.ARXK092NA(X^;S4;AAAE\
MPZB)2($XKA$)PR 8G,Y.&+R(9?#+T[X@%HWR6)A.:GYME03AL!^>\%L3Z? ]
MQ2'797THYJXTHM/(I "[K&=@-!F,N^&)W0A?9#AL%=-*A^&'/)&%_R'&\USI
MG%%\1CKQ@D$X.F<7-EP2-"B/,D<--Y%+0GC9[W> :6#4'\14KN=VG?=ZH7?1
M(7.N7Z=L:6C[R,H ::Z$2.Y0$4X*G(#HW-$5:ZLLS9,5U3KY*LZ@'46%&&@K
M!G9^)S<6QVI$GO+(X6OX*D5L[],.?$NC;IMHE*SK&E-P9H9N^ .LD+RLG11(
M!5SKG$8YT53'M,@TAILR!8S&"]0VO/A=U.BF#L=V1"NI,8*;/5,QS 7EPF:6
M6BY-G8T-E)4QZTQPTRDG,=_QF%Q;;IHG7%"<E.14,]=N=<_./FG#$T='2X%T
M.5(/"5FNK,(4"64BR@61HWJR$:GZ1JWIJ&5O"D/#8#@^WUZX8,^C$Q72A7MZ
MEAVE+"DE1!Y+-ZNDS&U#Y[]+6:4V;XRL7^N05>>QD;?=7-LJ4G+28CU5&?6X
M1X,MM8H.BWKB EG7RL*FR:ZJ%X;=$H695.8%] ?3,7N"+T*NF* <V$:7A%L]
M4B]/2VQ#-BKZL2Z<-=U0?JUMM"TXV6XXU8G -1W>H#NF^T4576TQ,3)SG>1*
M&NI+W7!+_P10V07T?BU)%<J);4ZK_Q:S?P%02P,$%     @ N72H6N(D\LXG
M @  6P4  !@   !X;"]W;W)K<VAE971S+W-H965T,RYX;6R-5&UOFS 0_BL6
MFZ9-FL)+$I)E@-2TJE:IW:)FW3Y,^^"0(UC%F-E.:/_]SH8@)I$L?, ^^YZ7
MPYRC6LAGE0-H\L*+4L5.KG6U<%V5YL"I&HD*2MS)A.148RAWKJHDT*T%\<(-
M/"]T.66EDT1V;2632.QUP4I82:+VG%/YNH1"U+'C.\>%1[;+M5EPDZBB.UB#
M?JI6$B.W8]DR#J5BHB02LMBY\A?+T.3;A!\,:M6;$U/)1HAG$]QM8\<SAJ"
M5!L&BL,!KJ$H#!':^--R.IVD ?;G1_9;6SO6LJ$*KD7QDVUU'CMSAVPAH_M"
M/XKZ"[3U3 U?*@IEWZ1N<H/0(>E>:<%;,#K@K&Q&^M)^AS[ /P$(6D!@?3="
MUN4-U32)I*B)--G(9B:V5(M&<ZPTA[+6$G<9XG1R"Z#(NCF1R-7(:-;=M$4O
M&W1P OU 7XDW_T@"+YB2I_4->?_VP[\L+OKI3 6=J<#2CB\P17[=XRZYT\#5
M[R&'#=5DF,K\TPM5T11B!W]:!?( 3O+NC1]ZG\\8'7=&Q^?8D^]"TX)\RS*0
MK-P-N6OP,XLW#7)(?-_S)AX^D7L8D)YTTI,+I/%+D2LN]J4>$F\8PKYX.)_,
M1GXPK#WMM*>7E:WPUC@MWY!,>_(G:@X[W?"L[E>4PXJ'M!K@I_^7ZO9ZQ5P[
M#U3N6*E( 1E"O=$,_<JFE9M B\JVST9H;$8[S?'V VD2<#\30A\#TY'=?9K\
M!5!+ P04    " "Y=*A:*R M?A8#   6$0  #0   'AL+W-T>6QE<RYX;6S=
M6&UKVS 0_BO&W48+HT[BU8O7)+ 9"H-M%-H/^U:46$X$LN3)<N?LUT\G.<Y+
M=:7KARV=0VKI'MUSC^[.E<FDUFM.;U:4ZJ MN:BGX4KKZD,4U8L5+4E]+BLJ
M#%)(51)MIFH9U96B)*_!J>31:#!(HI(P$<XFHBFO2ET'"]D(/0WCWA2XV^=\
M&@Z3=V'@Z#*9TVEX=_KF1R/UY:O W4_>GIP,[LXN#^VG%C@+(R_IQ3ZI77L^
M@.NUX3K=G6,4R1-T&0I4FL$L==2E838II-C/!AA,;%+2X)[P:9@1SN:*@5=!
M2L;7SCP"PT)RJ0)MRF#$#,%2_W+PT,V@0AU/R814-K:+X/[.N^4'P&8& AGG
MO<!1Z RS246TIDI<F8E=;(T/H* ;WZXKHW"IR'HXN@BW#O9F@LRERJGJPPS#
MC6DVX;0 .8HM5W#7LHH U%J69I SLI2"6 T;CVY@:!>4\QMHW^_%'G=;[%1U
M #45_= (ZH:.QDV ?Y?-<>_2#I[%&U3L7NI/C=F.L'-H%GJM:,%:.V^+7@#&
M/L39257Q]4?.EJ*D;O-/#CB;D(U?L)**_3+1H%46QD!5&-Q3I=EBU_)3D>J6
MMGK33FV!:QZ]0,U_-\]+*J@B?%>TZ?UCSO*S%<?O_Y5D^U_E4+!?8WK\&KMS
M\]A%7KP$D<E1BHRZ4V?G:-L[V'IK "\0T_ ;O*SP;=!@WC"NF>AF*Y;G5#PX
MWPR])G/STK?';];GM" -U[<]. VWXZ\T9TV9]JNN(1'=JNWX"VQOF/1O+R86
M$SEM:9YU4[6<VV%@!B9J=X'#(7)E+S^"^3C,CP"&Q<$48#[."XOS/^UGC.['
M89BVL1<9HSYCU,=Y^9#,?K X?I_47/Z=IFD<)PF6T2SS*LBPO"4)?/ULF#;P
MP.) I#_+-5YMO$,>[P.LIH]U"+93O!.QG>*Y!L2?-_!(4W^UL3C@@54!ZQV(
M[X\#/>7WB6.H*J8->X)Q)$TQ!'K1WZ-)@F0G@8^_/MA3$L=IZD< \RN(8PR!
MIQ%', 6@ 4/BV)Z#!^=1M#FGHNTO(;/?4$L#!!0    ( +ETJ%J7BKL<P
M !,"   +    7W)E;',O+G)E;'.=DKENPS ,0'_%T)XP!] AB#-E\18$^0%6
MH@_8$@6*19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI&/T04FE:U;@!2+8ECVG.
MD4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G<Z17B%S7G:4]VR]/06^ KSI,
M<4)I2$LS#O#-TG\R]_,,-47E2B.56QIXT^7^=N!)T:$B6!::1<G3HAVE?QW'
M]I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T_C6"R0_L?@!02P,$%     @ N72H
M6E)Q;[5= 0  2 ,   \   !X;"]W;W)K8F]O:RYX;6RUDMU*PT 0A5\E[ .8
M6G_ TO3&4A5$BY7>;Y*)&=S="3,;:WUZ)PG!@"#>]&HS9Y:3;\[.\D#\GA.]
M)Y_>!<E,'6.S2%,I:O!6SJB!H)V*V-NH);^ETC#84FJ Z%TZG\VN4V\QF-5R
M]-IR.BTH0A&1@HJ=L$<XR$^_*Y,/%,S183QFIO]V8!*/ 3U^09F9F4FDIL,]
M,7Y1B-;M"B;G,G,^-/; $8M?\JZ#?+6Y]$JT^8M5D,Q<S]2P0I;8W^C]K3)^
M@%X>JC;2!ET$7ML(=TQM@^&ML]$ITLD8?0[C.82XX/_$2%6%!:RI:#V$..3(
MX#K (#4V8I)@/61FU^8>153NAM*_/)3#@%'))G'Q K7!#V7/>#J>YZH"UC!D
M@C/_ V=^6IP-@"2[UGO+QPG1Q1]$%_TCCB]70H4!RB=U$]5UBXHM)]W1!SV_
MO#J_T6UIG;M5[3D\DBW'11B7>/4-4$L#!!0    ( +ETJ%J[;.KLN@   !H#
M   :    >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/%DSD.@S 01:^"? "&
M)4D1 54:VH@+6# L8K'EF2AP^Q HP%**-(C*^F/Y_5>,HR=VDALU4-UH<L:^
M&R@6-;.^ U!>8R_)51J'^:94II<\1U.!EGDK*X3 \VY@]@R11'NFDTT:_R&J
MLFQR?*C\U>/ /\#P5J:E&I&%DTE3(<<"QFX;$RR'[\YDX:1%+$Q:^ +.%@HL
MH>!\H= 2"@\4(IXZI,UFS5;]Y<!ZGM_BUK[$=6@OR?7K -972#Y02P,$%
M  @ N72H6J;\2ELC 0  WP0  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULS93/
M3L,P#,9?I>IU:C*&Q &MNP!7V($7"(V[1LT_Q=[HWAZWW2:!1L4T)+@T:FQ_
M/\>?DN7K/@)FG;,>R[PABO=28M6 4RA"!,^1.B2GB'_31D95M6H#<C&?W\DJ
M> )/!?4:^6KY"+7:6LJ>.MY&$WR9)["89P]C8L\J<Q6C-94BCLN=UU\HQ8$@
MN'+(P<9$G'%"+L\2^LCW@$/=RPY2,AJRM4KTK!QGR<Y*I+T%%-,29WH,=6TJ
MT*':.BX1&!,HC0T .2M&T=DTF7C",'YOKN8/,E- SERG$)$=2W Y[FA)7UU$
M%H)$9OJ()R)+7WT^Z-W6H'_(YO&^A]0.?J <ENMG_-GCD_Z%?2S^21^W?]C'
M6PCM;U^Y?A5.&7_DR^%=6WT 4$L! A0#%     @ N72H6D;'34B5    S0
M !               ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4
M" "Y=*A:5S4M?>\    K @  $0              @ '#    9&]C4')O<',O
M8V]R92YX;6Q02P$"% ,4    " "Y=*A:F5R<(Q &  "<)P  $P
M    @ 'A 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( +ETJ%H7
M$6+%5@(  $ &   8              " @2((  !X;"]W;W)K<VAE971S+W-H
M965T,2YX;6Q02P$"% ,4    " "Y=*A:$H@!/X$$  !G#   &
M    @(&N"@  >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @
MN72H6N(D\LXG @  6P4  !@              ("!90\  'AL+W=O<FMS:&5E
M=',O<VAE970S+GAM;%!+ 0(4 Q0    ( +ETJ%HK("U^%@,  !81   -
M          "  <(1  !X;"]S='EL97,N>&UL4$L! A0#%     @ N72H6I>*
MNQS     $P(   L              ( ! Q4  %]R96QS+RYR96QS4$L! A0#
M%     @ N72H6E)Q;[5= 0  2 ,   \              ( ![!4  'AL+W=O
M<FMB;V]K+GAM;%!+ 0(4 Q0    ( +ETJ%J[;.KLN@   !H#   :
M      "  787  !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0
M   ( +ETJ%JF_$I;(P$  -\$   3              "  6@8  !;0V]N=&5N
B=%]4>7!E<UTN>&UL4$L%!@     +  L R@(  +P9      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
.report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

.report table.authRefData a {
	display: block;
	font-weight: bold;
}

.report table.authRefData p {
	margin-top: 0px;
}

.report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

.report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

.report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

.report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
.pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
.report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

.report hr {
	border: 1px solid #acf;
}

/* Top labels */
.report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

.report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

.report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

.report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

.report td.pl div.a {
	width: 200px;
}

.report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
.report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
.report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
.report .re, .report .reu {
	background-color: #def;
}

.report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
.report .ro, .report .rou {
	background-color: white;
}

.report .rou td {
	border-bottom: 1px solid black;
}

.report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
.report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
.report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

.report .nump {
	padding-left: 2em;
}

.report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
.report .text {
	text-align: left;
	white-space: normal;
}

.report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

.report .text .more {
	display: none;
}

.report .text .note {
	font-style: italic;
	font-weight: bold;
}

.report .text .small {
	width: 10em;
}

.report sup {
	font-style: italic;
}

.report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>2</ContextCount>
  <ElementCount>19</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>1</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="tm2514311d1_ex-filingfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995210 - Document - Submission</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/submissionTable</Role>
      <ShortName>Submission</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="tm2514311d1_ex-filingfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995211 - Document - Offerings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/feesOfferingTable</Role>
      <ShortName>Offerings</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="tm2514311d1_ex-filingfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995215 - Document - Fees Summary</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/feesSummaryTable</Role>
      <ShortName>Fees Summary</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="EX-FILING FEES" original="tm2514311d1_ex-filingfees.htm">tm2514311d1_ex-filingfees.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="3">http://xbrl.sec.gov/dei/2025</BaseTaxonomy>
    <BaseTaxonomy items="18">http://xbrl.sec.gov/ffd/2025</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>15
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "tm2514311d1_ex-filingfees.htm": {
   "dts": {
    "inline": {
     "local": [
      "tm2514311d1_ex-filingfees.htm"
     ]
    },
    "schema": {
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd",
      "https://www.xbrl.org/dtr/type/2024-01-31/types.xsd",
      "https://xbrl.sec.gov/dei/2025/dei-2025.xsd",
      "https://xbrl.sec.gov/ffd/2025/ffd-2025.xsd"
     ]
    }
   },
   "keyStandard": 19,
   "keyCustom": 0,
   "axisStandard": 1,
   "axisCustom": 0,
   "memberStandard": 1,
   "memberCustom": 0,
   "hidden": {
    "total": 6,
    "http://xbrl.sec.gov/ffd/2025": 4,
    "http://xbrl.sec.gov/dei/2025": 2
   },
   "contextCount": 2,
   "entityCount": 1,
   "segmentCount": 1,
   "elementCount": 107,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/ffd/2025": 18,
    "http://xbrl.sec.gov/dei/2025": 3
   },
   "report": {
    "R1": {
     "role": "http://xbrl.sec.gov/ffd/role/document/submissionTable",
     "longName": "995210 - Document - Submission",
     "shortName": "Submission",
     "isDefault": "true",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": null,
     "uniqueAnchor": null
    },
    "R2": {
     "role": "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
     "longName": "995211 - Document - Offerings",
     "shortName": "Offerings",
     "isDefault": "false",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "offrl_1",
      "name": "ffd:FeesOthrRuleFlg",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tm2514311d1_ex-filingfees.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "offrl_1",
      "name": "ffd:FeesOthrRuleFlg",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tm2514311d1_ex-filingfees.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable",
     "longName": "995215 - Document - Fees Summary",
     "shortName": "Fees Summary",
     "isDefault": "false",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "3",
     "firstAnchor": {
      "contextRef": "rc",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tm2514311d1_ex-filingfees.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "rc",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "tm2514311d1_ex-filingfees.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "ffd_AggtRedRpPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AggtRedRpPricFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Redeemed or Repurchased Price, Fiscal Year",
        "terseLabel": "Aggregate Redeemed or Repurchased, FY"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AggtRedRpPricPrrFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AggtRedRpPricPrrFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Redeemed or Repurchased Price, Prior Fiscal Year",
        "terseLabel": "Aggregate Redeemed or Repurchased, Prior FY"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AggtSalesPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AggtSalesPricFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Sales Price, Fiscal Year",
        "terseLabel": "Aggregate Sales Price"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AmtRedCdts": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AmtRedCdts",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Redemption Credits",
        "terseLabel": "Redemption Credits"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AmtSctiesRcvd": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AmtSctiesRcvd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Securities Received",
        "terseLabel": "Amount of Securities Received",
        "documentation": "Amount of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form)"
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_AmtSctiesRegd": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AmtSctiesRegd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Securities Registered",
        "terseLabel": "Amount Registered",
        "documentation": "The amount of securities being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CeasedOprsDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CeasedOprsDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ceased Operations Date",
        "terseLabel": "Ceased Operations Date"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_CfwdFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Form Type",
        "terseLabel": "Carry Forward Form Type",
        "documentation": "The Form Type of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6). This should be an EDGAR submission type (S-3, S-3/A, S-3ASR, etc.), which means there is a fixed set of possible responses. Note that while the XBRL response should be an EDGAR submission type, the human-readable Ex. 107 could include a simpler label (e.g., \"Form S-3\" in the human-readable and \"S-3ASR\" in the XBRL)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrevslyPdFee": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdPrevslyPdFee",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Previously Paid Fee",
        "terseLabel": "Filing Fee Previously Paid in Connection with Unsold Securities to be Carried Forward",
        "documentation": "The fee previously paid in connection with the securities being brought forward from the prior shelf registration statement on which unsold securities are carried forward under 415(a)(6)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrrFctvDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdPrrFctvDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Prior Effective Date",
        "terseLabel": "Carry Forward Initial Effective Date",
        "documentation": "The initial effective date of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrrFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdPrrFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward File Number",
        "terseLabel": "Carry Forward File Number",
        "documentation": "The EDGAR File Number of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6). If the prior registration statement has a Securities Act File Number and an Investment Company Act File Number, the Securities Act File Number should be used."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CmbndPrspctsItemAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CmbndPrspctsItemAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus Item [Axis]",
        "terseLabel": "Combined Prospectus",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different references to earlier prospectuses on a single fee bearing submission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CmbndPrspctsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CmbndPrspctsLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus [Line Items]",
        "terseLabel": "Combined Prospectus:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CmbndPrspctsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CmbndPrspctsTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus [Table]",
        "terseLabel": "Combined Prospectus Table"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CombinedProspectusTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CombinedProspectusTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus Table [N/A]",
        "terseLabel": "Combined Prospectus Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_CshPdByRegistrantInTx": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CshPdByRegistrantInTx",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Paid by Registrant in Transaction",
        "terseLabel": "Cash Consideration Paid",
        "documentation": "Amount of cash consideration paid by registrant in connection with the exchange or other transaction being registered (in a 457(f) calculation)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "ffd_CshRcvdByRegistrantInTx": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CshRcvdByRegistrantInTx",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Received by Registrant in Transaction",
        "terseLabel": "Cash Consideration Received",
        "documentation": "Amount of cash consideration received by registrant in connection with the exchange or other transaction being registered (in a 457(f) calculation)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "terseLabel": "Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "terseLabel": "Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "ffd_FeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Amount",
        "terseLabel": "Amount of Registration Fee",
        "documentation": "Total amount of registration fee (amount due after offsets)."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeExhibitTp": {
     "xbrltype": "feeExhibitTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeExhibitTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Exhibit Type",
        "terseLabel": "Fee Exhibit Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_FeeIntrstAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeIntrstAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Interest Amount",
        "terseLabel": "Interest Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Note",
        "terseLabel": "Fee Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeNoteMaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeNoteMaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Note Maximum Aggregate Offering Price",
        "terseLabel": "Fee Note MAOP"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeRate",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Rate",
        "terseLabel": "Fee Rate",
        "documentation": "The rate per dollar of fees that public companies and other issuers pay to register their securities with the Commission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeesOthrRuleFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeesOthrRuleFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fees, Other Rule [Flag]",
        "terseLabel": "Other Rule",
        "documentation": "Checkbox indicating whether filer is using a rule other than 457(a), 457(o), or 457(f) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeesSummaryLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeesSummaryLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Fees Summary [Line Items]",
        "terseLabel": "Fees Summary:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FnlPrspctsFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FnlPrspctsFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Final Prospectus [Flag]",
        "terseLabel": "Final Prospectus"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FormTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Form Type",
        "terseLabel": "Form Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_GnlInstrIIhiFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "GnlInstrIIhiFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General Instruction II.H,I [Flag]",
        "terseLabel": "General Instruction II.H,I"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrCity": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrCity",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, City",
        "terseLabel": "City"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStatOrCtryCd": {
     "xbrltype": "stateOrCountryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrStatOrCtryCd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, State or Country Code",
        "terseLabel": "State or Country Code"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStrt1": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrStrt1",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Street 1",
        "terseLabel": "Street 1"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStrt2": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrStrt2",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Street 2",
        "terseLabel": "Street 2"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrZipCd": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrZipCd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Zip Code",
        "terseLabel": "Zip Code"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrNm": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrNm",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Name",
        "terseLabel": "Issuer Name"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_MaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "MaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum Aggregate Offering Price",
        "terseLabel": "Maximum Aggregate Offering Price",
        "documentation": "The maximum aggregate offering price for the offering that is being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_MaxOfferingPricPerScty": {
     "xbrltype": "nonNegativeDecimal4lItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "MaxOfferingPricPerScty",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum Offering Price per Security",
        "terseLabel": "Proposed Maximum Offering Price per Unit",
        "documentation": "The maximum offering price per share/unit being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NetFeeAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NetFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Fee Amount",
        "terseLabel": "Net Fee"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NetSalesAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NetSalesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Sales Amount",
        "terseLabel": "Net Sales"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvDsclsr": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NrrtvDsclsr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure",
        "terseLabel": "Narrative Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvMaxAggtAmt": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NrrtvMaxAggtAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure, Maximum Aggregate Offering Amount",
        "terseLabel": "Narrative - Max Aggregate Offering Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvMaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NrrtvMaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure, Maximum Aggregate Offering Price",
        "terseLabel": "Narrative - Max Aggregate Offering Price"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Axis]",
        "terseLabel": "Offering",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different security offerings on a single fee bearing submission."
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Line Items]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Note",
        "terseLabel": "Offering Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingSctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingSctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Security Title",
        "terseLabel": "Security Class Title",
        "documentation": "The title of the class of securities being registered (for each class being registered)."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingSctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingSctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Security Type",
        "terseLabel": "Security Type",
        "documentation": "Type of securities: \"Asset-backed Securities\", \"ADRs/ADSs\", \"Debt\", \"Debt Convertible into Equity\", \"Equity\", \"Face Amount Certificates\", \"Limited Partnership Interests\", \"Mortgage Backed Securities\", \"Non-Convertible Debt\", \"Unallocated (Universal) Shelf\", \"Exchange Traded Vehicle Securities\", \"Other\""
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Table]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Table [N/A]",
        "terseLabel": "Offering Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OffsetAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset [Axis]",
        "terseLabel": "Offset",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different offsets as applied to a fee bearing submission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetClmInitlFilgDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetClmInitlFilgDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claim Initial Filing Date",
        "terseLabel": "Initial Filing Date",
        "documentation": "The initial filing date of the earlier registration statement with which the earlier (offsetting) fee was paid for a claimed offset. If the offset fee was paid with an amendment, do not provide the amendment date under this element; instead, provide the date of the initial filing (i.e. the \"parent\" filing) ."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetClmdAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetClmdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claimed Amount",
        "terseLabel": "Fee Offset Claimed",
        "documentation": "The amount of offsetting fees being claimed."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetClmdInd": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetClmdInd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claimed Indicator",
        "terseLabel": "Offset Claimed"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetExpltnForClmdAmt": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetExpltnForClmdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Explanation for Claimed Amount",
        "terseLabel": "Explanation for Claimed Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetLineItems",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offset:",
        "label": "Offset [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Note",
        "terseLabel": "Offset Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetPrrFeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Fee Amount",
        "terseLabel": "Fee Paid with Fee Offset Source",
        "documentation": "The fee previously paid from which an offset is being derived."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior File Number",
        "terseLabel": "File Number",
        "documentation": "The EDGAR File Number of the earlier registration statement with which the earlier (offsetting) fee was paid. If the offset filing for the offset has a Securities Act File Number and an Investment Company Act File Number, the Securities Act File Number should be used."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFilerNm": {
     "xbrltype": "filerNameItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFilerNm",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Filer Name",
        "terseLabel": "Registrant or Filer Name",
        "documentation": "The name of the registrant that filed the earlier registration statement with which the earlier (offsetting) fee was paid."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Form Type",
        "terseLabel": "Form or Filing Type",
        "documentation": "The Form Type of the offset filing."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrNbOfUnsoldScties": {
     "xbrltype": "nonNegativeIntegerItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrNbOfUnsoldScties",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Unsold Number of Securities",
        "terseLabel": "Unsold Securities Associated with Fee Offset Claimed",
        "documentation": "The number of unsold securities registered on the prior registration statement that are associated with the claimed offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrSctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrSctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Security Title",
        "terseLabel": "Security Title Associated with Fee Offset Claimed",
        "documentation": "The title of the class of securities from which offset fees were derived."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrSctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrSctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Security Type",
        "terseLabel": "Security Type Associated with Fee Offset Claimed",
        "documentation": "Type of securities: \"Asset-backed Securities\", \"ADRs/ADSs\", \"Debt\", \"Debt Convertible into Equity\", \"Equity\", \"Face Amount Certificates\", \"Limited Partnership Interests\", \"Mortgage Backed Securities\", \"Non-Convertible Debt\", \"Unallocated (Universal) Shelf\", \"Exchange Traded Vehicle Securities\", \"Other\""
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrUnsoldOfferingAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrUnsoldOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Unsold Offering Amount",
        "terseLabel": "Unsold Aggregate Offering Amount Associated with Fee Offset Claimed",
        "documentation": "The aggregate offering amount of unsold securities registered on the prior registration statement that are associated with the claimed offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetSrcFilgDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetSrcFilgDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Source Filing Date",
        "terseLabel": "Filing Date",
        "documentation": "The filing date of the earlier registration statement with which the earlier (offsetting) fee was paid in an offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offset Payment:",
        "label": "Offset [Table]"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Table [N/A]",
        "terseLabel": "Offset Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_PrevslyPdFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "PrevslyPdFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Previously Paid [Flag]",
        "terseLabel": "Fee Previously Paid"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_RegnFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "RegnFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registration File Number",
        "terseLabel": "Registration File Number"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_RptgFsclYrEndDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "RptgFsclYrEndDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reporting Fiscal Year End Date",
        "terseLabel": "Reporting FY End Date"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule011Flg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule011Flg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 0-11 [Flag]",
        "terseLabel": "Rule 0-11"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule011a2OffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule011a2OffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 0-11(a)(2) Offset",
        "label": "Rule 0-11(a)(2) Offset [Flag]"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule415a6Flg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule415a6Flg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 415(a)(6) [Flag]",
        "terseLabel": "Rule 415(a)(6)",
        "documentation": "Checkbox indicating whether filer is claiming a 415(a)(6) carryforward."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_Rule429AggtOfferingAmt": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429AggtOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Aggregate Offering Amount",
        "terseLabel": "Maximum Aggregate Offering Price of Securities Previously Registered",
        "documentation": "The maximum aggregate offering amount of unsold securities registered on the prior registration statement that are carried forward under Rule 429. Only applicable if 457(o) was used in the fee calculation for the prior registration statement."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429CmbndPrspctsFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429CmbndPrspctsFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Combined Prospectus [Flag]",
        "terseLabel": "Rule 429",
        "documentation": "Checkbox indicating whether filer is using a combined prospectus under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429EarlierFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429EarlierFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Earlier File Number",
        "terseLabel": "File Number",
        "documentation": "The Securities Act File Number of the earlier effective registration statement(s) from which securities may be offered and sold using the combined prospectus pursuant to Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429EarlierFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429EarlierFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Earlier Form Type",
        "terseLabel": "Form Type",
        "documentation": "The Form Type of the earlier registration statement from which unsold securities are carried forward under Rule 429. This should be an EDGAR submission type (S-3, S-3/A, S-3ASR, etc.), which means there is a fixed set of possible responses. Note that while the XBRL response should be an EDGAR submission type, the human-readable Ex. 107 could include a simpler label (e.g., \"Form S-3\" in the human-readable and \"S-3ASR\" in the XBRL)."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429InitlFctvDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429InitlFctvDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Initial Effective Date",
        "terseLabel": "Initial Effective Date",
        "documentation": "The filing date of the earlier registration statement from which unsold securities are carried forward under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429NbOfUnsoldScties": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429NbOfUnsoldScties",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Number Of Unsold Securities",
        "terseLabel": "Amount of Securities Previously Registered",
        "documentation": "The number of securities registered on the prior registration statement that are carried forward under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429PrspctsNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429PrspctsNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Prospectus Note",
        "terseLabel": "Combined Prospectus Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule429SctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429SctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Security Title",
        "terseLabel": "Security Class Title"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule429SctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429SctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Security Type",
        "terseLabel": "Security Type"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule457aFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457aFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(a) [Flag]",
        "terseLabel": "Rule 457(a)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(a) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "ffd_Rule457bOffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457bOffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(b) Offset [Flag]",
        "terseLabel": "Rule 457(b) Offset",
        "documentation": "Checkbox indicating whether filer is claiming an offset under Rule 457(b) or 0-11(a)(2)."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "ffd_Rule457fFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457fFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(f) [Flag]",
        "terseLabel": "Rule 457(f)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(f) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_Rule457oFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457oFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(o) [Flag]",
        "terseLabel": "Rule 457(o)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(o) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "ffd_Rule457pOffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457pOffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(p) Offset [Flag]",
        "terseLabel": "Rule 457(p) Offset",
        "documentation": "Checkbox indicating whether filer is claiming an offset under Rule 457(p)."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "ffd_Rule457rFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457rFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(r) [Flag]",
        "terseLabel": "Rule 457(r)"
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "ffd_Rule457sFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457sFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(s) Flag",
        "terseLabel": "Rule 457(s)"
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "ffd_Rule457uFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457uFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(u) [Flag]",
        "terseLabel": "Rule 457(u)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(u) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "ffd_Scties424iAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Scties424iAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Axis]",
        "terseLabel": "Securities, 424I"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Scties424iLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Scties424iLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Line Items]",
        "terseLabel": "Securities, 424I:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Scties424iTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Scties424iTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Table]",
        "terseLabel": "Securities, 424I Table"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Securities424iTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Securities424iNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities 424I [N/A]",
        "terseLabel": "Securities 424I N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "SubmissionLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission [Line Items]",
        "terseLabel": "Items"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissnTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "SubmissnTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission Type",
        "terseLabel": "Submission Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_TermntnCmpltnWdrwl": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TermntnCmpltnWdrwl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Termination / Completion / Withdrawal Statement",
        "terseLabel": "Termination / Withdrawal Statement"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_TtlFeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Fee Amount",
        "terseLabel": "Total Fee Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlFeeAndIntrstAmt": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlFeeAndIntrstAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Fee and Interest Amount",
        "terseLabel": "Total Fee and Interest Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlOfferingAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Offering Amount",
        "terseLabel": "Total Offering"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlOffsetAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlOffsetAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Offset Amount",
        "terseLabel": "Total Offset Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlPrevslyPdAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlPrevslyPdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Previously Paid Amount",
        "terseLabel": "Previously Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlTxValtn": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlTxValtn",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Transaction Valuation",
        "terseLabel": "Total Transaction Valuation"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TxValtn": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TxValtn",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transaction Valuation",
        "terseLabel": "Transaction Valuation"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_ValSctiesRcvd": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "ValSctiesRcvd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of Securities Received",
        "terseLabel": "Value of Securities Received",
        "documentation": "Value of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form)"
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_ValSctiesRcvdPerShr": {
     "xbrltype": "nonNegativeDecimal4lItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "ValSctiesRcvdPerShr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of Securities Received, Per Share",
        "terseLabel": "Value of Securities Received, Per Share",
        "documentation": "Value per share of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form). This is included in the explanation of 457(f) fee calculation."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "415",
   "Subsection": "a"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "429"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "b"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "f"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "o"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "p"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "r"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "s"
  },
  "r11": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "u"
  },
  "r12": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Subsection": "f",
   "Section": "457"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>16
<FILENAME>0001104659-25-046037-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001104659-25-046037-xbrl.zip
M4$L#!!0    ( +ETJ%H"O,H6K@D  -(P   =    =&TR-3$T,S$Q9#%?97@M
M9FEL:6YG9F5E<RYH=&WM6VUSVD@2_AS_BCG=II)4(9"PP89@MEC'3JC$V&6<
MJOUV-4@#3$5O.S,RL+_^NO6&$ *#C1-OW6UJ*T+3T],O3_?TM":=W^>N0QZ8
MD-SWSM^95>,=89[EV]R;G+_K#2_Z_7>_=X\Z4P5D0.K)<VVJ5-"NU6:S675V
M7/7%I&:V6JW:'&FTF*@]=[CW8S,ICF:D(^'P%5)\$Q'7#>.XQCVIJ&>Q/+V]
MG) G;M;BP9242_^D;IYN8QY39!/FFVA-% 3$9G_^<?=M2:[*Z9>D-26H)\>^
M<*D"$R.GAF[4]7HSQT27S%IA!+^K$__A43YG^K&9\EFS^*JF.#RB,C.CS0HV
M3->$ 9A1;Z2$X[%=3@@#,6'WB)#.E%$;'^!1<>6P[N6?^E7_6W_PF5Q=7@X[
MM?@MDM92VL[(MQ?)))L_$*D6#CO7;"X#AR[:Q/,]IL7C0,'G;9S(1/HF><=M
MFWG+=_%;F#H(72:X13SJ E.0MGT%YKL/-&+YGF)S=<?&YYJP-,)!0SY_T$VS
MJ76'^EFGML)A)][#<.1R*;WM_$^?S/^*L<OYE(^XVK["F;9F^?T6 _^W+SWP
MUN*">8 ZI^_9;/Z5+;:MVM*ZAF&89N/LN'[R]!7OV(1+1+H:P,B6!>N&UKVX
M^7PYN"<7-]?7WP?]B]Y]_V8P)%]NOGT"U8<5TA]<5)]BZ5O!'J2SN+6OG,FJ
M"/YX+)S_0,3%<8BRJ/;(]QU&O3%U,+B6$II:%WPFB?+)B)%;RNV-PD0#11RC
M?(*-F8!\S.2*Y!C+;6E-F4M!+A*ET_94H(@8J')3I.*#C@_5N;2U9)Y:!*"X
MY&[@,*U6$*I,@%@PZ8>B*%>4RMN)Q2)3@-/R%!D-B]R].I0-<AN'QYP)$BG)
M2G/C1?_K*NB*DPL+US:OG*P;@%=\>X-0L D)]8DJUD4#Z@9FWY3G<JQ\+O/L
M#3/3D5)1U^5)1Q(3/V+\%*ZOQ -+4[*)"R3%T63<YA$D[6OFCF!]FP-M5)U$
MP7DS!D!"<=*;<ZFM<\"-!+()[IH#OVMV:KE?Z\O5UM=;$[FV1>;_$4R%'H\!
M]7WXJ1Q,+J,R%*R;E%-M($S9ID,E*R+?;<L%,&_[>HE.\'B Y893"FEMEP5E
M1+GWDDE&+63../GG"AL +7]85D49G:(CAZ4UTHS;:MHFK=;;C[ ;>4H?4Y<[
M4#/U!*=.A7QAS@-3W*(5(J%PA I3\'%"*OG?K$WJ1J ^$G2Y3AT^\=K$ APS
M\3%G@8Y:"8B.LF$_=&1 (1I/M%26@-IX7M!'OE*^VR;5!G.+9@S68#SJ7E#'
M"IVHGB7^F%QQ"-0)@4V3W*.J8.!1$<3!JI65G;=N7M@2R3=)6]]1W/7\\>0Z
M\^31.C/6Z!^H_Q.*N9/39Q=SSS,7/"/@2L-OD]D@?.;+4%D-SK'C4Y7%$TEB
MU32,MZL!Y[ QA"!9#;B,R9.BVFP&<VW5\].4(QSS<:Z3+A^K4IH#4IE;*/+,
M%[8^$S2 *8+1'SJ^6$-,NHI+Q80#IQW22P:M*-Z)V28#-G,6)$8.%)XV&3(K
M%%SQG;+!= ?WKOGJR6:&%Z5^;A7=G(Z#P05D>9@=S(GT'6Z3D4.M'Q]);#,=
M\= F-%1^]DKPR31]5XZ3$7"8"#_T;!URLR_:_V[U/O6NFIM0D$A9?UOT1.=?
MND[^^-8;?"6ZOMFR9<Q,8YW;LP"1N'U![J$TV\_S/U>^"X=*2>ZQM[%+ OK9
M<N)FFM]F[T+G-9JSYP)^52[N#R!CX\ RW@H_\"6DI&LZYV[HDO0H0FYA,X(3
M/AQ6OD.]]PI%3R7N32:"3>!L4)#]^2(?OP!N[T#05VC,!*M0L*8%3A19(/'3
M=ZA'$OKE*?RI%Q)Z5M"5R_WFC7GT9K7DV3@KJD.*1MI4W*;0&5IJ42QRLP;9
MLK;#?N1?(:3*;:VXEQ83TO.C@K:@"/5=%UPY5+[UHT("*L@#=4)&?C.JAF&2
M -LA>/1[OBKE^-K6_)4W:BHP?>_5E50BS#<E&X;6!3Y,/%^#J##9H,"5H%84
M%$L->JX"3T 9!T%C:P0/QI'PR:&;V,SB+G7DN6:L*N*%KNVK9/@Q)S9,K5NO
M&(:!_Z<ZIM(<3$D\_W9_Z]2BOW?4'U)PBDA,N;!9(#!SAL#>2LX*_<'5<^P
MR:+1J!KUUV8#V(%4W@XO9H!CK6N: (.3" K5%T3#1G4A:'$+RZD8-;0.I^.)
MUD7-#-#6?%6.!LTAWE_,MPWP;;-R=G):-?< ^*/]D:RSU= VG9B5'^Q?2T1V
MU;KWOJ+.LO"*RPC9WMJDB 3;_92VR<LE:BR[$LVR^@B-71*N3-M5VV+=M!E&
MVX!TKYRLX8^ *K:0=H?4*A276&KNDR<>:2F]I+?BUD'6?<(.0M([>-2/$?#2
MD/S9[DO7/;SG3G?, L]MF[YP6H!"'?Z+DP.>>@#ODD%>B-Z_)-Q^Q<R]#)AA
M-S;)+X%O;NG#(_@LWK__\> =,!5!]U/(_@_;R+]@D5^2<'/K'AZNK<,GW&T?
M7C*:LN^>N6\IW,/[!FC9^6J'?'FY+'US@&\K'TG9]EQ$01%L)3&%0,CA(/X4
ME#3]TUV^L:I2QFO4S<K(@5_2)%OSP#JJ(R%K!2^)%2_E[7?H+V1[N/'G."T7
MY;%L)CKHL<18YL226 Z##1D$Q<#;*?J41=]YS#K88RD\R##7\!8+<-BW#EVF
M_M,L"<VF7#$=WEI@F$ P'=?>NZ.&D-,(DQ;%BV/F8\>UIJ%U;T,A0^HIO R'
M/2QR8C;?TP_81%53EOO(1WI6U%HU6\?'%4(E@=4!&#9YCW3:*J'VH0+3N5QM
MQ X5'+KQK@Z!;.>#<'B[F5"/(,(4$R[WL ,.20^O%\%:\6T.?++B_I_$_A_^
MOO GR ?;@I 4K8B_)%]\!W$N*Z3O6=5M?<)$ZGQ;,9:9*@CU!=X+]-&HH)\O
M")<RA*<0Q!2I67S/AI-B; (*SW=,HGKV3J)!!)JG^(3WDQX8Z<VHL,FM [9
MRQ+0.G0B<]-$9QDX7%62'Q#:>)4KDDUR"#O0,[J%'*?\ZM'1I52P9: XTG>8
ML\!=A02AP.\DL4'33T^0J5 CD7?4&$J&H  ,24X:I^^G'R)EWUL;$%(E]_ N
M2#_(N,GG#3]-BD'T029S0V6=E&9?0@J3<%U<D&9=_E*YT;EXFQJ,X\7T@#(Z
M8>F$*81SQ,OQ9S%GF8,%F@FI\L! EP@6^$(MF0ZHM.E?Y+/CC^!T,&0.@^BX
MIN('%%Q <@T0:E9(=*&3'.W<TMWUHD@^#]:V9)="^IB*(@/(:<4DF?_@;6C%
M?6BO:@%VOVBCZM3P'R!T_PM02P$"% ,4    " "Y=*A: KS*%JX)  #2,
M'0              @ $     =&TR-3$T,S$Q9#%?97@M9FEL:6YG9F5E<RYH
8=&U02P4&      $  0!+    Z0D

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>tm2514311d1_ex-filingfees_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2025"
  xmlns:ffd="http://xbrl.sec.gov/ffd/2025"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef
      xlink:href="https://xbrl.sec.gov/ffd/2025/ffd-2025.xsd"
      xlink:type="simple"/>
    <context id="rc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158324</identifier>
        </entity>
        <period>
            <startDate>2025-05-08</startDate>
            <endDate>2025-05-08</endDate>
        </period>
    </context>
    <context id="offrl_1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001158324</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-05-08</startDate>
            <endDate>2025-05-08</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="pure">
        <measure>pure</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <ffd:FormTp contextRef="rc" id="ixv-116">S-8</ffd:FormTp>
    <ffd:SubmissnTp contextRef="rc" id="ixv-117">S-8</ffd:SubmissnTp>
    <ffd:FeeExhibitTp contextRef="rc" id="ixv-118">EX-FILING FEES</ffd:FeeExhibitTp>
    <dei:EntityCentralIndexKey contextRef="rc" id="ixv-119">0001158324</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-120">COGENT COMMUNICATIONS HOLDINGS, INC.</dei:EntityRegistrantName>
    <ffd:PrevslyPdFlg contextRef="offrl_1" id="ixv-121">false</ffd:PrevslyPdFlg>
    <ffd:FormTp contextRef="rc" id="ixv-146">S-8</ffd:FormTp>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-147">COGENT COMMUNICATIONS HOLDINGS, INC.</dei:EntityRegistrantName>
    <ffd:OfferingSctyTp contextRef="offrl_1" id="ixv-148">Equity</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_1" id="ixv-149">Common Stock, par value $0.001 per share</ffd:OfferingSctyTitl>
    <ffd:FeesOthrRuleFlg contextRef="offrl_1" id="ixv-150">true</ffd:FeesOthrRuleFlg>
    <ffd:AmtSctiesRegd
      contextRef="offrl_1"
      decimals="0"
      id="ixv-151"
      unitRef="Shares">2000000</ffd:AmtSctiesRegd>
    <ffd:MaxOfferingPricPerScty
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-152"
      unitRef="USD">55.02</ffd:MaxOfferingPricPerScty>
    <ffd:MaxAggtOfferingPric
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-153"
      unitRef="USD">110040000.00</ffd:MaxAggtOfferingPric>
    <ffd:FeeRate
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-154"
      unitRef="pure">0.0001531</ffd:FeeRate>
    <ffd:FeeAmt
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-155"
      unitRef="USD">16847.12</ffd:FeeAmt>
    <ffd:TtlOfferingAmt contextRef="rc" decimals="INF" id="ixv-156" unitRef="USD">110040000.00</ffd:TtlOfferingAmt>
    <ffd:TtlFeeAmt contextRef="rc" decimals="INF" id="ixv-157" unitRef="USD">16847.12</ffd:TtlFeeAmt>
    <ffd:TtlOffsetAmt contextRef="rc" decimals="INF" id="ixv-158" unitRef="USD">0.00</ffd:TtlOffsetAmt>
    <ffd:NetFeeAmt contextRef="rc" decimals="INF" id="ixv-159" unitRef="USD">16847.12</ffd:NetFeeAmt>
    <ffd:OfferingNote contextRef="offrl_1" id="ixv-160">Pursuant to Rule 416(a) of the Securities Act of 1933, as amended (the "Securities Act"), this Registration Statement also covers an indeterminate number of shares of common stock of Cogent Communications Holdings, Inc., par value $0.001 per share (the "Common Stock"), that may be offered or issued under the Second Amended and Restated Cogent Communications Holdings, Inc. 2017 Incentive Award Plan as a result of a stock split, stock dividend or similar transaction.

Estimated solely for purposes of calculating the registration fee pursuant to Rules 457(h) and (c) of the Securities Act. The proposed maximum offering price per share, proposed maximum aggregate offering price and the amount of the registration fee are based on the average of the high and low prices per share for the Common Stock as reported on the Nasdaq Global Select Market on May 6, 2025.
</ffd:OfferingNote>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
