/*
Theme Name:   FTB Child Theme
Theme URI:    https://firsttracksbio.com
Description:  FTB Child Theme
Author:       Site Assemble
Author URI:   https://siteassemble.com
Template:     dt-the7
Version:      1.0.0
Text Domain:  ftb-child
*/

@import url("../dt-the7/style.css");


:root {
    --primary-teal-light: #014F5912;
    --primary-gold-light: #C592141C;
    --primary-olive-light: #737B4C1A;
}

html {
  --the7-anchor-scroll-offset: 80; /* match your actual header height */
  scroll-padding-top: 80px;
}

.the7-e-sub-nav.horizontal-sub-nav .the7-e-sub-nav.horizontal-sub-nav {
    margin-left: -20px;
}

.content li {
    margin-bottom: 10px;
    line-height: 1.3em;
}
.content .sub-ul {
    margin-top: 10px;
}

/*
var(--e-global-color-primary)
var(--e-global-color-secondary)
var(--e-global-color-el_color_1_2) FTB Accent (blue)
var(--e-global-color-el_color_1) FTB Accent (red)
*/

/* Loop Grid - Press Releases (old style)

.ftb-pr-type .elementor-widget-heading,
.ftb-pr-button .elementor-widget-heading {
    background-color: var(--e-global-color-text);
}
.anaptys-news .ftb-pr-type .elementor-widget-heading,
.anaptys-news .ftb-pr-button .elementor-widget-heading {
    background-color: var(--e-global-color-primary);
}
.ftb-pr-type .elementor-widget-heading .elementor-heading-title,
.ftb-pr-button .elementor-widget-heading .elementor-heading-title {
    color: #fff;
}
.ftb-inner-content {
    border: 2px solid #1e4b7f1c;
    border-top: none;
    border-bottom: none;
}
.anaptys-news .ftb-inner-content {
    border: 2px solid #70271d1c;
}
***************************************/

/* Loop Grid - Press Releases (new style) */
.ftb-press-releases .anaptys-news .ftb-pr-type {
    background-color: var(--e-global-color-secondary) !important;
}
.ftb-press-releases .anaptys-events .ftb-pr-type {
    background-color: var(--e-global-color-text) !important;
}
/******************************************/

/* Special table style ********************/
.ftb-table-wrapper {
    overflow-x: auto;
}
.ftb-pp-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
.ftb-pp-table thead td {
    padding: 10px;
    background: #333;
    border: 1px solid #444;
    font-size: .8em;
    line-height: 1.2em;
    color: #fff;
}
.ftb-pp-table tbody td {
    padding: 10px;
    border: 1px solid #ddd;
    font-size: .8em;
    line-height: 1.2em;
}
/******************************************/

.square-image img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}

.ftb-nowrap button {
    white-space: nowrap;
}
.ftb-flex-container-button {
    flex: 0 0 auto !important;
}
.ftb-flex-container-text {
    flex: 1 1 0 !important;
    min-width: 0 !important; /* prevents text overflow edge case */
}

/* hero breadcrumbs */
.ftb-breadcrumbs {
    color: #ffffffbf;
    font-family: var(--e-global-typography-primary-font-family), sans-serif;
    font-size: 14px;
    font-weight: 400;
}
.ftb-breadcrumbs a {
    color: #ffffff;
    text-decoration: underline;
}
/********************/

.ftb-button-nowrap .elementor-button {
    /*white-space: nowrap;*/
}

/* FTB pubs ***********/
.poster-presentation {
    border-color: var(--e-global-color-primary) !important;
    --border-color: var(--e-global-color-primary) !important;
    background-color: var(--primary-teal-light) !important;
}
.poster-presentation .ftb-pub-type,
.poster-presentation .ftb-pub-date,
.poster-presentation .ftb-pub-location {
    color: var(--e-global-color-primary);
}
.poster-presentation .ftb-pub-type {
    background-color: var(--e-global-color-primary) !important;
}
.poster-presentation .ftb-pub-location {
    border-color: var(--e-global-color-primary) !important;
}

.oral-presentation {
    border-color: var(--e-global-color-secondary) !important;
    --border-color: var(--e-global-color-secondary) !important;
    background-color: var(--primary-olive-light) !important;
}
.oral-presentation .ftb-pub-type,
.oral-presentation .ftb-pub-date,
.oral-presentation .ftb-pub-location {
    color: var(--e-global-color-secondary);
}
.oral-presentation .ftb-pub-type {
    background-color: var(--e-global-color-secondary) !important;
}
.oral-presentation .ftb-pub-location {
    border-color: var(--e-global-color-secondary) !important;
}

.journal-publication {
    border-color: var(--e-global-color-text) !important;
    --border-color: var(--e-global-color-text) !important;
    background-color: var(--primary-gold-light) !important;
}
.journal-publication .ftb-pub-type,
.journal-publication .ftb-pub-date,
.journal-publication .ftb-pub-location {
    color: var(--e-global-color-text);
}
.journal-publication .ftb-pub-type {
    background-color: var(--e-global-color-text) !important;
}
.journal-publication .ftb-pub-location {
    border-color: var(--e-global-color-text) !important;
}
/**********************/

/* container toggle **********************/
.ftb-tab-btn.ftb-active .elementor-button {
    opacity: 0.3;
}
/*****************************************/

/* Pipeline slides ***********************/
/* ── IHM GLOBAL STYLES — paste into Elementor global stylesheet ── */
.ihm-row{display:flex;align-items:stretch;gap:0;width:100%;min-height:380px;}
.ihm-col-image{position:relative;width:50%;flex-shrink:0;}
.ihm-col-image img{display:block;width:100%;height:auto;border-radius:8px;}
.ihm-col-content{width:50%;position:relative;display:flex;align-items:center;padding-left:2rem;box-sizing:border-box;}
.ihm-svg-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
/* Content state blocks — all managed by script */
.ihm-state{position:absolute;inset:0;display:flex;align-items:center;opacity:0;pointer-events:none;transition:opacity 0.4s ease;}
.ihm-state.ihm-visible{opacity:1;pointer-events:all;}
/* Beacon dot */
.ihm-beacon{pointer-events:all;cursor:pointer;}
.ihm-beacon-core{transition:transform 0.15s ease;transform-box:fill-box;transform-origin:center;}
.ihm-beacon:hover .ihm-beacon-core{transform:scale(1.2);}
.ihm-beacon:focus{outline:none;}
.ihm-pulse-ring{fill:none;opacity:0;transform-box:fill-box;transform-origin:center;}
.ihm-beacon .ihm-pulse-ring{animation:ihm-beacon-pulse 2s ease-out infinite;}
.ihm-beacon .ihm-pulse-ring:nth-child(2){animation-delay:0.7s;}
@keyframes ihm-beacon-pulse{
  0%{r:var(--ihm-pr-start);opacity:0.75;stroke-width:2.5;}
  100%{r:var(--ihm-pr-end);opacity:0;stroke-width:0.5;}
}
/* Tooltip */
.ihm-tooltip{pointer-events:none;opacity:0;transition:opacity 0.18s ease;}
.ihm-beacon:hover .ihm-tooltip,.ihm-beacon:focus .ihm-tooltip{opacity:1;}
/* Mobile overlay */
.ihm-mobile-overlay{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.55);align-items:flex-end;}
.ihm-mobile-overlay.ihm-active{display:flex;animation:ihm-fadein 0.2s ease;}
@keyframes ihm-fadein{from{opacity:0;}to{opacity:1;}}
.ihm-mobile-sheet{background:#fff;border-radius:18px 18px 0 0;padding:1.6rem 1.4rem 2.4rem;width:100%;max-height:82vh;overflow-y:auto;animation:ihm-slideup 0.3s cubic-bezier(0.34,1.4,0.64,1);border-top:3px solid;position:relative;box-sizing:border-box;}
@keyframes ihm-slideup{from{transform:translateY(60px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.ihm-mobile-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:22px;cursor:pointer;color:var(--color-text-secondary);line-height:1;}
/* Responsive */
@media(max-width:767px){
  .ihm-row{flex-direction:column;}
  .ihm-col-image,.ihm-col-content{width:100%;}
  .ihm-col-content{display:none;}
}
#ihm-imgcol-1 {
  position: relative;
}

#ihm-imgcol-1 .elementor-widget-html:has(#ihm-svg-1) {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

#ihm-svg-1 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}
/*****************************************/

/* FTB custom */
.ftb-cards-primary .elementor-icon {
    padding: 20px;
    background-color: var(--e-global-color-accent);
    border-radius: 250px;
}
.ftb-cards-primary span.highlight {
    position: relative;
    top: 2px;
    display: inline-block;
    color: var(--e-global-color-accent);
    font-size: 1.3em;
    font-weight: 700;
    line-height: 1em;
    border-radius: 2px;
    background: rgba(0, 0, 0, .15);
    padding: 2px;
}
.ftb-clause {
    display: block;
    margin-top: 20px;
    font-size: .85em;
    line-height: 1.1;
}
/**************/

.ftb-nowrap button {
    white-space: normal;
}

/* footer ********************/
.ftb-footer::before {
    /*background-position: top 52px right 50px !important;*/
}
.ftb-footer .elementor-nav-menu .sub-menu {
    display: none !important;
}
.ftb-footer-sa {
    font-family: var(--e-global-typography-el_content_3-font-family), sans-serif;
    font-size: var(--e-global-typography-el_content_3-font-size);
    font-weight: var(--e-global-typography-el_content_3-font-weight);
    text-transform: var(--e-global-typography-el_content_3-text-transform);
    line-height: var(--e-global-typography-el_content_3-line-height);
    color: #FFFFFFD6;
}
.ftb-footer-sa a {
    color: #FFFFFFD6;
}
.ftb-footer-sa a:hover {
    color: var(--e-global-color-el_c_white);
    transition-duration: 250ms;
}
.ftb-footer-sa .sa-svg-mini {
    width: 20px !important;
    vertical-align: middle;
    top: -3px;
    position: relative;
    font-size: 12px;
}
/****************************/

@media (max-width: 1024px) and (pointer: coarse) {
  #ihm-contentcol-1 {
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Apply equal height to loop grid only on desktop */
@media (min-width: 1025px) {
  /*.ftb-post-loop-container.equal-height .e-parent,
  .ftb-post-loop-container.equal-height .e-parent .ftb-inner-content {
    height: 100%;
  }*/
}