/*
Theme Name: GeneratePress Child
Theme URI: https://yourwebsite.com
Description: A child theme for GeneratePress.
Author: Your Name
Author URI: https://yourwebsite.com
Template: generatepress
Version: 1.0.0
*/

/* Custom styles go below this line */

/* general site styling */

a {
    color:inherit;
}

a:hover {
    color:inherit;
}
.wp-social-link-facebook:hover {
    background-color: #0866ff;
}

.wp-social-link-x:hover {
    background-color: #000;
}

.wp-social-link-linkedin:hover {
    background-color: #0d66c2;
}

.full-width {
    display: inline-flex;
    width:100%;
    
}

/* To keep the sticky menu from overlapping page content on anchors */

html {
  scroll-padding-top: 100px; /* height of sticky header */
}

blockquote {
    margin: 0px; /*you can adjust this number*/
}

option {
    white-space: pre-wrap;
}
/* menu styling */

.gb-menu-item a.gb-menu-link {
    font-size: 16px;
}

.gb-menu-item a.gb-menu-link.li:hover {
    all: unset;
    color: #ffffff;
}


/* ====== PRIMARY + MAX MEGA MENU ====== */

.sig-header-wrapper {
    display: flex;
    align-items: anchor-center;
    justify-content: space-between;
}

@media only screen and (min-width: 767px) {
  #mega-menu-wrap-primary,
  #mega-menu-wrap-max_mega_menu_1 {
    background: none;
  }

  #mega-menu-wrap-primary #mega-menu-primary,
  #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 {
    text-align: right;
  }
}

/* Hover + Focus states */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link:focus {
  color: var(--contrast);
  background: none;
  font-weight: 600;
  border-bottom: solid 3px var(--contrast-2);
}

/* Active menu item */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
  color: var(--contrast-2);
  background: none;
}

/* Top-level links */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
  color: var(--contrast);
  background: none;
  font-family: var(--gp-font--lato);
  font-weight: 600;
  padding: 0 10px;
  margin: 0 10px;
  font-size: 16px;
}

/* Column reset */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard {
  padding: 0;
}

/* Submenu links */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link {
  font-family: var(--gp-font--lato);
  font-weight: 600;
  padding: 10px 20px;
}

/* Submenu hover */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard li.mega-menu-item > a.mega-menu-link:hover {
  color: #fff;
  font-weight: 600;
  background-color: var(--contrast-2);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link:hover,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link:hover {
  color: #fff;
  background-color: var(--contrast-2);
}

/* Fix overly broad selector */
.mega-menu-link a:hover {
  color: #fff;
  background-color: var(--contrast-2) !important;
}

/* ====== SECONDARY MENU ====== */
#mega-menu-wrap-secondary #mega-menu-secondary li.mega-menu-item {
  padding: 0 10px;
}

#mega-menu-wrap-secondary #mega-menu-secondary {
  text-align: center;
  background: var(--contrast-2);
}

#mega-menu-wrap-secondary #mega-menu-secondary > li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-secondary #mega-menu-secondary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
  color: #fff;
}

#mega-menu-wrap-secondary #mega-menu-secondary > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-secondary #mega-menu-secondary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link:hover {
  color: var(--global-color-13);
}

#secondary-navigation {
  display: none;
}

/* ====== MOBILE ====== */
@media only screen and (max-width: 760px) {
   #mega-menu-wrap-secondary .mega-menu-toggle + #mega-menu-secondary {
    background: var(--contrast-2);
  }
  #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link:hover {
    color: var(--global-color-13);
  }
}


/* end mega menu */

/* drop down select styling */

/* Style the dropdown wrapper */
select.postform option {
  background: #fff;
  color: var(--contrast);
  padding: 8px;
  font-size: 13px;
}

select.postform option:hover {
  background-color: var(--contrast-2);
  color: #fff;
}


/* buttons styling */

.hp-query-wrapper a.gbp-button--tertiary {
  font-size: 18px;
    padding: .5rem 1rem;
}

a.gbp-button--tertiary, .edd-submit.button, {
    padding: 1rem 2rem;
    font-weight: 600;
    justify-content: space-between;
    align-items: center;
    gap: 0.4em; 
    border:none;
}

.edd_purchase_receipt_product_notes a, .edd_purchase_receipt_pages a {
    padding: 1rem 2rem;
    font-weight: 600;
    display: inline-block;
    margin: 10px 0;
    justify-content: space-between;
    align-items: center;
    gap: 0.4em; 
    border:none;
}

#edd-purchase-button, .edd-submit, [type=submit].edd-submit {
    font-size: 24px;
    padding: 10px 20px;
}

.edd_purchase_receipt_pages ul {
  list-style: none; /* Removes any content from the ::before pseudo-element */
}

.edd_purchase_receipt_pages li {
  padding-bottom: 1rem;
}

.edd_purchase_receipt_pages a::after, .edd_purchase_receipt_product_notes a::after {
  content: "→"; /* Required for pseudo-elements to display */
  margin-left: 5px; /* Adjust spacing between text and arrow */
  display: inline-block; /* Ensures proper alignment with text */
  transition: transform 0.2s ease-in-out;
}

.edd_purchase_receipt_pages a:hover::after, .edd_purchase_receipt_product_notes a:hover::after {
  transform: translateX(3px); /* Optional: Moves the arrow slightly on hover */
}

.edd-blocks__download--featured.edd-blocks__download--featured-badge:before {
    background: var(--accent-3);
    font-size: .9em;
}

a.gbp-button--tertiary.yellow {
    background-color: var(--accent-3);
    color: var(--base-3);
    display: inline-block; 
    padding: 1rem;
}

a.gbp-button--tertiary.red, .edd_purchase_receipt_product_notes a, .edd_purchase_receipt_pages a {
    background-color: var(--contrast-2);
    color: var(--base-3);
}

a.gbp-button--tertiary.text.white {
    color: #ffffff;
    padding: 0;
}

a.gbp-button--tertiary.text.red {
    color: var(--contrast-2);
    padding: 0;
    background:none;
}

a.gbp-button--tertiary.yellow:hover {
    color: #ffffff;
    background-color: var(--accent-2);
}

a.gbp-button--tertiary.red:hover, .edd-submit.button:hover, .edd_purchase_receipt_product_notes a:hover, .edd_purchase_receipt_pages a:hover {
    color: #ffffff;
    background-color: var(--contrast-3);
}

a.gbp-button--tertiary.text.white:hover {
    color:var(--global-color-13);
    cursor: pointer;
}

a.gbp-button--tertiary.text.white.nohov:hover {
    color:var(--base-3);
    cursor: pointer;
}

a.gbp-button--tertiary.text.red:hover {
    color:var(--contrast-3);
    background: none;
}

.edd-submit.button {
    max-width: 100%;
    text-wrap-mode: wrap;
}

button.edd-add-to-cart {
	display: inline-block;
	background-color: var(--contrast-2);
	padding: 10px 25px;
	font-family: "Sen", Sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #ffffff;
	margin-top:15px;
	border: 2px solid var(--contrast-2);
    border-radius: 0;
	transition: all 0.3s ease-in-out;
}

/* links */
.edd-blocks-orders__order-details a {
    color: var(--contrast-2);
}

.edd-blocks-orders__order-details a:hover {
    color: var(--contrast-3);
}

.edd-blocks__row-label {
    padding-bottom: 40px;
}

/*end links */

/* Research Library styling - post type slug stm_portfolio*/

article.stm_portfolio a {
    display: inline-block;
	background-color: #ffffff;
    color: var(--contrast-2);
	padding: 10px 25px;
	font-family: "Sen", Sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
	margin:15px 15px 30px 0;
	border: 2px solid var(--contrast-2);
	transition: all 0.3s ease-in-out;
}

article.stm_portfolio a:hover {
	background-color: var(--accent-2);
	color: #ffffff;
}

article.stm_portfolio a br {
    display: none;
}

/* Only target stm_portfolio single content */
.single-stm_portfolio .entry-content p:first-of-type {
    float: left;
    width: 45%;      /* adjust as needed */
    margin-right: 2%;
}

.single-stm_portfolio .entry-content p:nth-of-type(2) {
    float: right;
    width: 50%;      /* adjust as needed */
    font-size: 1.2rem;
    line-height: 1.4em;
}

/* Remaining paragraphs full width */
.single-stm_portfolio .entry-content p:nth-of-type(n+3) {
    clear: both;     /* start below floated elements */
    width: 100%;
    margin-top: 2%;
}

@media screen and (max-width: 600px) {
    .single-stm_portfolio .entry-content p:first-of-type{
        width:100%;
        margin-bottom: 2rem;
    }
    .single-stm_portfolio .entry-content p:nth-of-type(2) {
    width: 100%;    
    font-size: 1.1rem;
    line-height: 1.3em;
}
}


 /* search and filter styling - search bar */

.select2-container, .select2-container .selection, .select2-container--default .select2-selection--single {
	min-width: 220px;
}

.select2-container--default .select2-selection--single {
    border: 2px solid #cacaca !important;
    background-color: #ffffff !important;
    height: auto !important;
	min-width: 220px !important;
}

.select2-container--default .select2-selection__rendered {
    line-height: 2em !important;
    padding: 10px 30px 10px 10px!important;
    color: #000 !important;
}

.select2-container--default .select2-selection__arrow {
    height: 100% !important;
    right: 10px;
}

.select2-container--default .select2-results>.select2-results__options {
	max-height:450px !important;
}

.select2-dropdown {
    border: 2px solid #cacaca !important;
    box-shadow: 0 0 3px #aaa;
    width: 100%;
    background: #fff;
    color: #000;
}

.select2-dropdown ul li {
	font-size: 13px;
}

.select2-container--open .select2-dropdown--below {
	margin-top: -5px;
}


.searchandfilter select.sf-input-select {
	min-width: 100%; 
}



.searchandfilter ul li {
    margin: auto 0;
}

input.sf-input-text {
	line-height: 32px;
    border-radius: 5px;
    padding: 7px 25px;
    margin: 0;
    border: 2px solid #cacaca;
}

.sf-field-submit input[type=submit] {
	border:2px solid var(--contrast-2);
	background-color: var(--contrast-2);
	color: #ffffff;
    font-size: 16px;
	font-weight: 500;
    padding: 15px 30px;
	transition: all .3s ease-in-out;
}

.sf-field-submit:hover input[type=submit] {
	
	background-color: #ffffff;
	color: var(--contrast-2);
    font-size: 16px;
    padding: 15px 30px;
	transition: all .3s ease-in-out;
}

 /* end search and filter styling - search bar */

/* search filter resource content*/

.upgrade-message {
    color: red;
    font-weight: bold;
    text-align: center;
    background: #ffeeee;
    padding: 5px;
    margin-top: 10px;
}

.upgrade-note {
	color: var(--contrast-2);
    font-size: 16px;
    padding: 15px 30px;
	border: solid 2px var(--contrast-2);
	text-align: center;
	background-color: #E0E0E0;
}
.upgrade-note a {
	color: #ffffff;
    font-size: 16px;
	font-weight: 600;
    padding: 15px 30px;
	text-align: center;
	background-color: var(--contrast-2);
}

.research-card-container, .edd-blocks__download {
	width: 100%;
	background-color: white;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);
}

.research-thumbnail-container {
	width: 100%; /* Adjust as needed */
    height: 250px; /* Set the desired height */
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
	background-color: #414141;
}

.research-thumbnail-container img, .edd-blocks__download-header img{
    width: 100%;
    object-fit: contain; /* Makes it behave like a background-image */
	transition: all 0.3s ease-in-out;
}

.research-thumbnail-container:hover img, .edd-blocks__download-header:hover img {
     transform: scale(1.03); /* Scales the image up by 3% */
}

.research-text-container {
	padding: 0 20px 30px;
	border-top: 6px solid #404040;
}

.research-text-container h4 {
	font-size: 17px;
    line-height: 20px;
	min-height: 90px;
	margin: 10px 0;
}

.edd-blocks__download h3 {
    margin: 1rem 0;
}

.research-text-container h6 {
	padding-top: 10px !important;
}

.research-text-excert {
	text-align: left;
    font-size: small;
    min-height: 130px;
    line-height: 1.2rem;
}

.research-text-link {
	width: 100%;
	display: inline-block;
}

.research-text-link a {
	display: inline-block;
	background-color: #ffffff;
    color: var(--contrast-2);
	padding: 10px 25px;
	font-family: "Sen", Sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
	margin-top:15px;
	border: 2px solid var(--contrast-2);
	transition: all 0.3s ease-in-out;
}

.research-text-link a:hover {
	background-color: var(--accent-2);
	color: #ffffff;
}

.research-text-link a:visited {
	color: var(--contrast-3);
    border: 2px solid var(--contrast-3);
}

.research-text-link a::after {
	content: "<i class="stm-right-arrow"></i>";
}

.research-button .nav-next {
	text-align: right;
    margin:15px;
}
a.research-button, a.search-filter-reset, a.edd_download_file_link {
	display: inline-block;
	background-color: var(--contrast-2);
	padding: 10px 25px;
	font-family: "Sen", Sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #ffffff;
	margin: 15px;
	border: 2px solid var(--contrast-2);
	transition: all 0.3s ease-in-out;
}


a.research-button:hover {
	background-color: #ffffff;
    text-transform: uppercase;
    color: var(--contrast-2);
}

.research-button a {
	display: inline-block;
	background-color: #ffffff;
	padding: 10px 25px;
	font-family: "Sen", Sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--contrast-2);
	margin:15px;
	border: 2px solid var(--contrast-2);
	transition: all 0.3s ease-in-out;
}

a.read-more.button {
    margin: 1rem 0;
    background-color:#ffffff;
    border: 2px solid var(--contrast-2);
    color: var(--contrast-2);
}

a.read-more.button:hover {
    margin: 1rem 0;
    background-color: var(--contrast-3);
    border: 2px solid var(--contrast-3);
    color: #ffffff;
}

.research-button:hover a {
	background-color: var(--accent-2);
    text-transform: uppercase;
    color: #ffffff;
}

.research-nav a {
	color: #ffffff;
}

/* search and filter pagination */

#edd_download_pagination {
  padding: 8px 12px;
  margin: 30px 4px;
}

.page-numbers.current {
  background-color: #fff;
  color: #404040;
  font-weight: bold;
  border: 2px solid #404040;
  padding: .7rem 1rem;
  margin-right: 1rem;
}

a.page-numbers {
  border: 1px solid var(--contrast-2);
  color: var(--contrast-2);
  padding: .7rem 1rem;
  margin-right: 1rem;
}

a.page-numbers:hover {
  border: 1px solid var(--contrast-3);
  color: var(--contrast-3);
}

.page-numbers.dots {
  pointer-events: none;
  border: 1px solid #999;
  padding: .7rem 1rem;
  margin-right: 1rem;
}

.page-numbers:hover:not(.current):not(.dots) {
  background-color: #f5f5f5;
  color: #000;
}


/* end of search and filter queries */


/* feature query styling */

.hp-query-wrapper {
    min-height: 245px;
}


/* end query styling

/* carousel styling */

.slider-container {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}
.slider-container > * {
  flex: 0 0 auto;
  scroll-snap-align: start;
  width: 300px;
  margin-right: 16px;
}

.horizontal-scroll {
  display: flex;
  overflow-x: hidden;
  gap: 1.5rem;
  padding-bottom: 1rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.horizontal-scroll .scroll-item {
  flex: 0 0 auto;
  width: 350px;
  scroll-snap-align: start;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  padding: 1rem;
}

.horizontal-scroll .scroll-item-4up {
  flex: 0 0 auto;
  width: 25%;
  scroll-snap-align: start;
  padding: 1rem;
}

.horizontal-scroll .scroll-item-1up {
  flex: 0 0 auto;
  width: 100%;
  scroll-snap-align: start;
  padding: 1rem;
}

.post-query-scroll {
    object-fit: contain;
    max-height: 300px;
    background-color:#ffffff;
}

.scroll-prev,
.scroll-next {
  padding: 0.5rem 1rem;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  margin: 1rem 0.5rem;
  border-radius: 4px;
}

@media screen and (max-width: 600px) {
    .horizontal-scroll .scroll-item {
        width: 220px;
    }
}



/* EDD function styling */

.show-if-logged-in,
.show-if-logged-out {
    display: none;
}

body.logged-in .show-if-logged-in {
    display: block;
}

body.logged-in .show-if-logged-out {
    display: none;
}

body:not(.logged-in) .show-if-logged-out {
    display: block;
}


/* Embedd stles 



/* Chart SB settings */

@media screen and (max-width: 600px) {
.chart-wrapper {
  max-width: 330px;
  width: 100%;
  margin: 0 auto;
}

.chart-wrapper canvas {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}
}

@media screen (min-width: 600px) and (max-width: 768px) {
  .chart-wrapper {
      max-width: 730px;
      width: 100%;
      margin: 0 auto;
    }

    .chart-wrapper canvas {
      width: 100% !important;
      height: auto !important;
      max-width: 100% !important;
    }
}
