/*
 Theme Name:   Bootscore Child
 Description:  Bootscore Child Theme
 Author:       Bootscore
 Author URI:   https://bootscore.me
 Template:     bootscore
 Version:      6.0.0
 Requires at least: 5.0
 Tested up to: 6.6
 Requires PHP: 7.4
 License: MIT License
 License URI: https://github.com/bootscore/bootscore-child/blob/main/LICENSE
 Text Domain:  bootscore
*/

/* =========================================
   TABLE OF CONTENTS
   01. Fonts
   02. Variables
   03. Global Styles & Typography
   04. Utility Classes
   05. Buttons
   06. Header & Navigation (Base)
   07. Components (Hero, Cards, Tabs, etc.)
   08. Footer
   09. Third-Party Overrides (Cookiebot, Google, YouTube)
   10. Media Queries (Combined)
   ========================================= */

/* =========================================
   01. FONTS
   ========================================= */
/* Register Local Fonts */

/* Inter (Variable - Upright) Supports weights 100-900 in a single file */
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter/Inter-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter/Inter-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter/Inter-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter/Inter-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter/Inter-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter/Inter-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/Inter/Inter-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* Manrope (Variable) Supports weights 200-800 in a single file */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/themes/bootscore-child/assets/fonts/Manrope/manrope-v20-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/wp-content/themes/bootscore-child/assets/fonts/Manrope/manrope-v20-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/wp-content/themes/bootscore-child/assets/fonts/Manrope/manrope-v20-latin-700.woff2') format('woff2');
}

/* Font Awesome */
@font-face {
  font-family: 'Font Awesome 7 Free';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/wp-content/themes/bootscore/assets/fontawesome/webfonts/fa-solid-900.woff2') format('woff2');
}
/* Force Font Awesome to swap display */
@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/wp-content/themes/bootscore/assets/fontawesome/webfonts/fa-solid-900.woff2') format('woff2');
}
@font-face {
  font-family: 'FontAwesome';
  font-display: swap;
  src: url('/wp-content/themes/bootscore/assets/fontawesome/webfonts/fa-solid-900.woff2') format('woff2');
}
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/wp-content/themes/bootscore/assets/fontawesome/webfonts/fa-solid-900.woff2') format('woff2');
}

/* =========================================
   02. VARIABLES
   ========================================= */
:root {
    /* Primary (Dark Blue) */
    --bs-primary: #006C9B;
    --bs-primary-rgb: 0, 108, 155;
    
    /* Secondary (Light Cyan Blue) */
    --bs-secondary: #009BDF;
    --bs-secondary-rgb: 0, 155, 223;

    /* Fonts */
    /* NOTE: Consider adding generic fallbacks here like system-ui just in case */
    --bs-body-font-family: 'Inter', sans-serif;
    --bs-heading-font-family: 'Manrope', sans-serif;

    /* Custom Telestream Colors */
    --ts-blue: #009bdf;
    --ts-dark-blue: #0b1c3e;
    --ts-text-grey: #43484d;
}

/* =========================================
   03. GLOBAL STYLES & TYPOGRAPHY
   ========================================= */
/* Main Page */
#page {
    min-height: auto !important;
}

/* Native smooth scrolling */
html {
    scroll-behavior: smooth;
}

body {
    font-size: 18px;
    font-weight: 300;
    line-height: 24px;
    --bs-body-font-size: 18px;
    top: 0 !important;
    position: static !important;
}

/* Force Font Assignment */
body, p, li, a, span, input, button, .dropdown-item {
    font-family: var(--bs-body-font-family);
    color: #081126 !important;
}

/* Typography Classes */
.small, .small-400 {
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
}
.x-small {
    font-size: 10px;
    font-weight: 400;
    line-height: 16px;
}
strong, .strong {
    font-weight: 600 !important;
}
h2, h3, h4, h5, h6, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--bs-heading-font-family);
    font-size: 36px !important;
    font-weight: 400 !important;
}
h1, .h1 {
    font-family: var(--bs-heading-font-family);
    font-size: 48px !important;
    font-weight: 400 !important;
}
.header-extra {
    font-family: var(--bs-heading-font-family);
    font-size: 48px !important;
    font-weight: 400 !important;
}
.header-extra-md {
    font-family: var(--bs-heading-font-family);
    font-size: 36px !important;
    font-weight: 400 !important;
}
.header-extra-sm {
    font-family: var(--bs-heading-font-family);
    font-size: 24px !important;
    font-weight: 400 !important;
}
.header-blue-cards {
    font-family: var(--bs-body-font-family);
    font-size: 20px !important;
    font-weight: 600 !important;
}
.header-white-cards {
    font-family: var(--bs-heading-font-family);
    font-size: 26px !important;
    font-weight: 400 !important;
}

/* Standard Dark Blue Background */
.standard-background {
    background-color: #102044;  background-image: url(/wp-content/uploads/2025/12/Wave-01.png);--background-overlay: '';background-position: -300px -100px;background-repeat: no-repeat;background-size: auto;
}

/* Fix WP Admin Bar Colors */
#wpadminbar a.ab-item,
#wpadminbar span.ab-label,
#wpadminbar span.ab-icon:before {
    color: #ffffff !important;
}
#wpadminbar a.ab-item:hover,
#wpadminbar .ab-item:hover span.ab-label,
#wpadminbar .ab-item:hover span.ab-icon:before {
    color: #72aee6 !important; /* Standard WordPress Blue */
}

/* =========================================
   04. UTILITIES & LINKS
   ========================================= */
/* Utility Links */
/* NOTE: Missing :focus states for keyboard accessibility on custom links */
.blue-link, .text-ts-blue { color: #006c9b !important; }
.blue-link:hover { color: #209dd3 !important; }
.light-blue-link, .text-ts-light-blue { color: #009bdf !important; }
.light-blue-link:hover { color: #2ab4ef !important; }
.white-link { color: #fff !important; }
.white-link:hover { color: #e4e4e4 !important; }

/* Product Tabs top nav hover (Dark Section) */
#v-pills-measurement-tab:hover, #v-pills-professional-tab:hover, #v-pills-workflow-tab:hover {
    color: #e4e4e4 !important;
}

.open-pdf-viewer {
font-weight: 400 !important;
font-size: 13px !important;
color: #006c9b !important;
}

/* Bootstrap Utility Overrides */
.text-primary { color: #006C9B !important; }
.bg-primary { background-color: #006C9B !important; }
.text-secondary { color: #009BDF !important; }
.text-gray { color: #CCC !important; }
.bg-secondary { background-color: #009BDF !important; }
.text-bg-info { background-color: #E5F7FF !important; }
.bg-ts-dark { background-color: var(--ts-dark-blue); }

/* Images */
img.reflect {
    -webkit-box-reflect: below -1px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(90%, transparent), to(rgba(250, 250, 250, .2)));
    box-shadow: 0 0 10px #ccc;
}
img.shadow {
    box-shadow: 0 0 10px #ccc;
}
.ts-card-footer-box-shadow {
box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
}
.grayscale {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  opacity: 0.7; 
}
.grayscale:hover {
  filter: none;
  -webkit-filter: none;
  opacity: 1;
}

/* Icons */
.fa-small:before { font-size: 8px !important; }
.fa-large { font-size: 1.5rem !important; }
.fa-xl { font-size: 2rem !important; }
.fa-solid.fa-magnifying-glass.text-white::before { color: #fff !important; }
.icon-tap-target {
    min-width: 48px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none; 
}
.icon-tap-target i { font-size: 16px; }

/* Number Counter */
@property --num {
  syntax: "<integer>";
  initial-value: 0;
  inherits: false;
}
div.number-count::before {
  counter-reset: my-counter var(--num);
  content: counter(my-counter);
  animation: count 10s linear infinite; 
}
@keyframes count {
  0% { --num: 0; }
  60% { --num: 66; }  
  100% { --num: 66; } 
}
div.number-count {
  display: grid;
  place-items: center;
  min-height: 100px;
  padding: 20px;
  font: 600 5rem/1 'Inter', sans-serif;
}
.counter-wrapper .counter {
  font-variant-numeric: tabular-nums; 
  display: inline-block; 
  text-align: right; 
}

/* Animations & Structural Classes */
.fade-wrapper {
  opacity: 0;
  transform: translateY(0px); 
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}
.fade-wrapper.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.ts-mh-36 { min-height: 36px; }
.top-button {
    right: 20px !important;
    bottom: 20px !important;
}

/* =========================================
   05. BUTTONS
   ========================================= */
/* NOTE: Button :focus states might be required for full WCAG compliance */
.btn-primary {
    color: #fff !important;
    border: none;
    padding: 14px 25px;
    font-weight: 600;
    background: linear-gradient(0deg, #00496d 0%, #006C9B 100%);
}
.btn-primary:hover {
    background: linear-gradient(0deg, #00496d 0%, #00496d 100%);
}

.btn-light {
    color: #fff !important;
    border: none;
    padding: 14px 25px;
    font-weight: 600;
    background: linear-gradient(0deg, #fff 0%, #fff 100%);
}
.btn-light:hover {
    background: linear-gradient(0deg, #ffffffd3 0%, #ffffffd3 100%);
}

.btn-outline-primary {
    --bs-btn-color: #143276;
    --bs-btn-border-color: #143276;
    --bs-btn-hover-color: #1b4098;
    --bs-btn-hover-bg: #eeeeee;
    --bs-btn-hover-border-color: #1b4098;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #eeeeee;
    --bs-btn-active-bg: #eeeeee;
    --bs-btn-active-border-color: #1b4098;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #1b4098;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #1b4098;
    --bs-gradient: none;
    color: #143276 !important;
    padding: 14px 25px;
}

.btn-outline-light {
    border: none !important;
    padding: 14px 25px !important;
    font-weight: 600 !important;
    outline: 2px solid #FFF;
    outline-offset: 6px;
    color: #fff !important;
}
.btn-outline-light:hover {
    outline: 2px solid #d5d5d5;
    color: #d5d5d5 !important;
    background-color: transparent !important;
}

.btn-outline-dark {
    border: none !important;
    padding: 14px 25px !important;
    font-weight: 600 !important;
    outline: 2px solid #006c9b;
    outline-offset: 6px;
    color: #006c9b !important;
}
.btn-outline-dark-sm {
    border: none !important;
    font-weight: 600 !important;
    outline: 2px solid #006c9b;
    outline-offset: 6px;
    color: #006c9b !important;
}
.btn-outline-dark:hover {
    outline: 2px solid #004461;
    color: #004461 !important;
    background-color: transparent !important;
}

.btn-dark {
    background-color: #121933;
    border-color: #121933;
}
.btn-dark:hover {
    background-color: #253469;
    border-color: #253469;
}

.btn-dark-80-trans {
    background-color: #121933cc;
    border-color: #121933cc;
}
.btn-dark-80-trans:hover {
    background-color: #253469;
    border-color: #253469;
}

.btn-ts-primary {
    background-color: var(--ts-blue);
    color: #fff;
    border: none;
    padding: 14px 25px;
    font-weight: 600;
    background: linear-gradient(0deg, #24BDFF 0%, var(--ts-blue) 100%);
}
.btn-ts-primary:hover {
    background-color: #007ba8;
    color: #fff;
}

.guided-quiz-trigger-btn {
 border-radius: 0.375rem;
 font-size: 1rem;
}

.btn-ts-secondary, .guided-quiz-trigger-btn {
    border: none !important;
    padding: 14px 25px !important;
    font-weight: 600 !important;
    outline: 2px solid #24BDFF;
    outline-offset: 6px;
    background: linear-gradient(0deg, #24BDFF 0%, #9fe0fc 100%);
}
.btn-ts-secondary:hover, .guided-quiz-trigger-btn:hover {
    background: linear-gradient(0deg, #24BDFF 0%, #24BDFF 100%);
}

.nav-pills .nav-link.active.btn-dark-navy {
    background-color: #081126 !important;
    color: #fff !important;
}
.nav-pills .nav-link.active.btn-dark-navy span {
    color: #fff !important;
}
.nav-pills .nav-link.active.btn-dark-navy:hover {
    background-color: #172f68;
}

/* =========================================
   06. HEADER & NAVIGATION (Base)
   ========================================= */
#masthead {
    padding: 0;
    border-bottom: 1px solid #e5e5e5;
    background: white;
}
.dropdown-menu, 
.dropdown-item {
    font-size: 14px !important;
    --bs-dropdown-font-size: 14px;
}
#home-search {
    min-width: 250px;
}
.ts-mega-menu, .ts-simple-menu {
    border-top: 3px solid #006C9B !important;
    border-radius: 0 0 8px 8px;
    margin-top: 0;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.ts-menu-link, .dropdown-item {
    text-decoration: none;
    color: #081126;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    border-style: solid;
    border-width: 0px 0px 1px 0px;
    border-color: #B1B3C566;
    border-radius: 0px;
    transition: all 0.2s;
}
.sub-menu-padding {
    padding-top: .75rem !important;
    padding-bottom: .75rem !important;
}
.ts-menu-link {
    font-weight: 400;
    padding: 8px 0;
}
li:last-child > .ts-menu-link,
li:last-child > .dropdown-item {
    border-bottom: 0 none;
}
.ts-menu-link:hover, 
.dropdown-item:hover, 
.dropdown-item:focus {
    color: #006C9B !important;
    text-decoration: none !important;
    background-color: transparent;
}
.ts-simple-menu .dropdown-item:hover {
    background-color: #f8f9fa;
}
.ts-menu-link::after, 
.ts-simple-menu .dropdown-item::after {
    content: "\f061"; /* FA Arrow Right */
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 12px;
    margin-left: 10px;
    opacity: 1;
    color: inherit;
    transition: all 0.2s;
}
.ts-menu-link::after:hover, .ts-simple-menu .dropdown-item::after:hover {
    color: #18a0da !important;
}
.ts-menu-link::after, .ts-simple-menu .dropdown-item::after {
    color: #006C9B !important;
}

/* Custom Class: External Link Arrow (Desktop) */
.new-tab-arrow li .ts-menu-link::after, 
.new-tab-arrow li .dropdown-item::after,
.new-tab-arrow li .ts-simple-menu .dropdown-item::after,
.new-tab-arrow a.dropdown-item::after {
    content: "\f08e"; /* FA External Link Icon */
    font-family: "Font Awesome 7 Free";
}

/* Mobile Nav Dropdown Element (Moved Base Styles Here) */
.ts-mobile-select {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    border-radius: 8px;
    padding: 12px 40px 12px 15px;
    background-color: #F5F7F9;
    color: #081126;
    appearance: none;
    -webkit-appearance: none;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23081126%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 16px;
    border: 1px solid #dee2e6;
    width: 100%;
    cursor: pointer;
}

/* =========================================
   07. COMPONENTS 
   ========================================= */

/* Hero Section */
.hero-section {
    background: #0b1c3e;
    position: relative;
    min-height: 600px;
    display: flex;
    align-items: center;
}
.hero-overlay {
    background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 100%);
    position: absolute;
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%;
    z-index: 0; 
}

/* Bottom CTA */
.bottom-cta-wave {
    position: relative;
    background-color: var(--ts-dark-blue); 
    overflow: hidden;
}
.bottom-cta-wave::before {
    content: "";
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: url('/wp-content/uploads/2024/06/Wave-01-CTA.svg');
    background-size: cover;
    opacity: 0.5; 
    z-index: 0; 
}
.bottom-cta-wave > * {
    position: relative;
    z-index: 1;
}

/* Logo Grid Styling */
.logo-img {
    max-height: 60px; 
    max-width: 100%;
    width: auto;      
    object-fit: contain;
}
.row.ts-company-logos {
    --bs-gutter-x: 2rem !important ;
    --bs-gutter-y: 3rem !important;
}

/* Cards Hover Effect */
.card-hover-effect {
    border-color: #C8D8FF;
    height: 100%;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.card-hover-effect .card-body {
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

/* Workflow Card (Performance & CLS) */
.workflow-card .icon-wrapper {
    min-height: 120px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform 0.2s;
}
.workflow-card .icon-wrapper:hover {
    transform: translateY(-3px);
}
.icon-square-shape {
    width: 64px !important;
    height: 64px !important;
    aspect-ratio: 1 / 1 !important;
    display: block;
    margin-bottom: 10px;
}
.pro-logo-container img {
    width: auto !important;      
    height: 60px !important;    
    max-width: 280px !important; 
    aspect-ratio: auto !important; 
    display: block;
}

/* Feature Tabs Section */
.nav-pills-custom .nav-link {
    color: var(--ts-text-grey);
    background: transparent;
    border: none;
    text-align: center;
    padding: 20px 10px;
    opacity: 0.7;
}
.nav-pills-custom .nav-link.active {
    background: transparent;
    color: var(--ts-blue);
    opacity: 1;
    border-bottom: 3px solid var(--ts-blue);
    border-radius: 0;
}
.nav-pills-custom img.icon-default { display: block; margin: 0 auto 10px; height: 40px; }

/* Product Tabs */
.product-tabs {
    display: flex;
    flex-wrap: nowrap;
}
.product-tabs .nav-link {
    color: #006C9B;
    padding: 1rem;
    transition: all 0.3s ease;
    border: 1px solid #dee2e6;
}
.product-tabs .nav-link:hover {
    color: #18a0da;
    background-color: #E5F7FF;
}
.product-tabs .nav-link.active {
    background: linear-gradient(0deg, #00496d 0%, #006C9B 100%);
    color: #ffffff !important;
    font-weight: 600;
}
#tsProductTabContent {
    border: 1px solid #dee2e6;
    border-radius: 0 0 0.375rem 0.375rem;
}
.nav-pills .nav-link {
    background: transparent;
    transition: all 0.2s;
}
.nav-pills .nav-link:hover {
    color: #143276 !important;
    background-color: rgba(255,255,255,0.1);
}
.nav-pills .nav-link.active {
    background-color: #006C9B !important;
}

/* We Know Media (Dark Section) */
.vertical-tabs .nav-link {
    color: #fff;
    text-align: left;
    border-left: 3px solid transparent;
    padding: 20px;
    background: transparent;
    opacity: 0.6;
}
.vertical-tabs .nav-link.active {
    background: rgba(255,255,255,0.05);
    border-left: 3px solid var(--ts-blue);
    opacity: 1;
}
.grid-buttons .btn {
    background: rgba(255,255,255,0.1);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.2);
    text-align: left;
    margin-bottom: 10px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.grid-buttons .btn:hover {
    background: var(--ts-blue);
    border-color: var(--ts-blue);
}
#media-pills-tab .nav-link {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important; 
    outline: none !important;
}
#media-pills-tab .nav-link:hover,
#media-pills-tab .nav-link:focus,
#media-pills-tab .nav-link.active {
    background-color: transparent !important;
    border: none !important;
}
#media-pills-tab .nav-link.active {
    color: #009bdf !important; 
    font-weight: 700;
    font-size: 17px;
    border-bottom: solid 3px #009bdf !important;
    border-radius: 0px !important;
}
.media-header-pills {
    font-size: 16px !important;
    letter-spacing: 1px;
}

/* Executive Page Cards */
img.ts-executive-img {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 275 / 380; /* full portrait headshots, matches .com */
    object-fit: cover;
    object-position: center top;
    border-radius: 8px 8px 8px 8px;
}
.ts-executive-title {
    font-weight: 600 !important;
    margin-bottom: 0;
    font-size: 20px !important;
    font-family: var(--bs-body-font-family) !important;
}
.modal-executive-img {
    width: 100%;
    max-width: 263.5px;
    height: auto;
    aspect-ratio: 275 / 380;
    object-fit: cover;
    object-position: center top;
    border-radius: 8px;
}

/* ESG Sidebar Navigation Styles */
nav#esg-navbar.esg-sidebar a.nav-link {
    color: #4a4a4a !important;
    border-left: 3px solid transparent !important; 
    padding: 0.75rem 1rem !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    background-color: transparent !important;
    border-radius: 0 !important; 
    transition: all 0.2s ease-in-out;
}
nav#esg-navbar.esg-sidebar a.nav-link:hover {
    color: #006c9b !important;
    background-color: #f8f9fa !important;
}
nav#esg-navbar.esg-sidebar a.nav-link.active {
    color: #081126 !important;
    border-left: 3px solid #006c9b !important; 
    font-weight: 700 !important;
    background-color: transparent !important;
}
.esg-icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background-color: #308ce8; 
    color: #ffffff;
    border-radius: 8px;
    margin-bottom: 1rem;
}
.esg-icon-box svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}
.esg-section {
    scroll-margin-top: 140px; 
    margin-bottom: 4rem;
}

/* Contact Page - Support & Partner Card */
.ts-contact-card {
    background-color: #0b1c3e; 
    background-image: url('/wp-content/uploads/2025/12/Wave5.svg'); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.ts-contact-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(180deg, rgba(11,28,62,0.6) 0%, rgba(11,28,62,0.9) 100%);
    z-index: 1;
}
.ts-contact-card .ts-contact-link {
    color: #AFE0F5; 
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color 0.2s ease-in-out;
}
.ts-contact-card .ts-contact-link:hover,
.ts-contact-card .ts-contact-link:focus {
    color: #ffffff;
}
.ts-contact-card p {
    color: #bee6f8 !important;
    font-size: 16px !important;
}
.ts-contact-card h3 {
    color: #99E0FF !important;
    font-size: 24px !important;
    font-family: var(--bs-body-font-family) !important;
    font-weight: 500 !important;
}

/* Telestream Left Border Nav */
.left-nav-title {
    font-weight: 600 !important;
    margin-bottom: 0;
    font-size: 20px !important;
    font-family: var(--bs-body-font-family) !important;
}
.ts-left-border-nav { gap: 0 !important; }
.ts-left-border-nav .nav-link {
    background: transparent !important;
    border: none;
    border-radius: 0;
    border-left: 3px solid #E5E7EB; 
    padding: 1.5rem 2rem;
    text-align: left;
    color: #111; 
    transition: all 0.2s ease-in-out;
}
.ts-left-border-nav .nav-link:hover { background-color: rgba(0,0,0,0.02) !important; }
.ts-left-border-nav .nav-link.active {
    background: transparent !important;
    color: #000 !important;
    border-left: 4px solid #009CDD; 
    padding-left: calc(2rem - 1px); 
}
.ts-left-border-nav .nav-link span.h5, .ts-click-to-view-text {
    font-weight: 600 !important;
    margin-bottom: 0;
    font-size: 20px !important;
    font-family: var(--bs-body-font-family) !important;
}
.ts-left-border-nav .nav-link p {
    margin-top: 0.75rem;
    margin-bottom: 0;
    color: #6c757d;
    line-height: 1.5;
}
.ts-left-border-nav .nav-link:not(.active) p { display: none; }

/* Decorative Triangle */
div#triangle-topright {
    right: 0px;
    position: absolute;
    z-index: 99;
    content: '';
    border-top: 185px solid #003c57;
    border-left: 385px solid transparent;
    top: 0px;
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, .5));
}
span.triangle-text {
    color: #FFF !important;
    font-size: 28px;
    line-height: 1.3em;
    text-align: right;
    position: absolute;
    top: -161px;
    right: 19px;
    width: 300px;
    font-weight: 300;
}

/* Telestream Options & Config Grids */
.ts-options-grid,
.ts-config-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 15px; 
}
.ts-options-grid .nav-link,
.ts-config-grid .nav-link {
    flex: 0 0 calc((100% - (11 * 15px)) / 12);
    max-width: calc((100% - (11 * 15px)) / 12);
    padding: 0;
    background-color: transparent;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}
.ts-options-grid .nav-link img,
.ts-config-grid .nav-link img {
    border-radius: 8px;
    transition: all 0.3s ease;
    filter: grayscale(1);
}
.ts-options-grid .nav-link:hover img,
.ts-options-grid .nav-link.active img,
.ts-config-grid .nav-link:hover img,
.ts-config-grid .nav-link.active img {
    filter: grayscale(0);
}

/* Company Terms Nav */
.company-nav-link {
    font-family: 'Inter', sans-serif;
    font-size: 14px !important;
    padding: 8px 0;
    transition: color 0.3s ease;
}
li.company-nav-item {
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
}
.terms-sections .navbar-toggler:focus {
    box-shadow: none !important;
}
.terms-section a { color: #006c9b !important; }
.terms-section a:hover { color: #209dd3 !important; }
.terms-section ul { list-style-type: square; }
.terms-section ul li::marker { color: #009bdf !important; font-size: 20px; }
.terms-section ul li { margin-bottom: 10px; }

/* GDPR Form */
.panel-primary>.panel-heading {
    color: #fff !important;
    background-color: #006c9b !important;
    border-color: #006c9b !important;
}
.panel-heading {
    padding: 10px 15px !important;
    border-bottom: 1px solid transparent !important;
    border-top-left-radius: 3px !important;
    border-top-right-radius: 3px !important;
}
body.page-id-4323 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#inject_placeholder .body-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Jobs / WHR */
ul.whr-items {
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 -15px !important; 
    text-align: left !important;
}
li.whr-item {
    flex: 0 0 50% !important; 
    max-width: 50% !important;
    padding: 15px !important;
    box-sizing: border-box !important;
}
.whr-title {
    font-size: 18px !important;
    margin-bottom: 10px !important;
    font-weight: 700 !important;
    color: #006c9b !important;
}
.whr-title a { color: #006c9b !important; }
.whr-title a:hover { color: #46a3f3 !important; }
ul.whr-info {
    list-style: none !important;
    padding: 0 !important;
    font-size: 16px !important;
    color: #6c757d !important; 
}

/* Product Support Page Custom Card */
.custom-support-card {
    border: 1px solid #d4dce3 !important; 
}
.custom-support-card .card-header {
    background-color: #64748D !important; 
    border-bottom: none;
}
.ts-number-list {
    list-style: none;
    counter-reset: ts-counter; 
}
.ts-number-list > li {
    counter-increment: ts-counter; 
    position: relative;
}
.ts-number-list > li::before {
    content: counter(ts-counter); 
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    min-width: 32px; 
    background-color: #5a6e83; 
    color: #ffffff;
    border-radius: 50%;
    font-weight: bold;
    font-size: 16px;
    margin-top: 2px; 
}
.ts-support-link-list li {
    margin-left: 10px;
    margin-bottom: 5px;
    font-size: 13px !important;
}
.ts-support-links {
    font-size: 14px;
}
.support-page-cards .product-item .list-unstyled a {
    display: block;          
    white-space: nowrap;     
    overflow: hidden;        
    text-overflow: ellipsis; 
    max-width: 100%;         
}

/* Support Page Product Filter Transitions */
.product-item { transition: opacity 0.3s ease; }
#product-select { cursor: pointer; border-color: #004a99; }
#product-select:focus { box-shadow: 0 0 0 0.25rem rgba(0, 74, 153, 0.25); border-color: #004a99; outline: none; }

/* =========================================
   08. FOOTER
   ========================================= */
#footer {
    box-shadow: 0 4px 16px rgba(0, 0, 0, .15);
}
#footer .footer-headers {
    font-size: 18px;
    margin-bottom: 20px;
    color: #006c9b !important; 
}
.footer-links li {
    margin-bottom: 0; 
}
.footer-links a {
    display: block;             
    padding-top: 12px;          
    padding-bottom: 12px;       
    line-height: 1.2;           
    color: #212529;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s ease;
}
.footer-links a:hover {
    color: #006c9b !important;
    background-color: rgba(0,0,0,0.02); 
    border-radius: 4px;
}
.social-links a {
    font-size: 15px;
    transition: color 0.2s ease;
}
.social-links a:hover {
    color: #006c9b !important; 
}
.smart-footer-list li {
    margin-bottom: -20px !important; 
}
.smart-footer-list a {
    display: block;
    padding-top: 10px; 
    padding-bottom: 10px;
    line-height: 2;
    font-weight: 400;   
    font-size: 14px;
    color: #212529;
    text-decoration: none;
}
.smart-footer-list a:hover {
    color: #006c9b !important;
}

/* =========================================
   09. THIRD-PARTY & VIDEO OVERRIDES 
   ========================================= */

/* HTML5 Video */
video::-webkit-media-controls-panel {
    background-image: none !important;
    background-color: transparent !important;
}
video::-webkit-media-controls-start-playback-button {
    display: none !important;
    -webkit-appearance: none;
}
video {
    -webkit-filter: brightness(100%);
    filter: brightness(100%);
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
}
video[poster] { object-fit: cover; }

/* YouTube Lyte Alternative */
.lite-yt {
    background-position: center;
    background-size: cover;
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    cursor: pointer;
    background-color: #000;
}
.lite-yt iframe { width: 100%; height: 100%; position: absolute; }
.play-btn {
    width: 68px; height: 48px; background-color: #212121;
    z-index: 1; opacity: 0.8; border-radius: 12%; position: absolute;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
}
.play-btn:after {
    content: ""; border-style: solid; border-width: 11px 0 11px 22px;
    border-color: transparent transparent transparent #fff; position: absolute;
    top: 13px; left: 26px;
}

/* Google Translate */
.goog-te-banner-frame { display: none !important; }
.goog-te-banner-frame.skiptranslate, 
.goog-te-gadget-icon,
iframe.goog-te-menu-frame {
    display: none !important;
    visibility: hidden !important;
}
#google_translate_element { display: none !important; }
#masthead .ts-lang-menu .dropdown-item img, 
#masthead .ts-lang-btn img,
#masthead img.lang-flag {
    width: 20px !important; max-width: 20px !important; min-width: 20px !important;
    height: auto !important; display: inline-block !important; margin-right: 4px !important;
    padding: 0 !important; border: none !important; box-shadow: none !important;
}
#masthead .dropdown-menu .dropdown-item { font-size: 13px !important; line-height: 1.5 !important; }
#masthead .ts-lang-menu { max-height: 250px !important; overflow-y: auto !important; min-width: 180px !important; }
.ts-lang-menu .dropdown-item { display: flex !important; justify-content: flex-start !important; align-items: center !important; text-align: left !important; width: 100% !important; }
.ts-lang-menu img { width: 20px !important; margin-right: 10px !important; flex-shrink: 0 !important; }
#translate-ts-dropdown .dropdown-menu[data-bs-popper] { left: -60px !important; }
.ts-lang-btn { display: inline-flex !important; align-items: center !important; gap: 6px !important; white-space: nowrap !important; }

/* Cookiebot Widget */
#CookiebotWidget:after { content: 'Cookies'; font-size: 14px !important; font-family: 'Inter' !important; }
#CookiebotWidget { box-shadow: none !important; }
.CookiebotWidget-logo svg circle { box-shadow: 0 4px 16px rgba(0, 0, 0, .15); fill: #006C9B !important; color: #fff !important; }
.CookiebotWidget-logo svg g path { fill: #fff !important; }
#CybotCookiebotDialog { border-radius: 0px !important; }
.cky-consent-container.cky-box-bottom-left { display: none !important; }

/* Hide Cookiebot Branding */
a#CybotCookiebotDialogPoweredbyCybot,
div#CybotCookiebotDialogPoweredByText, 
#CookiebotWidget .CookiebotWidget-body .CookiebotWidget-main-logo, 
.CookiebotWidget-main-logo,
#CybotCookiebotDialogHeader, 
.CybotCookiebotDialogBodyContentHeading { display: none !important; }

#CybotCookiebotDialog, #CybotCookiebotDialogBodyUnderlay, #CybotCookiebotDialog *, #CybotCookiebotDialogBodyUnderlay * {
    font-size: 13px !important; line-height: 17px !important; font-family: 'Inter' !important;
}
#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton { border: 2px solid #006C9B !important; }
#CookiebotWidget #CookiebotWidget-buttons #CookiebotWidget-btn-withdraw { border-color: #006C9B !important; }

/* Cookiebot Buttons & Links */
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonAccept, 
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonAccept, 
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll, 
#CookiebotWidget .CookiebotWidget-consent-details.button, 
#CookiebotWidget #CookiebotWidget-buttons #CookiebotWidget-btn-change {
    background-color: #006C9B !important; border-color: #006C9B !important; color: #ffffff !important;
}
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize, 
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
    background-color: transparent !important; border: 2px solid #006C9B !important; padding: 1em !important;
}
#CybotCookiebotDialog #CybotCookiebotDialogBodyContentText a, 
#CybotCookiebotDialog #CybotCookiebotDialogDetailFooter a, 
#CybotCookiebotDialog #CybotCookiebotDialogDetailBulkConsentList dt a, 
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonIABDescription a, 
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieLink, 
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonIABHeaderViewPartnersLink, 
#CybotCookiebotDialogDetailBodyContentTextAbout a, 
#CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a, 
#CookiebotWidget .CookiebotWidget-consent-details button { color: #006C9B !important; }

#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
    border-color: transparent !important; border-bottom: 1px solid #006C9B !important; color: #006C9B !important;
}
#CookiebotWidget .CookiebotWidget-body .CookiebotWidget-consents-list li.CookiebotWidget-approved svg { fill: #006C9B !important; }
#CybotCookiebotDialog.CybotEdge .CybotCookiebotDialogBodyBottomWrapper { display: none !important; }
.CybotCookiebotDialogBodyLevelButtonSliderWrapper input.CybotCookiebotDialogBodyLevelConsentCheckbox:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
  background-color: #006C9B !important;
}
/* Locked toggle (Necessary) - match brand color */
#CybotCookiebotDialog input:checked:disabled + .CybotCookiebotDialogBodyLevelButtonSlider,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSliderWrapperDisabled input:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
  background-color: #006C9B !important;
}

/* Filter Bar Styling */
.wc-filter-bar { 
    border-radius: 10px; 
    position: relative; /* Required for z-index to work */
    z-index: 1050;      /* Forces the entire bar (and its dropdowns) above the cards */
}


/* =========================================
   10. MEDIA QUERIES
   Organized by Min-Width first, then Max-Width 
   to preserve the proper cascade hierarchy.
   ========================================= */

/* --- Min-Width Queries (Mobile First approach parts) --- */

@media (min-width: 768px) {
    .hide-border-sm { border-bottom: none !important; }
    
    .company-nav-link { position: relative; }
    .company-nav-link::after {
        content: ''; position: absolute; width: 0; height: 2px;
        display: block; margin-top: 5px; right: 0; background: #009BDF;
        transition: width 0.3s ease; -webkit-transition: width 0.3s ease;
    }
    .company-nav-link:hover::after { width: 100%; left: 0; background: #009BDF; }
    #home-search { min-width: 350px; }
}

@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 1150px; }
    
    #mobile-toggler, .offcanvas.d-xl-none { display: none !important; }
    #desktop-nav, #desktop-actions { display: flex !important; }
    .nav-item.dropdown ul.dropdown-menu li { min-width: 260px; }
    
    .navbar-nav .nav-link { font-size: 14px; color: #1a1a1a; padding-top: 25px; padding-bottom: 25px; font-weight: 500; }
    .navbar-nav .nav-link:hover { color: #006C9B !important; }
    .navbar-nav .dropdown-toggle::after {
        vertical-align: 0.1em; margin-left: 0.4em; content: "\f107"; font-family: "Font Awesome 7 Free";
        font-weight: 900; border: none; font-size: 12px; color: #006C9B !important;
    }
    .container-80 { width: 80% !important; margin-left:auto !important; margin-right:auto !important; }
    
    .support-page-cards .ts-col-border { border-right: 1px solid #e9ecef; }
}

@media screen and (min-width: 1280px) {
    .CybotEdge #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton { width: 200px !important; max-width: none !important; }
    .CybotEdge #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonsWrapper { display: block !important; }
    .CybotEdge #CybotCookiebotDialogBodyButtonsWrapper button { width: 192px !important; margin-left: 4px !important; max-width: none !important; }
    .CybotEdge .CybotCookiebotDialogBodyBottomWrapper { margin-top: 5px !important; }
    #CybotCookiebotDialog.CybotEdge { padding: 15px 24px 10px 5px !important; }
    .CybotEdge #CybotCookiebotDialogBodyButtons { width: 400px !important; max-width: 400px !important; }
    .CybotEdge #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll.CybotCookiebotDialogBodyButton, 
    #CybotCookiebotDialogBodyLevelButtonCustomize.CybotCookiebotDialogBodyButton, 
    #CybotCookiebotDialogBodyButtonDecline.CybotCookiebotDialogBodyButton {
        border: 2px solid #006C9B !important; display: inline-block !important; padding: 1em !important;
    }
}

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

@media screen and (min-width: 1530px) {
    #translate-ts-dropdown .dropdown-menu[data-bs-popper] { left: 0px !important; }
}


/* --- Max-Width Queries (Desktop First approach parts) --- */

@media (max-width: 1279px) {
    #CybotCookiebotDialog { border-radius: 0px !important; left: auto !important; bottom: 0px !important; top: auto !important; transform: none !important; max-width: 100% !important; min-width: 100% !important; }
    #CybotCookiebotDialogBodyContent { padding: 10px !important; }
}

@media (max-width: 1199px) {
    #mobile-toggler { display: block !important; }
    #desktop-nav { display: none !important; }
    #desktop-actions { display: flex !important; align-items: center; gap: 15px; }
    #desktop-actions .fa-magnifying-glass, #desktop-actions .fa-user { color: #006c9b !important; }
    .offcanvas-body { padding: 0 !important; }
    .mobile-nav-links .nav-link {
        font-size: 16px !important; font-weight: 400 !important; color: #081126 !important; background: transparent;
        border-bottom: 1px solid #e5e5e5; text-align: left; width: 100%; display: flex; justify-content: space-between; align-items: center;
    }
    .product-header-menu { background-color:#102044; color: #fff !important; padding: 0.25rem 0.5rem 0.25rem 0.5rem !important; }
    .mobile-nav-links button:focus { outline: none; box-shadow: none; }
    .mobile-nav-links .transition-icon { transition: transform 0.3s ease; color: #006C9B; }
    .mobile-nav-links .nav-link[aria-expanded="true"] .transition-icon { transform: rotate(90deg); }
    .mobile-nav-links .dropdown-item {
        color: #555 !important; border-bottom: 1px solid #f0f0f0; padding: 10px 10px 10px 15px !important; 
        transition: none !important; display: flex; justify-content: space-between; align-items: center;
    }
    .mobile-nav-links .collapse .dropdown-item::after {
        content: "\f061"; font-family: "Font Awesome 7 Free"; font-weight: 900; font-size: 12px; margin-left: 10px; color: #006C9B;
    }
    .mobile-nav-links .new-tab-arrow .dropdown-item::after,
    .mobile-nav-links .collapse .dropdown-item.new-tab-arrow::after { content: "\f08e" !important; }
    .mobile-nav-links .collapse li:last-child .dropdown-item { border-bottom: none !important; }
    
    #mobile-tab-select, #ts-mobile-select-dropdown {
        background-color: #f8f9fa; border: 1px solid #dee2e6; padding: 15px; font-weight: 600; color: #333; border-radius: 4px;
    }
    #mobile-tab-select:focus, #ts-mobile-select-dropdown:focus {
        border-color: #009bdf; box-shadow: 0 0 0 0.25rem rgba(0, 155, 223, 0.25);
    }
    
    .ts-options-grid .nav-link, .ts-config-grid .nav-link {
        flex: 0 0 calc((100% - (7 * 15px)) / 8); max-width: calc((100% - (7 * 15px)) / 8);
    }
    .support-page-cards .ts-col-border { border-bottom: 1px solid #e9ecef; padding-bottom: 1.5rem; }
}

@media (max-width: 991px) {
    .product-tabs { flex-direction: column; border-bottom: none !important; }
    .product-tabs .nav-item { width: 100%; margin-bottom: 5px; }
    .product-tabs .nav-link { border: 1px solid #dee2e6 !important; border-radius: 4px !important; text-align: center; padding: 11px; }
    .product-tabs .nav-link.active { border-color: #081126 !important; }
}

@media (max-width: 768px) {
    li.whr-item { flex: 0 0 100% !important; max-width: 100% !important; }
}

@media (max-width: 767.98px) {
    .w-sm-only-75 { width: 75% !important; }
}

@media (max-width: 767px) {
    .ts-options-grid .nav-link, .ts-config-grid .nav-link {
        flex: 0 0 calc((100% - (3 * 10px)) / 4); max-width: calc((100% - (3 * 10px)) / 4);
    }
    .ts-options-grid, .ts-config-grid { gap: 10px; }
    
    .company-nav-link { padding: 10px 15px; border-radius: 4px; }
    .company-nav-link:hover { color: #003c57 !important; }
}

@media (max-width: 600px) {
    #CybotCookiebotDialog { max-width: 100% !important; min-width: 100% !important; max-height: calc(100% - 50px)!important; }
    #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll, 
    #CybotCookiebotDialogBodyLevelButtonCustomize, 
    #CybotCookiebotDialogBodyButtonDecline, 
    #CybotCookiebotDialogDetailBody #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection.CybotCookiebotDialogBodyButton {
        font-size: 12px !important; line-height: 5px !important;
    }
    #CybotCookiebotDialog, #CybotCookiebotDialogBodyUnderlay, #CybotCookiebotDialog *, #CybotCookiebotDialogBodyUnderlay * {
        font-size: 12px !important; line-height: 15px !important; font-family: 'Inter' !important;
    }
    #CybotCookiebotDialogBody .CybotCookiebotScrollContainer { max-height: 10em !important; }
}

@media (max-width: 575px) {
    .navbar-brand img { width: 110px !important; height: auto !important; }
    #desktop-actions .dropdown-toggle::after { display: none !important; }
    h2, h3, h4, h5, h6, .h2, .h3, .h4, .h5, .h6 { font-size: 30px !important; }
    h1, .h1 { font-size: 36px !important; }
    div#triangle-topright { border-top: 150px solid #003c57 !important; border-left: 300px solid transparent !important; }
    span.triangle-text { font-size: 20px !important; line-height: 1em !important; top: -121px !important; width: 200px !important; }
}




/* Remove pill styling and fix active states for the custom look */
.ts-mega-menu .nav-pills .nav-link {
    opacity: 0.8;
}
.ts-mega-menu .nav-pills .nav-link:hover {
    opacity: 1;
}

/* LEFT PANEL */
.ts-left-panel .nav-link.active {
    background-color: transparent !important; 
    color: #fff !important;
    font-weight: 600;
    opacity: 1;
}

/* MIDDLE PANEL */
.ts-middle-panel .nav-link.active {
    background-color: #e5ecf4 !important; /* The darker blue/gray active state */
    color: #000 !important;
    font-weight: 500;
}
/* GDPR form (itwebapi embed) checkbox alignment */
#GDPRForm .checkbox label::before,
#GDPRForm .checkbox label::after {
    top: 4px;
}
#GDPRForm .checkbox label::after {
    width: 17px;
    height: 17px;
    padding: 0;
    line-height: 17px;
    text-align: center;
}


/* Product support pages (e.g. /support/pulse-support/) – copied from telestream.com child theme */
#product-support-page {
  background: #fff;
  position: relative;
  z-index: 1;
}

/* ---------------------------------------------------------
   1. PAGE TITLE
   --------------------------------------------------------- */
#product-support-page .support-page-title {
  font-family: 'Manrope', sans-serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.2;
  color: #081126;
}
@media (max-width: 576px) {
  #product-support-page .support-page-title { font-size: 32px; }
}

/* ---------------------------------------------------------
   2. BUTTONS
   --------------------------------------------------------- */
#product-support-page .support-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: 8px;
  padding: 12px 24px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
  cursor: pointer;
}
#product-support-page .support-btn-primary {
  background: #006C9B;
  border-color: #006C9B;
  color: #fff;
}
#product-support-page .support-btn-primary:hover,
#product-support-page .support-btn-primary:focus {
  background: #00567c;
  border-color: #00567c;
  color: #fff;
}
#product-support-page .support-btn-outline {
  background: transparent;
  border-color: #006C9B;
  color: #006C9B;
}
#product-support-page .support-btn-outline:hover,
#product-support-page .support-btn-outline:focus {
  background: #006C9B;
  border-color: #006C9B;
  color: #fff;
}
#product-support-page .support-btn-sm {
  padding: 8px 18px;
  font-size: 14px;
  width: 100%;
}
#product-support-page .support-btn-block {
  width: 100%;
}

/* =========================================================
   3. SUPPORT TABS
   ========================================================= */
#product-support-page .support-tabs {
  border-bottom: none;
}
#product-support-page .support-tabs .nav-link {
  height: 100% !important;
  border: 1px solid #ced4da !important;
  border-radius: 10px 10px 0 0 !important;
  background: transparent !important;
  color: #495057 !important;
  font-family: 'Inter', sans-serif;
  font-size: 14px !important;
}
@media (hover: hover) {
  #product-support-page .support-tabs .nav-link:hover {
    background: #e9ecef !important;
    color: #006C9B !important;
  }
}
#product-support-page .support-tabs .nav-link.active {
  background: #fff !important;
  color: #006C9B !important;
  border-color: #ced4da !important;
  box-shadow: inset 0 -3px 0 #006C9B !important;
}

/* Phones: topic picker */
#product-support-page #supportTabSelect {
  font-family: 'Inter', sans-serif;
  color: #006C9B;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(8, 17, 38, .06);
}
#product-support-page #supportTabSelect:focus {
  border-color: #006C9B;
  box-shadow: 0 0 0 .2rem rgba(0, 108, 155, .2);
}

#product-support-page .support-tabs-wrap {
  position: relative;
  z-index: 2;
  margin-top: -48px;
}
@media (min-width: 768px) {
  #product-support-page .support-tabs-wrap { margin-top: -69px; }
}
@media (min-width: 1400px) {
  #product-support-page .support-tabs-wrap { margin-top: -65px; }
}

@media (min-width: 768px) and (max-width: 1399.98px) {
  #product-support-page .nav-tabs.support-tabs {
    position: relative;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 4px 0;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    -webkit-mask-image: linear-gradient(to right, #000 88%, transparent);
            mask-image: linear-gradient(to right, #000 88%, transparent);
  }
  #product-support-page .support-tabs::-webkit-scrollbar { display: none; }
  #product-support-page .support-tabs .nav-item {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
  #product-support-page .support-tabs .nav-link {
    white-space: nowrap;
  }
}

#product-support-page .support-tabs.is-scrolled-end {
  -webkit-mask-image: none;
          mask-image: none;
}

/* =========================================================
   4. RELEASE / DOWNLOAD ACTION BUTTONS
   ========================================================= */
#product-support-page .support-release-action {
  width: 100%;
  text-align: center !important;
}

/* =========================================================
   5. STANDARD TEXT LINKS
   ========================================================= */
#product-support-page a:not(.support-btn):not(.nav-link) {
  color: #006C9B;
}
#product-support-page a:not(.support-btn):not(.nav-link):hover {
  color: #00567c;
  text-decoration: underline;
}

/* Product support pages: beat the site-wide `a, span { color: … !important }` rule */
#product-support-page .support-btn-primary,
#product-support-page .support-btn-primary span,
#product-support-page .support-btn-primary i,
#product-support-page .support-btn-primary em,
#product-support-page .support-btn-outline:hover,
#product-support-page .support-btn-outline:hover span,
#product-support-page .support-btn-outline:hover i,
#product-support-page .support-btn-outline:hover em,
#product-support-page .support-btn-outline:focus,
#product-support-page .support-btn-outline:focus span {
  color: #fff !important;
}
#product-support-page .support-btn-outline,
#product-support-page .support-btn-outline span,
#product-support-page .support-btn-outline i,
#product-support-page .support-btn-outline em {
  color: #006C9B !important;
}
#product-support-page a:not(.support-btn):not(.nav-link),
#product-support-page a:not(.support-btn):not(.nav-link) span {
  color: #006C9B !important;
}
#product-support-page a:not(.support-btn):not(.nav-link):hover,
#product-support-page a:not(.support-btn):not(.nav-link):hover span {
  color: #00567c !important;
}

/* Phones/tablets: g-5 rows are 12px wider than their container – tighten gutter so nothing overflows */
@media (max-width: 991.98px) {
  .row.g-5 { --bs-gutter-x: 1.5rem; }
}
