/* Custom CSS
   To be merged with theme.css 
*/


/* ======================================
   Basics
   - Primary color variable
   - Make green check marks more visible
   - Reduce skippy focus
====================================== */

.text-primary {
    color: #0CB3D9 !important;
}

.bg-primary {
    background-color: #0CB3D9 !important;
}

.checklist li::before, .cb-li--checklist li::before {
    border-width: 2px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    width: 24px !important;
    height: 24px !important;
}

.skippy {
    transform: none;
    left: 0;
    width: auto;
}


/* ======================================
   Container
   - Container width adjustments
   - Adjust cb-container max-width
====================================== */

@media (min-width: 768px) {
    .container-md, .container-sm, .container {
        max-width: 1600px;
    }
}

@media (min-width: 1200px) {
    .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1600px;
    }
}

@media (min-width: 1400px) {
    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 1600px;
    }
}

.cb-container--1x {
    max-width: 768px !important;
}


.cb-container--3x {
  max-width: 1350px;
}


/* ======================================
   Page Glow Background
   - Update gradient color
====================================== */

.page-bg {
  overflow-x: hidden;
  min-height: 100vh;
  background:
    linear-gradient(
      to right,
      rgba(0,0,0,0.6) 0%,
      rgba(0,0,0,0.2) 30%,
      rgba(0,0,0,0) 55%
    ),
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0) 0vh,
      rgba(0, 0, 0, 0.12) 50vh,
      rgba(0, 0, 0, 0.45) 85vh,
      rgba(0, 0, 0, 0.85) 120vh,
      rgba(0, 0, 0, 1) 150vh
    ),
    radial-gradient(
      ellipse at 60% 5%,
      rgba(11, 73, 136, 1) 0%,
      rgba(7, 54, 104, 0.96) 24%,
      rgba(4, 31, 65, 0.94) 46%,
      rgba(0, 10, 24, 0.96) 68%,
      rgba(0, 0, 0, 1) 100%
    ),
    #000;
  background-repeat: no-repeat;  
}

.page-bg.no-gradient {
	background: #000;
}


/* =========================================
   MAIN NAVBAR
   - Add border back to login button
   - Ensure logo does not get too small
========================================= */

.main-navbar .btn-login {
  border: 3px solid #0CB3D9;
}

.main-navbar .btn-login:hover,
.main-navbar .btn-login:focus {
  border-color: #00DFFF;
}

.main-navbar .navbar-brand {
	min-width: 250px;
}

@media (min-width: 992px) and (max-width: 1240px) {
	.main-navbar .navbar-brand {
		position: absolute;
		top: 0;
	}

	.main-navbar  .navbar-collapse {
		margin-top: 20px;
	}

	.main-navbar .navbar-nav {
		margin-left: 0 !important;
	}
}


/* =========================================
   SECTIONS
   - Adjust section padding
   - Add packages section styles
========================================= */
.section, section {
  padding: 0;
}

/* US News Distribution page */

#packages {
  padding-top: 40px;
  background-image: url(../images/ir-graph-blue-green.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

/* Investor Relations Suite page */

#ir-workflow {
  padding-top: 40px;
  background-image: url(../images/financial-chart.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

#ir-workflow .section.section__background-highlight::before, 
#ir-workflow .section.section__background-highlight::after, 
#ir-workflow section.section__background-highlight::before, 
#ir-workflow section.section__background-highlight::after {
	content: none;
}

/* SEC Filings page */

#sec-features {
	background-image: url(../images/ir-graph-orange-green.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

/* Online Newsroom page */

#newsroom-features {
	background-image: url(../images/digital-pixel-bright-banner.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

/* =========================================================
   HERO — PRODUCT SHOWCASE
   - Remove hero overflow
   - Hero text padding adjustment
   - Change hero__visual from bg image to image element
   - Update H1 eyebrow to text color gradient and font-size
   - Adjust H2 headline font-size
   - Adjust description color and font-size
========================================================= */

.hero {
  overflow-x: unset;
  padding-bottom: 60px;
}

.hero--product {
	background-size: 100%;
}

.hero--product.no-shadow::after {
    content: none;
}

.hero__content {
  	padding-left: 2rem;
  	padding-right: 2rem;
 }

 .hero__visual {
 	aspect-ratio: unset;
 	transform: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
 }

  .hero__visual img {
  	mix-blend-mode: lighten;
  }

 .hero--solution .hero__visual img {
 	mix-blend-mode: unset;
    margin-bottom: 40px;
 } 

 .hero--product .hero__visual {
 	margin-bottom: 0;
 }

 .hero--product .hero__desc {
 	color: #fff;
 }

 @media (max-width: 991px) {
    .hero--product .hero__visual .hero__image {
       box-shadow: none;
    }
}

 @media (max-width: 991px) {
 	.hero__visual {
 		margin-top: 0;
 	}
 }	

@media (min-width: 1200px) {
  .hero__content {
  	padding-left: 5rem;
  	padding-right: 5rem;
  }	
}


.hero__eyebrow {
  font-size: 16px;
  color: #00DFFF;
  background: linear-gradient(to right, #00DFFF, #0CB3D9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero__title {
  font-size: 36px;
  line-height: 1.2;
}

.hero--product .hero__title {
	margin-bottom: 20px;
}

.hero__content, .hero__desc {
  font-size: 20px;
  color: #fff;
  line-height: 1.4;
}

.hero--product .hero__content {
	max-width: 1000px;
}

@media (min-width: 1200px) {

	.hero__eyebrow {
	  font-size: 20px;
	}

	.hero__title {
	  font-size: 50px;
	}

	.hero__content, .hero__desc {
	  font-size: 24px;
	}

}

.hero--product .hero__desc,
.hero--product .hero__content {
	font-size: 18px;
	line-height: 1.5;
}

/* =========================================
   PRICING CARD
   - Adjust pricing card border
   - Adjust pricing card desc color and font-size
   - Add pricing-list hr styles
   - Adjust badge font-size and text-transform
   - Adjust pricing card highlight background-color
========================================= */

.pricing-card {
  border-width: 3px;	
}

 @media (max-width: 991px) {
 	.pricing-card {
  		margin-bottom: 40px;
	}
 }

.pricing-card__desc,
.pricing-card .pricing-section .pricing-list li {
	color: #fff;
	font-size: 16px;
}

.pricing-list hr {
	opacity: 1;
	border-top-width: 3px;
	color: #00DFFF;
}

.pricing-card__badge {
	font-size: 16px;
	text-transform: uppercase;
}

.pricing-card__highlight {
	background: #0CB3D9;
}


/* =========================================
   DATA CIRCLES
   - Adjust purple color
   - Adjust mobile data circle size
========================================= */

.data-circle--purple {
	background: #523CE0;
}

@media (max-width: 767px) {
    .data-circles .data-circles__grid {
    	gap: 20px;
    }	

    .data-circle {
        width: 160px;
        height: 160px;
    }
}

/* =========================================
   LOGO SHOWCASE
   - Adjust mobile layout
========================================= */

.logo-showcase .logo-showcase__list {
	align-items: center;
}

@media (max-width: 991px) {
    .logo-showcase .logo-showcase__item {
        flex: 0 0 25%;
        min-width: auto;
    }
}

@media (max-width: 767px) {
	.logo-showcase {
		padding: 40px 0;
	}

	.logo-showcase__container {
		width: 100%;
	}

	.logo-showcase .logo-showcase__list {
		flex-wrap: wrap;
        gap: 20px;
	}

	.logo-showcase .logo-showcase__item {
        flex: 0 0 25%;
        max-width: 25%;
        min-width: auto;
        width: fit-content;
    }
}

.logo-showcase .logo img {
    max-width: 280px;
}

/* =========================================
   ACCORDION
   - Accordion background adjustments
   - Accordion text adjustments
========================================= */

.section-accordion {
	background-size: 100%;
    background-position: center;
    background-attachment: fixed;
}

.section-accordion .container {
	max-width: 1450px;
}

.accordion-custom {
	backdrop-filter: unset;
}

.accordion-custom .accordion-item .accordion-collapse .accordion-body {
	color: #fff;
	font-size: 20px;
}

.accordion-custom .accordion-item .accordion-collapse .accordion-body td {
	vertical-align: top;
	padding-bottom: 40px;
}

/* =========================================
   DOWNLOADS
   - Downloads background adjustments
========================================= */

.section-downloads {
	background-size: 100% !important;
    background-position: center !important;
    background-attachment: fixed;
}

.section-downloads .container {
	max-width: 1450px;
}

.download-list {
	backdrop-filter: unset;
}

/* =========================================
   FEATURE CARDS
   - Uniform Height
   - Adjust font-size
   - Adjust image width
========================================= */

.feature-card {
	height: 100%;
}

.checklist li, .cb-li--checklist li {
	color: #fff;
	font-size: 16px;
}

.feature-card .feature-card__body {
	font-size: 16px;
}

.feature-card .feature-card__media {
	flex: 0 0 250px;
}

/* =========================================
   CTA BANNER
   - Adjust title font-size
   - Adjust text color and  font-size
   - Adjust button background/color
========================================= */

.cta-banner__title {
	font-size: 36px;
	line-height: 1.2;
}

.cta-banner__content {
	font-size: 18px;
	line-height: 1.4;
}

.cta-banner__text {
    color: #fff;
}

@media (min-width: 1200px) {
	.cta-banner__title {
		font-size: 40px;
	}

	.cta-banner__content { 
		font-size: 24px;
	}
}

.cta-banner__button {
	background: #0CB3D9;
}

.cta-banner__button:hover,
.cta-banner__button:focus {
	background: #00DFFF;
	color: #000;
}


/* =========================================
   STANDARD BLOCKS
   - Add cb-callout styles
   - Override default Bootstrap table styles
========================================= */

.cb-callout {
    position: relative;
    border-radius: 24px;
    padding: 40px;
    overflow: hidden;
    color: #ffffff;
    background: linear-gradient(180deg, #0d1f36 0%, #14395a 45%, #1c6a78 100%);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(0, 223, 255, 0.08);
    transition: transform 0.3s ease;
}

.table {
    border-radius: 30px;
    border: 1px solid  #00DFFF;
}

.table > :not(caption) > * > * {
    background-color: #131930;
    border-color: #00DFFF;
    color: #fff;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: #000;
    color: #fff;
}



/* ======================================
   Legal Page
   - Added Legal Page Styles
====================================== */

.page-legal {
    border-top: 1px solid #00DFFF;
    border-bottom: 1px solid #00DFFF;
    padding-top: 40px;
    padding-bottom: 40px;
    min-height: 480px;
}

.page-legal .container {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.page-legal h2,
.page-legal h3,
.page-legal h4,
.page-legal h5,
.page-legal h6,
 {
    margin: 0 0 1rem;
}

.page-legal a:not(.btn) {
   color: #0CB3D9;
   text-decoration: underline; 
}

.page-legal a:hover:not(.btn),
.page-legal a:focus:not(.btn) {
    color: #00DFFF;
}

.page-legal ul,
.page-legal ol {
    padding-left: 2rem;
    margin-bottom: 1rem;
    list-style: unset;
}

.page-legal ul li::marker {
    color: #0CB3D9;
}

/* =========================================================
   CONTACT PAGE
   - Adjust background image
========================================================= */

.contact-section {
    padding: 20px;
    position: relative;
    text-align: center;
    background-image: url(../images/stacked-blocks.png);
    background-repeat: no-repeat;
    background-position: 25%;
    background-size: 100%;
    z-index: 0;
}

@media (min-width: 1024px) {
    .contact-section {
        padding: 100px 200px;
        background-position: center;
    }
}

.contact-section::after {
    content: none;
}

.form--contact {
    padding-top: 20px;
}

@media (min-width: 1024px) {
    .form--contact {
        padding-top: 120px;
    }
}


/* =========================================
   NEWS CENTER
   - Adjust news center header title
   - Adjust news center header search button
   - Search All Releases - Search Form BG + Headline hover color + Pagination BG
   - Journalists & Influencers form bg
   - Adjust RSS feed listings bg + basic text styles
========================================= */

#nc-nav h1 {
  white-space: nowrap;
}

@media (max-width: 1366px) {
    #nc-nav h1 {
       font-size: 30px;
    }

    #nc-nav .navbar-nav .nav-item {
        margin: 0;
    }
}

.navbar-nav .nc-nav-item--search {
  margin-right: 0;
}

#nc-nav .nav-item .searchbar-nc .searchbar-btn {
  width: 50px;
  left: 78%;
  right: 0;
}

/* Front Page */

#nc-featured-news .card-body h3, #nc-featured-news .card-body .h3 {
    font-size: 1.0625rem;
    font-weight: 600;
}

#nc-featured-news .card-body h3, #nc-featured-news .card-body .h3

#nc-featured-news .client-logo {
    border-radius: 0;
    filter: none;
}

.source-logo {
    background: #fff;
    border-radius: 6px;
}

.news-item__title a:hover,
.news-item__title a:focus {
    color: #00DFFF !important;
}

/* Search All Releases */
.index-search {
    border-radius: 12px;
    background: linear-gradient(180deg, #01060f 0%, #05182a 40%, #0a2a44 100%);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7), inset 0 0 0 1px rgba(0, 223, 255, 0.08);
    border: 1px solid rgba(0, 223, 255, 0.25);
}

main .type-title-link a:hover,
main .type-title-link a:focus {
  color: #00DFFF !important;
}

.pagination .page-link {
    background: linear-gradient(180deg, #01060f 0%, #05182a 40%, #0a2a44 100%);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7), inset 0 0 0 1px rgba(0, 223, 255, 0.08);
    border: 1px solid rgba(0, 223, 255, 0.25);
}

.pagination .active .page-link {
    background: #0CB3D9;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
    background: #00DFFF;
    color: #000 !important;
}

/* Journalists & Influencers */

.index-search label {
    color: #fff !important;
}

.required {
    color: #fff !important;
    opacity: 0.75 !important;
    font-size: 14px !important;
}

/* RSS Page */
.list-group-item {
    background-color: transparent;
    border-color: #000;
}

a.list-group-item:hover, a.list-group-item:focus {
    background-color: transparent;
    color: #00DFFF !important;
}

.fa-rss-square.text-primary {
    color: #00DFFF !important;
}

.page-rss h2,
.page-rss h3,
.page-rss h4,
.page-rss h5,
.page-rss h6,
 {
    margin: 0 0 1rem;
}

.page-rss a:not(.btn):not(.list-group-item) {
   color: #0CB3D9 !important;
   text-decoration: underline !important; 
}

.page-rss a:hover:not(.btn),
.page-rss a:focus:not(.btn) {
    color: #00DFFF !important;
}

.page-rss ul,
.page-rss ol {
    padding-left: 2rem;
    margin-bottom: 1rem;
    list-style: unset;
}

.page-rss ul li::marker {
    color: #0CB3D9;
}


/* =========================================
   ARTICLE
   - Remove gray and padding from main image
   - Link colors and lists
========================================= */

@media (max-width: 767px) {
   #nc-main {
    padding: 0 20px;
   } 

  .article {
    padding: 20px;
  }

  .article-share {
    padding: 20px;
  }
}

.article-media {
    padding: 0;
}

.article-text h2,
.article-text h3,
.article-text h4,
.article-text h5,
.article-text h6,
.article-text p
 {
    margin: 0 0 20px;
}

.article-text a:not(.btn):not(.list-group-item) {
   color: #0CB3D9 !important;
   text-decoration: underline !important; 
}

.article-text a:hover:not(.btn),
.article-text a:focus:not(.btn) {
    color: #0CB3D9 !important;
}

.article-text ul,
.article-text ol {
    padding-left: 2rem;
    margin-bottom: 20px;
    list-style: unset;
}

.article-text ul li::marker {
    color: #0CB3D9;
}

.article .type-title-link a:hover,
.article .type-title-link a:focus {
    color: #0CB3D9 !important;
}

.article-share {
    border-top: none !important;
}