/*
Theme Name: OceanWP Child
Theme URI: https://oceanwp.org/
Description: OceanWP WordPress theme example child theme.
Author: Quest
Author URI: https://quest.com/
Template: oceanwp
Version: 2.0.0

================================================================================
TABLE OF CONTENTS
================================================================================
1. BASE / GLOBAL STYLES
2. MATERIAL SYMBOLS SETUP
3. HEADER AREA (TOP-BAR / HEAD-V3 / SITE-HEADER)
4. NAVIGATION (TIER 1, TIER 2, MOBILE)
5. NEWSROOM GRID SYSTEM (NEW - v2.0.0) <<<< LOOK HERE FOR GRID FIX
6. HOMEPAGE FEATURED SECTIONS
7. CTA BOXES & BUTTONS
8. BLOG GRID (ARCHIVE/CATEGORY PAGES)
9. PROMO BOX SECTION
10. FOOTER
11. RESPONSIVE BREAKPOINTS
================================================================================
*/

/* Parent stylesheet should be loaded from functions.php not using @import */

/* =================================================================
   1. BASE / GLOBAL STYLES
   ===============================  ================================== */

/* 1.1 BODY & TYPOGRAPHY */
/* =================================================================
   1. BASE / GLOBAL STYLES - FIXED FOR ICON FONTS
   ================================================================= */

/* 1.1 BODY & TYPOGRAPHY */
html, body {
    font-family: "Nunito Sans", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings:
            "wdth" 100,
            "YTLC" 500;
}

/* Force all elements to inherit EXCEPT icon fonts */
* {
    scroll-behavior: smooth;
}
/* Remove tap highlight color on mobile */
* {
    -webkit-tap-highlight-color: transparent;
}

/* Or specifically for your footer */
#footer-v3.quest-footer-v3 * {
    -webkit-tap-highlight-color: transparent;
}


.centered {
    position: relative;
    text-align: center;
    margin: auto;
}

.visible-sm {
    display: none !important;
}

.visible-xs {
    display: none !important;
}

body.archive #wrap #main #content-wrap #content.site-content,
body.error404 #wrap #main #content-wrap #content.site-content,
body.search #wrap #main #content-wrap #content.site-content{
    padding-bottom: 80px;
}


/* 1.3 LINKS & FOCUS STATES */
/* Remove all outlines with maximum specificity */
*:focus,
*:focus-visible,
*:focus-within,
body a:focus,
body button:focus,
body input:focus,
body select:focus,
body textarea:focus,
[tabindex]:focus {
    outline: none !important;
    outline-width: 0 !important;
    box-shadow: none !important;
}

/* =================================================================
   2. MATERIAL SYMBOLS SETUP
   ================================================================= */
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined' !important;
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

#wrap #main blockquote {
    font-size: 20px;
    font-style: normal;
    color: #14215C;
    border: none;
    padding: 0;

}

blockquote {
    position: relative;
}

blockquote::before {
    content: """;
}

blockquote::after {
    content: """;
}

.centered {
    position: relative;
    text-align: center;
    margin: auto;
}

/* 1.2 CONTAINER STYLES */
#wrap #main #content-wrap.container {
    width: 1440px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 50px !important;
}

body.archive #wrap #main #content-wrap #content.site-content,
body.error404 #wrap #main #content-wrap #content.site-content,
body.search #wrap #main #content-wrap #content.site-content{
    padding-bottom: 80px;
}

/* =================================================================
   HEADER AREA: TOP-BAR / HEAD-V3 / SITE-HEADER
   ================================================================= */
#wrap #head-v3.qst-marketing-header .container {
    width: 1440px !important;
    max-width: 100%;
    margin: 0 auto !important;
    padding: 0 50px !important;
    height: 127px !important;
}
/* ==== BASE SETUP / Z-INDEX HIERARCHY ==== */
#wpadminbar { z-index: 99999 !important; }
#top-bar-wrap {
    z-index: 1003 !important;
    position: relative !important;
    width: 100%;
}
#head-v3.qst-marketing-header {
    z-index: 1002 !important;
    position: relative !important;
    width: 100%;
    background: #fff;
    box-shadow: 1px -1px 12px #00000029;
    margin: 0;
    padding: 0;
}
#site-header {
    z-index: 1001 !important;
    position: relative !important;
}

/* VISIBILITY CONTROLS */
body:not(.quest-custom-menu-active) #head-v3 {
    display: none !important;
}

body.quest-custom-menu-active #head-v3 {
    display: block !important;
}

body.quest-custom-menu-active.quest-menu-replaced #site-header {
    display: none !important;
}

/* Headers flow */
body.has-topbar #top-bar-wrap {
    position: relative !important;
    top: auto !important;
}

/* STICKY HEADER SETUP */
#head-v3.qst-marketing-header,
#site-header {
    transition: all 0.3s ease;
}

/* When stuck */
#head-v3.qst-marketing-header.stuck,
#site-header.stuck {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    animation: slideDown 0.3s ease-out;
}

#site-header.stick-active,
#head-v3.stick-active {
    position: fixed !important;
    top: 0;
    width: 100%;
    z-index: 1004;
}

@keyframes slideDown {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

/* Admin bar adjustments */
body.admin-bar #head-v3.qst-marketing-header.stuck,
body.admin-bar #site-header.stuck,
body.admin-bar #site-header.stick-active,
body.admin-bar #head-v3.stick-active {
    top: 32px;
}

/* Admin bar adjustments for mobile */
@media (max-width: 782px) {
    body.admin-bar #head-v3.qst-marketing-header.stuck,
    body.admin-bar #site-header.stuck,
    body.admin-bar #site-header.stick-active,
    body.admin-bar #head-v3.stick-active {
        top: 46px;
    }
}

/* Hidden headers */
.header-hidden {
    display: none !important;
}

/* Mobile nav open state */
#hv3-bottom.mobile-nav-open nav {
    display: block !important;
    transform: translateX(0) !important;
}

/* ==== HEAD-V3 MARKETING HEADER ==== */
#head-v3.qst-marketing-header .container {
    position: relative;
    margin: 0 90px !important;
}

#head-v3.qst-marketing-header #hv3-bottom {
    display: block !important;
    /*justify-content: flex-start;
    align-items: flex-start;
    gap: 6rem;*/
}

/* Navigation wrapper */
#head-v3.qst-marketing-header .hv3-wrap {
    flex: 1;
    display: flex;
    justify-content: space-between;
}

/* ==== LOGO LEFT + TWO-ROW LAYOUT ==== */
/* Main header content container */
#head-v3.qst-marketing-header .header-content {
    display: flex;
    align-items: stretch;
    gap: 8rem;
    min-height: 107px;
}

/* Logo - Left side, spanning full height */
#head-v3.qst-marketing-header #logo {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 5px 0 20px;
    flex-shrink: 0;
}

#head-v3.qst-marketing-header #logo img {
    height: 50px;
    width: auto;
}

#head-v3.qst-marketing-header #logo.binarytree-logo img {
    width: 187px;
    height: auto;
}

/* Two-row content container */
#head-v3.qst-marketing-header .two-row-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Top Row - Utilities and CTA */
#head-v3.qst-marketing-header #utility-row {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    padding: 15px 0 0;
}

/* Utilities styling */
#head-v3.qst-marketing-header #utility-row .hv3-utility {
    display: flex;
    align-items: center;
    gap: 0;
    width: auto;
    margin: 0;
}

/* ==== HEAD CTA button styling ==== */
#head-v3.qst-marketing-header #utility-row .nav-cta {
    margin: 0;
    z-index: 999999;
}

#head-v3.qst-marketing-header .nav-cta .btn-v3-orange {
    background: #ff4e00;
    color: #000;
    padding: 5px 24px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    display: inline-block;
    text-transform: uppercase;
    transition: all 0.3s
    ease;
    /* vertical-align: middle; */
}
#head-v3.qst-marketing-header .nav-cta .btn-v3-orange:hover {
    background: #d83a04;
}

/* Bottom Row - Navigation */
#head-v3.qst-marketing-header #hv3-bottom.nav-row {
    padding: 0;
    display: flex;
    align-items: center;
}

/* Navigation wrapper adjustments for new layout */
#head-v3.qst-marketing-header .hv3-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

/* Remove default bottom container styles that might interfere */
#head-v3.qst-marketing-header #hv3-bottom {
    gap: 0;
}

/* Container padding adjustments */
#head-v3.qst-marketing-header .container {
    padding: 0 50px;
}

/* Sticky header adjustments for two-row layout */
#head-v3.qst-marketing-header.stick-active .header-content {
    min-height: 70px;
}

#head-v3.qst-marketing-header.stick-active #logo {
    padding: 10px 0;
}

#head-v3.qst-marketing-header.stick-active #logo img {
    height: 50px;
}

#head-v3.qst-marketing-header.stick-active #utility-row {
    padding: 10px 0 5px;
}

/* ==== NAVIGATION - TIER 1 ==== */
#head-v3.qst-marketing-header nav {
    margin: 0;
    display: inline-block;
}

#head-v3.qst-marketing-header .v3-tier-1 {
    float: left;
    color: #000;
    font-size: 20px;
    font-weight: normal;
    margin: 0;
    position: relative;
}

#head-v3.qst-marketing-header .v3-tier-1 > span {
    margin-right: 35px;
    border-bottom: 4px solid transparent;
    cursor: pointer;
    margin-bottom: 0;
    padding-bottom: 40px;
    line-height: 23px;
    position: relative;
    display: block;
    transition: all 0.3s ease;
}

#head-v3.qst-marketing-header .v3-tier-1.no-tier-2 > span {
    padding-top:6px;
}

#head-v3.qst-marketing-header .v3-tier-1:not(.no-tier-2) > span {
    display: inline-flex;
    align-items: center;
    position: relative;
}

/* Material Symbols dropdown arrow */
#head-v3.qst-marketing-header .v3-tier-1:not(.no-tier-2) > span::after {
    content: "\e313"; /* keyboard_arrow_down */
    font-family: 'Material Symbols Outlined';
    font-size: 12px;
    margin-left: 0;
    display: inline-block;
    vertical-align: middle;
    transition: transform 0.3s ease;
    position: relative;
    top: -5px;
    border: none;
    width: auto;
    height: auto;
}

/* Rotate arrow when open */
#head-v3.qst-marketing-header .v3-tier-1.open > span::after {
    transform: rotate(180deg);
}

#head-v3.qst-marketing-header .v3-tier-1 > span > a {
    color: #000;
    text-decoration: none;
    outline: none !important;
    border: none !important;
}

/* Active/Current/Hover states */
#head-v3.qst-marketing-header .v3-tier-1.current > span,
#head-v3.qst-marketing-header .v3-tier-1 > span:hover,
#head-v3.qst-marketing-header .v3-tier-1.open > span {
    color: #0a8cbf;
    border-bottom-color: #0a8cbf;
}

#head-v3.qst-marketing-header .v3-tier-1.current > span > a,
#head-v3.qst-marketing-header .v3-tier-1 > span:hover > a,
#head-v3.qst-marketing-header .v3-tier-1.open > span > a {
    color: #0a8cbf;
}

/* Sticky adjustments for tier-1 */
#head-v3.qst-marketing-header.stick-active .v3-tier-1 > span {
    padding-bottom: 20px;
}

/* ==== NAVIGATION - TIER 2 DROPDOWNS ==== */
#head-v3.qst-marketing-header .v3-tier-2.v3-drop-down {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    z-index: 999999;
    top: 100%;
    left: 0;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

#head-v3.qst-marketing-header .v3-tier-1.open .v3-tier-2.v3-drop-down,
#head-v3.qst-marketing-header .v3-tier-1:hover .v3-tier-2.v3-drop-down {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

#head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul {
    background-color: rgba(255,255,255,0.96);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    padding: 10px 0;
    list-style: none;
    width: 278px;
    margin: 0 0 0 -55px;
}

#head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul li {
    padding: 8px 54px;
    line-height: 1.2;
    transition: background-color 0.2s ease;
    position: relative;
}

#head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul li a {
    font-size: 16px;
    font-weight: 500;
    color: #000;
    text-decoration: none;
    display: block;
    outline: none !important;
    border: none !important;
    transition: all 0.3s ease;
}

/* Add arrow_forward icon on hover - positioned to the left */
#head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul li::before {
    content: ""; /* Empty by default */
    font-family: 'Material Symbols Outlined';
    font-size: 32px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: all 0.3s ease;
    color: #D7F20C;
}

/* Show icon on hover */
#head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul li:hover::before {
    content: "\e5c8"; /* arrow_forward */
    opacity: 1;
}

/* ==== NAVIGATION - TIER 3 NESTED DROPDOWNS ===== */
.v3-tier-3-drop {
    position: relative;
}

.v3-tier-3-drop .v3-tier-label {
    font-size: 16px;
    display: block;
    font-weight: 600;
    color: #000;
    cursor: pointer;
    position: relative;
    padding-right: 30px;
}

/* Material Symbols arrow for tier-3 */
.v3-tier-3-drop .v3-tier-label::after {
    content: "\e315"; /* chevron_right */
    font-family: 'Material Symbols Outlined';
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    color: #0a8cbf;
}

/* Remove old icomoon icon */
.v3-tier-3-drop .v3-tier-label .icomoon-icon {
    display: none;
}

/* Tier-3 dropdown */
.v3-tier-3-drop ul {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.96);
    left: 100%;
    top: -151px;
    width: 278px;
    padding: 10px 0 0 1px;
    margin: 0;
    list-style: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    z-index: 999999;
    transform: translateX(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.v3-tier-3-drop:hover ul,
.v3-tier-3-drop.hover ul {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
}

.v3-tier-3-drop ul li {
    padding: 8px 15px;
    transition: background-color 0.2s ease;
    position: relative;

}

.v3-tier-3-drop ul li:hover {
    background: #f5f5f5;
    padding-left: 35px;
}

.v3-tier-3-drop ul li a {
    display: block;
    color: #000;
    text-decoration: none;
    font-size: 14px;
    font-weight: normal;
    transition: all 0.3s ease;
}

/* Add arrow_forward icon for tier-3 items */
.v3-tier-3-drop ul li::before {
    content: "";
    font-family: 'Material Symbols Outlined';
    font-size: 32px;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: all 0.3s ease;
    color: #D7F20C;
}

.v3-tier-3-drop ul li:hover::before {
    content: "\e5c8"; /* arrow_forward */
    opacity: 1;
}

/* Optional: Smooth hover effect for tier-3 label */
.v3-tier-3-drop:hover .v3-tier-label::after {
    color: #0a8cbf;
    transform: translateY(-50%) translateX(3px);
}

/* ====  HV3-UTILITIES ==== */
.hv3-utility {
    display: flex;
    width: 160px;
    margin-right: 10px;
}

.hv3-utility .hv3-utility-icon-wrap {
    background: none;
    border: none;
    padding: 0;
    display: flex;
}

.hv3-utility svg {
    height: 20px;
    width: 20px;
    margin: 0 10px;
    flex: 0 0 20px;
    transition: 0.3s;
}

.hv3-utility .hv3-utility-icon-wrap:hover {
    cursor: pointer;
}

.hv3-utility .hv3-utility-icon-wrap:hover svg {
    fill: #0a8cbf;
}

.hv3-utility-drop {
    position: relative;
}

.hv3-utility-drop ul {
    position: absolute;
    z-index: 90;
    top: 100%;
    background: #fff;
    width: 220px;
    padding: 30px 0 10px;
    visibility: hidden;
    margin: 0;
    left: -115px
}

.hv3-utility-drop:hover ul {
    visibility: visible;
}

.hv3-utility-drop ul li {
    list-style-type: none;
    padding: 8px 15px;
    font-weight: bold;
}

.hv3-utility-drop ul li a {
    text-decoration: none;
    color: #000;
    font-weight: normal;
}

.hv3-utility-drop ul li a:hover {
    text-decoration: none;
    font-weight: 600;
}

.hv3-utility-drop ul.qst-hv3-no-hover li:hover {
    background: #fff;
}

#head-v3 .is-logged-in {
    display: none;
}

.hv3-logged-in-check {
    position: absolute;
    height: 14px;
    width: 14px;
    background-color: #3e831c;
    border-radius: 16px;
    line-height: 12px;
    top: 12px;
    left: 20px;
    z-index: 991;
}

.hv3-logged-in-check .icomoon-icon {
    color: #fff;
    font-size: 12px;
}

/* ==== MOBILE ELEMENTS & STYLES ==== */

/* Mobile elements hidden on desktop (above 1240px) */
@media (min-width: 1241px) {
    #head-v3.qst-marketing-header .mobile-menu-container,
    #head-v3.qst-marketing-header .menu-back,
    #head-v3.qst-marketing-header .menu-back-tier-2 {
        display: none;
    }
}

/* ==== MOBILE MEDIA QUERIES ==== */
@media (max-width: 1240px) {
    .visible-sm {
        display: block !important;
    }

    .visible-xs {
        display: block !important;
    }
    /* Mobile sticky positioning */
    body.admin-bar #head-v3.qst-marketing-header.stuck,
    body.admin-bar #site-header.stuck,
    body.admin-bar #head-v3.qst-marketing-header.stick-active,
    body.admin-bar #site-header.stick-active {
        top: 0;
    }

    /* Container adjustments */
    #wrap #head-v3.qst-marketing-header .container {
        width: 100%;
        padding: 0 20px !important;
        margin: 0 !important;
        height: 70px !important;
    }

    /* Mobile layout adjustments for two-row header */
    #head-v3.qst-marketing-header .header-content {
        flex-direction: row;
        align-items: center;
        gap: 0;
        min-height: 60px;
    }

    /* Logo adjustments */
    #head-v3.qst-marketing-header #logo {
        padding: 15px 0;
    }

    #head-v3.qst-marketing-header #logo img {
        height: 35px;
    }

    /* Show utility row on mobile with adjustments */
    #head-v3.qst-marketing-header #utility-row {
        display: flex !important;
        padding: 0;
        gap: 10px;
        flex: 1;
        justify-content: flex-end;
        margin-right: 10px;
    }

    /* Adjust utility icons for mobile */
    #head-v3.qst-marketing-header #utility-row .hv3-utility {
        width: auto;
        margin: 0;
    }

    #head-v3.qst-marketing-header #utility-row .hv3-utility svg {
        width: 18px;
        height: 18px;
        margin: 0 5px;
    }

    /* Hide CTA button on mobile */
    #head-v3.qst-marketing-header #utility-row .nav-cta {
        display: none !important;
    }

    /* Two-row content becomes single row */
    #head-v3.qst-marketing-header .two-row-content {
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
    }

    /* Nav row fills space */
    #head-v3.qst-marketing-header #hv3-bottom.nav-row {
        padding: 0 0 15px !important;
        width: auto;
        gap: 0;
    }

    #head-v3.qst-marketing-header #hv3-bottom {
        gap: 0;
        align-items: center;
    }

    /* Mobile menu button container */
    #head-v3.qst-marketing-header .mobile-menu-container {
        display: block !important;
        margin-left: auto;
        position: relative;
        z-index: 1010;
    }

    #head-v3.qst-marketing-header .mobile-menu-container button,
    #head-v3.qst-marketing-header .mobile-menu-container button.mobile-menu,
    #head-v3.qst-marketing-header .mobile-menu-container button.utility.mobile-menu {
        background: none;
        border: none;
        padding: 10px;
        margin-top: 10px;
        cursor: pointer;
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        -webkit-tap-highlight-color: transparent;
    }

    /* Remove any text from button */
    #head-v3.qst-marketing-header .mobile-menu-container button span,
    #head-v3.qst-marketing-header .mobile-menu-container button::text {
        display: none;
    }

    /* Burger icon (3 lines) - DEFAULT STATE */
    #head-v3.qst-marketing-header .mobile-menu-container button::before,
    #head-v3.qst-marketing-header .mobile-menu-container button.mobile-menu::before {
        content: "";
        position: absolute;
        width: 24px;
        height: 2px;
        background: #0a8cbf;
        box-shadow: 0 8px 0 #0a8cbf, 0 16px 0 #0a8cbf;
        transition: all 0.3s ease;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    /* X icon - WHEN MENU IS OPEN */
    #head-v3.qst-marketing-header.mobile-nav-open .mobile-menu-container button::before,
    #head-v3.qst-marketing-header.mobile-nav-open .mobile-menu-container button.mobile-menu::before,
    #hv3-bottom.mobile-nav-open .mobile-menu-container button::before,
    #hv3-bottom.mobile-nav-open .mobile-menu-container button.mobile-menu::before,
    .mobile-menu-container.mobile-menu-open button::before,
    .mobile-menu-container.mobile-menu-open button.mobile-menu::before {
        transform: translate(-50%, -50%) rotate(45deg);
        box-shadow: none;
    }

    #head-v3.qst-marketing-header.mobile-nav-open .mobile-menu-container button::after,
    #head-v3.qst-marketing-header.mobile-nav-open .mobile-menu-container button.mobile-menu::after,
    #hv3-bottom.mobile-nav-open .mobile-menu-container button::after,
    #hv3-bottom.mobile-nav-open .mobile-menu-container button.mobile-menu::after,
    .mobile-menu-container.mobile-menu-open button::after,
    .mobile-menu-container.mobile-menu-open button.mobile-menu::after {
        content: "";
        position: absolute;
        width: 24px;
        height: 2px;
        background: #0a8cbf;
        transform: translate(-50%, -50%) rotate(-45deg);
        top: 50%;
        left: 50%;
    }

    /* Hide desktop nav by default */
    #head-v3.qst-marketing-header nav {
        display: none;
        position: fixed !important;
        top: 0 !important;
        right: -100% !important;
        width: 100% !important;
        max-width: 100% !important;
        /*height: 100vh !important;*/
        height: calc(var(100vh, 1vh) * 100) !important;
        height: -webkit-fill-available !important;
        background: #ffffff !important;
        transition: right 0.3s ease !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        z-index: 99999 !important;
        padding: 0 0 20px !important;
        box-shadow: -2px 0 10px rgba(0,0,0,0.1);
    }

    /* Mobile nav when open - slide in from right */
    #head-v3.qst-marketing-header.mobile-nav-open nav,
    #hv3-bottom.mobile-nav-open nav {
        display: block !important;
        right: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateX(0) !important;
    }

    /* Mobile tier-1 styling */
    #head-v3.qst-marketing-header.mobile-nav-open .v3-tier-1 {
        float: none !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #eee !important;
        position: relative !important;
    }

    #head-v3.qst-marketing-header.mobile-nav-open .v3-tier-1 > span {
        padding: 20px !important;
        margin: 0 !important;
        border: none !important;
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        cursor: pointer !important;
        font-size: 20px !important;
        font-weight: bold !important;
        background: transparent !important;
        transition: background-color 0.2s ease !important;
    }

    #head-v3.qst-marketing-header.mobile-nav-open .v3-tier-1 > span:active {
        background: #f5f5f5 !important;
    }

    /* Mobile arrow */
    body #wrap #head-v3.qst-marketing-header.mobile-nav-open .v3-tier-1:not(.no-tier-2) > span::after {
        content: "\f46a" !important;
        font-family: 'Material Symbols Outlined' !important;
        font-size: 32px !important;
        color: #0A8CBF !important;
        transform: none !important;
        margin: 0 !important;
        line-height: 1 !important;
        font-weight: normal !important;
        top: 0 !important;
    }

    /* Remove hover effects on mobile */
    #head-v3.qst-marketing-header.mobile-nav-open .v3-tier-1 > span:hover {
        border-bottom-color: transparent !important;
        color: inherit !important;
    }

    /* Keep nav-row visible */
    #head-v3.qst-marketing-header.mobile-nav-open #hv3-bottom {
        display: block !important;
        visibility: visible !important;
        /*opacity: 1 !important;
        gap: 0 !important;
        align-items: center !important;*/
    }

    /* Keep utilities visible in mobile menu open state */
    #head-v3.qst-marketing-header.mobile-nav-open .hv3-utility {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Mobile tier-2 slide-in panel */
    #head-v3.qst-marketing-header .v3-tier-2.v3-drop-down {
        display: none !important;
        position: fixed !important;
        top: 60px !important; /* Start below header */
        left: 100% !important;
        width: 100% !important;
        height: calc(100vh - 60px) !important; /* Full height minus header */
        background: #fff !important;
        transition: left 0.3s ease !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 9997 !important; /* Below main nav */
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        overflow-y: auto !important;
        box-shadow: none !important;
        pointer-events: auto !important;
    }

    /* Adjust tier-2 position when admin bar is present */
    body.admin-bar #head-v3.qst-marketing-header .v3-tier-2.v3-drop-down {
        top: 106px !important; /* 60px header + 46px admin bar */
        height: calc(100vh - 106px) !important;
    }

    @media (min-width: 783px) {
        body.admin-bar #head-v3.qst-marketing-header .v3-tier-2.v3-drop-down {
            top: 92px !important; /* 60px header + 32px desktop admin bar */
            height: calc(100vh - 92px) !important;
        }
    }

    /* Show tier-2 when parent is open - slide in from right */
    #head-v3.qst-marketing-header .v3-tier-1.open-mobile .v3-tier-2.v3-drop-down {
        display: block !important;
        left: 0 !important;
        top: 0 !important
    }

    /* Parent item header in dropdown */
    #head-v3.qst-marketing-header .v3-tier-2 .parent-item-header {
        display: none;
    }

    /* Mobile back button - prominent styling */
    #head-v3.qst-marketing-header .menu-back,
    #head-v3.qst-marketing-header .language {
        display: flex !important;
        align-items: center !important;
        padding: 20px !important;
        background: #f8f9fa !important;
        border-bottom: 2px solid #0a8cbf !important;
        cursor: pointer !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #000 !important;
        margin: 0 !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 10 !important;
    }

    #head-v3.qst-marketing-header .menu-back::before {
        content: "\f46b" !important;
        font-family: 'Material Symbols Outlined';
        font-size: 32px !important;
        margin-right: 10px !important;
        line-height: 1 !important;
        color: #0A8CBF !important;
    }

    #head-v3.qst-marketing-header .language::before {
        content: "\e894" !important;
        font-family: 'Material Symbols Outlined';
        font-size: 32px !important;
        font-weight: normal !important;
        margin-right: 10px !important;
        line-height: 1 !important;
        color: #0A8CBF !important;
    }

    /* Style the back button when parent header is shown */
    #head-v3.qst-marketing-header .v3-tier-1.open-mobile .menu-back {
        background: #e8e8e8 !important;
        border-bottom: 1px solid #ddd !important;
        position: relative !important;
        top: auto !important;
    }

    /* Mobile tier-2 list */
    #head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul {
        width: 100% !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        list-style: none !important;
    }

    #head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul li {
        padding: 15px 20px !important;
        border-bottom: 1px solid #eee !important;
        margin: 0 !important;
    }

    #head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul li:last-child {
        border-bottom: none !important;
    }

    /* Disable hover effects on mobile */
    #head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul li::before,
    .mobile-nav-open .v3-tier-3-drop ul li::before {
        display: none !important;
    }

    /* Reset padding on mobile */
    #head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul li:hover,
    .mobile-nav-open .v3-tier-3-drop ul li:hover {
        padding-left: 20px !important;
    }

    #head-v3.qst-marketing-header .v3-tier-2.v3-drop-down > ul li a {
        font-size: 16px;
    }

    /* Mobile tier-3 */
    .mobile-nav-open .v3-tier-3-drop .v3-tier-label {
        padding: 0 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        cursor: pointer !important;
    }

    .mobile-nav-open .v3-tier-3-drop .v3-tier-label::after {
        content: "▼" !important;
        font-size: 12px !important;
        position: static !important;
        transform: none !important;
        transition: transform 0.3s ease !important;
        margin-left: 5px !important;
    }

    .mobile-nav-open .v3-tier-3-drop.mobile-open .v3-tier-label::after {
        transform: rotate(180deg) !important;
    }

    /* Mobile tier-3 dropdown */
    .mobile-nav-open .v3-tier-3-drop ul {
        display: none !important;
        position: static !important;
        width: 100% !important;
        left: 0 !important;
        top: auto !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        transform: none !important;
        background: #e8e8e8 !important;
        visibility: visible !important;
        opacity: 1 !important;
        transition: none !important;
        padding: 10px 0 !important;
        margin: 10px 0 0 0 !important;
    }

    .mobile-nav-open .v3-tier-3-drop.mobile-open ul {
        display: block !important;
    }

    .mobile-nav-open .v3-tier-3-drop ul li {
        padding: 10px 30px !important;
        border-bottom: none !important;
    }

    /* Fix z-index issues on mobile */
    @media (max-width: 1240px) {
        /* Z-index hierarchy for mobile */
        #wpadminbar { z-index: 100000 !important; }
        #head-v3.qst-marketing-header { z-index: 9999 !important; height: 70px !important; }
        #head-v3.qst-marketing-header.mobile-nav-open { z-index: 9999 !important; }
        .mobile-menu-container { z-index: 10001 !important; }
        #head-v3.qst-marketing-header nav { z-index: 9998 !important; }
        #head-v3.qst-marketing-header .v3-tier-2.v3-drop-down { z-index: 9997 !important; }

        /* Ensure all header elements stay visible when menu is open */
        #head-v3.qst-marketing-header.mobile-nav-open .sticky-v3,
        #head-v3.qst-marketing-header.mobile-nav-open .sticky-wrap,
        #head-v3.qst-marketing-header.mobile-nav-open .container {
            display: block !important;
            visibility: visible !important;
            opacity: 1 !important;
        }
    }

    /* search bar */
    .search-bar-container {
        height: 70px !important;
    }
}

/* Body scroll lock when mobile menu is open */
body.mobile-menu-active {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
}

/* Add dark overlay behind menu (not covering header) */
@media (max-width: 1240px) {
    body.mobile-menu-active::before {
        content: "";
        position: fixed;
        top: 60px; /* Start below header */
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9990;
        transition: opacity 0.3s ease;
    }

    body.admin-bar.mobile-menu-active::before {
        top: 106px; /* 60px header + 46px admin bar */
    }

    @media (min-width: 783px) {
        body.admin-bar.mobile-menu-active::before {
            top: 92px; /* 60px header + 32px desktop admin bar */
        }
    }

    /* Create a fixed header overlay when menu is open */
    #head-v3.qst-marketing-header.mobile-nav-open {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 70px !important;
        overflow: visible !important;
        background: #fff !important;
        z-index: 100001 !important;
    }

    /* Position nav below the fixed header */
    #head-v3.qst-marketing-header.mobile-nav-open nav {
        position: fixed !important;
        top: 70px !important; /* Below header */
        bottom: 0 !important;
        height: auto !important;
        z-index: 99999 !important;
        padding: 0 20px !important
    }

    /* Lock button position */
    #head-v3.qst-marketing-header .mobile-menu-container button {
        position: relative !important;
        width: 44px !important;
        height: 44px !important;
    }

    /* Ensure container doesn't shift */
    #head-v3.qst-marketing-header.mobile-nav-open .mobile-menu-container {
        position: relative !important;
        margin-left: auto !important;
        z-index: 10001 !important;
    }

    /* Keep button in exact same spot when menu opens */
    #head-v3.qst-marketing-header.mobile-nav-open .mobile-menu-container button {
        margin: 0 !important;
        padding: 10px !important;
    }

    /* Reset all the conflicting styles */
    #head-v3.qst-marketing-header .mobile-menu-container button::before {
        box-shadow: none !important;
        transform: none !important;
        top: 50% !important;
        left: 50% !important;
    }

    #head-v3.qst-marketing-header .mobile-menu-container button::after {
        display: none !important;
    }

    /* New hamburger using cleaner method */
    #head-v3.qst-marketing-header .mobile-menu-container button::before {
        content: '' !important;
        position: absolute !important;
        width: 24px !important;
        height: 18px !important;
        transform: translate(-50%, -50%) !important;
        background-color: transparent !important;
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='18' viewBox='0 0 24 18'%3E%3Cpath fill='%230a8cbf' d='M0 0h24v2H0zm0 8h24v2H0zm0 8h24v2H0z'/%3E%3C/svg%3E") !important;
        background-size: 24px 18px !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        transition: all 0.3s ease !important;
    }

    /* X icon when menu is open */
    #head-v3.qst-marketing-header.mobile-nav-open .mobile-menu-container button::before,
    #hv3-bottom.mobile-nav-open .mobile-menu-container button::before,
    .mobile-menu-container.mobile-menu-open button::before {
        width: 20px !important;
        height: 20px !important;
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%230a8cbf' d='M1.414 0L10 8.586 18.586 0 20 1.414 11.414 10 20 18.586 18.586 20 10 11.414 1.414 20 0 18.586 8.586 10 0 1.414z'/%3E%3C/svg%3E") !important;
        background-size: 20px 20px !important;
        transform: translate(-50%, -50%) !important;
        box-shadow: none !important;
    }
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1240px) {
    #head-v3.qst-marketing-header #utility-row {
        padding: 10px 0 5px;
        gap: 20px;
    }

    #head-v3.qst-marketing-header #hv3-bottom.nav-row {
        padding: 0 30px 15px;
    }
}

/* Mobile admin bar */
@media (max-width: 767px) {
    body.admin-bar #site-header.stick-active,
    body.admin-bar #head-v3.stick-active {
        top: 46px;
    }
}

/* Small mobile adjustments */
@media (max-width: 600px) {
    body.admin-bar #head-v3.qst-marketing-header.stuck,
    body.admin-bar #site-header.stuck {
        top: 46px;
    }
}

/* Large screens - center content */
@media (min-width: 1440px) {
    #head-v3.qst-marketing-header .container {
        max-width: 1440px;
        margin: 0 auto !important;
    }
}

/* Additional mobile breakpoint updates */
@media (min-width: 1241px) {
    /* Hide mobile elements on desktop */
    #head-v3.qst-marketing-header .mobile-menu-container,
    #head-v3.qst-marketing-header .menu-back,
    #head-v3.qst-marketing-header .menu-back-tier-2 {
        display: none !important;
    }
}



/* =================================================================
   ACCESSIBILITY ENHANCEMENTS
   ================================================================= */

/* Skip to navigation link */
.skip-to-nav {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 999999;
    background: #0a8cbf;
    color: white;
    padding: 10px 20px;
    text-decoration: none;
}

.skip-to-nav:focus {
    left: 0;
}

/* Focus states for keyboard navigation */
/*#head-v3.qst-marketing-header a:focus-visible,
#head-v3.qst-marketing-header button:focus-visible,
#head-v3.qst-marketing-header .v3-tier-1 > span:focus-visible {
	outline: 2px solid #0a8cbf;
	outline-offset: 2px;
	border-radius: 3px;
}*/

/* High contrast mode support */
/*@media (prefers-contrast: high) {
	#head-v3.qst-marketing-header .v3-tier-1 > span:hover,
	#head-v3.qst-marketing-header .v3-tier-1.open > span {
		outline: 2px solid currentColor;
		outline-offset: -2px;
	}
}*/

/* Reduced motion support */
/*@media (prefers-reduced-motion: reduce) {
	#head-v3.qst-marketing-header *,
	#head-v3.qst-marketing-header *::before,
	#head-v3.qst-marketing-header *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}*/

/* Print styles */
@media print {
    #head-v3.qst-marketing-header,
    #top-bar-wrap,
    #wpadminbar {
        display: none !important;
    }
}

/* Force hide on mobile */
@media (max-width: 1240px) {
    #head-v3 .hidden-xs,
    #head-v3 .hidden-sm,
    .hv3-utility-icon-wrap.hidden-xs,
    .hv3-utility-icon-wrap.hidden-sm,
    .hv3-utility-drop.hidden-xs,
    .hv3-utility-drop.hidden-sm {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

/* Force show on desktop */
@media (min-width: 1241px) {
    #head-v3 .hidden-xs,
    #head-v3 .hidden-sm,
    .hv3-utility-icon-wrap.hidden-xs,
    .hv3-utility-icon-wrap.hidden-sm,
    .hv3-utility-drop.hidden-xs,
    .hv3-utility-drop.hidden-sm {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}


/* =================================================================
   SEARCH
   ================================================================= */
.quest-search-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 100002; /* Above head-v3 and everything else */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    transform: translateY(-100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.quest-search-bar.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Position over the header when active */
body:not(.admin-bar) .quest-search-bar.active {
    top: 0; /* Covers from very top */
}

/* Admin bar adjustments - position below admin bar */
body.admin-bar .quest-search-bar {
    top: 32px;
}

/* Mobile admin bar */
@media (max-width: 782px) {
    body.admin-bar .quest-search-bar {
        top: 0;
    }
}

.search-bar-container {
    width: 1440px;
    position: relative;
    height: 114px;
    margin: 0 auto
}

.quest-search-bar .search-form {
    display: flex;
    align-items: center;
    padding: 0;
    position: relative;
    width: 100%;
    height: 100%;
}

.quest-search-bar .search-field {
    flex: 1;
    background: none;
    border: none;
    color: #14215C;
    font-size: 24px;
    padding: 20px 40px;
    outline: none;
    font-family: "Nunito Sans", sans-serif;
    height: 100%;
}

.quest-search-bar .search-field::placeholder {
    color: #14215C;
}

/* Search submit - hidden until input has value */
.quest-search-bar .search-submit {
    display: none;
    background: none;
    border: none;
    padding: 0 20px;
    cursor: pointer;
    height: 100%;
}

.quest-search-bar .search-field:not(:placeholder-shown) ~ .search-submit {
    display: flex;
    align-items: center;
}

.quest-search-bar .search-submit svg {
    width: 30px;
    height: 30px;
    fill: #14215C;
}

/* Close button */
.quest-search-bar .search-close {
    background: none;
    border: none;
    border-left: 1px solid #14215C;
    width: 80px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.quest-search-bar .search-close svg:hover {
    fill: #5AD2EE;
}

.quest-search-bar .search-close svg {
    width: 36px;
    height: 36px;
    fill: #14215C;
}

/* Ensure header stays in place */
body.search-bar-active #head-v3,
body.search-bar-active #site-header {
    /* Headers remain in their normal position */
    position: relative;
}

/* Mobile styles */
@media (max-width: 991px) {
    .quest-search-bar {
        height: 70px;
    }

    .search-bar-container {
        height: 70px;
    }

    .quest-search-bar .search-field {
        font-size: 18px;
        padding: 15px 20px;
    }

    .quest-search-bar .search-close {
        width: 70px;
    }

    .quest-search-bar .search-close svg {
        width: 28px;
        height: 28px;
    }
}

@media (max-width: 767px) {
    .quest-search-bar .search-field {
        font-size: 16px;
    }
}

/* =================================================================
   GENERAL STRUCTURE
   ================================================================= */
/* 4.1 Archive/Home page backgrounds */
body.archive,
body.home {
    background: #0a0e21;
}

.archive #main #content-wrap {
    padding-top: 30px;
}

/* Archive listing */
#wrap #main .category-listing-h1 {
    text-align: center;
    margin: 80px 0;
    color: #14215C;
    font-size: 50px;
    font-weight: 500;
}

.container-breadcrumb {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 15px 50px;
}
.back-home {
    color: #5AD2EE;
    font-size: 16px;
    display: flex;
    align-items: flex-start;
    justify-content: left;
}
.back-home:hover {
    color: #5AD2EE;
}

.archive #wrap #main .category-listing-h1,
.home #wrap #main .category-listing-h1 {
    color: #fff;
    font-size: 50px;
    font-weight: 500;
}

/* 4.2 HOME FEATURED SECTION */

.section-header {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: space-between;
    margin: 35px 0;
}

.section-title-box {
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 425px;
    flex-shrink: 1;
}

.section-title-box.press-releases {
    background: #0A8CBF;
}

.section-title-box.in-the-news {
    background: #131F56;
}

.home #wrap #main .section-title-box h2 {
    font-size: 50px;
    font-weight: 600;
    margin: 0;
    color: white;
    text-align: center;
    padding: 30px 40px;
}

.featured-article {
    max-width: 890px;
    background: #fff;
    border-radius: 30px;
    padding: 30px 40px;
    box-shadow: 0 2px 10px 0 rgb(140 114 80 / 25%);
    -webkit-box-shadow: 0 2px 10px 0 rgb(140 114 80 / 25%);
    transition: .3s;
    margin: 0 auto;
}

.featured-article .featured-content-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 25px;
    align-items: flex-start;
}

.featured-article .featured-content-wrapper .featured-thumbnail {
    flex: 0 0 358px;
    width: 358px;
    height: 358px;
    overflow: hidden;
    background: #f0f0f0;
    border-radius: 10px; /
}

.featured-article .featured-content-wrapper .featured-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    object-position: center center;
}

.featured-article .featured-content-wrapper .featured-details {
    flex: 1 1 auto;
    width: 100%;
}

#wrap #main #content-wrap .featured-article .featured-content-wrapper .featured-details .featured-box-title {
    color: #0A8CBF;
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 10px 0 !important;
}

#wrap #main #content-wrap .featured-article .featured-content-wrapper .featured-details .featured-post-title {
    font-size: 35px;
    margin-bottom: 15px;
    line-height: 1;
}

#wrap #main #content-wrap .featured-article .featured-content-wrapper .featured-details .featured-post-title a {
    color: #000;
    text-decoration: none;
    line-height: 1;
}

#wrap #main #content-wrap .featured-article .featured-content-wrapper .featured-details .featured-post-title a:hover {
    text-decoration: underline;
}

.featured-article .featured-content-wrapper .featured-details .featured-border-line {
    height: 2px;
    background: #e0e0e0;
    margin: 15px 0;
}

.featured-article .featured-content-wrapper .featured-details .featured-date {
    color: #0A8CBF;
    font-size: 16px;
    margin-bottom: 10px;
}

.featured-article .featured-content-wrapper .featured-details .featured-excerpt {
    color: #666;
    line-height: 1.1;
    margin-bottom: 20px;
}

/* Responsive styles */
@media (max-width: 1439px) {
    .section-title-box {
        border-radius: 25px;
        width: 890px !important;
        max-width: 100%;
        position: relative;
        margin: 0 auto;
    }
}
@media (max-width: 991px) {
    .section-header {
        flex-direction: column;
        margin: 0 0 25px;
    }
    .section-title-box {
        width: 100%;
        margin: 0;
    }
    .featured-article {
        max-width: 100%;
        width: 100%;
    }
    .featured-article .featured-content-wrapper {
        flex-direction: column;
    }

    .featured-article .featured-content-wrapper .featured-thumbnail {
        flex: 1 1 auto;
        width: 100%;
        height: 175px;
        overflow: hidden;
        aspect-ratio: 1 / 1;
    }
}

@media (max-width: 480px) {
    .home #wrap #main .section-title-box h2 {
        font-size: calc(30px + 0.5vw);
    }

    .featured-article {
        max-width: 100%;
        width: 100%;
        padding: 30px 40px;
    }
    .promo-buttons {
        flex-direction: column;
        gap: 20px;
        width: 100%;
        padding: 15px;
    }

    #wrap #main #content-wrap .featured-article .featured-content-wrapper .featured-details .featured-box-title {
        font-size: 18px;
    }
    #wrap #main #content-wrap .featured-article .featured-content-wrapper .featured-details .featured-post-title {
        font-size: 24px;
    }

    #wrap #main .btn-link {
        font-size: 18px;
        width: 100%;
        text-align: center;
    }
    .promo-buttons .btn-link {
        padding: 5px 15px;
    }

    /* CTA's */
    .promo-title {
        color: #ffffff;
        font-size: 32px;
    }
}
/* END FEATURED SECTION */

/* =================================================================
   ███╗   ██╗███████╗██╗    ██╗███████╗██████╗  ██████╗  ██████╗ ███╗   ███╗
   ████╗  ██║██╔════╝██║    ██║██╔════╝██╔══██╗██╔═══██╗██╔═══██╗████╗ ████║
   ██╔██╗ ██║█████╗  ██║ █╗ ██║███████╗██████╔╝██║   ██║██║   ██║██╔████╔██║
   ██║╚██╗██║██╔══╝  ██║███╗██║╚════██║██╔══██╗██║   ██║██║   ██║██║╚██╔╝██║
   ██║ ╚████║███████╗╚███╔███╔╝███████║██║  ██║╚██████╔╝╚██████╔╝██║ ╚═╝ ██║
   ╚═╝  ╚═══╝╚══════╝ ╚══╝╚══╝ ╚══════╝╚═╝  ╚═╝ ╚═════╝  ╚═════╝ ╚═╝     ╚═╝

   NEWSROOM GRID SYSTEM - Version 2.0.0
   =====================================

   This section controls the grid layout for:
   - Homepage Press Releases section
   - Homepage In The News section
   - Archive/Category pages

   GRID LAYOUT:
   - Desktop (1400px+): 3 columns × 425px each
   - Tablet (991px-1400px): 2 columns
   - Mobile (below 768px): 1 column

   CLASS NAMING (BEM Convention):
   - .newsroom-section    = Section wrapper
   - .newsroom-header     = Title + Featured row
   - .newsroom-grid       = Grid container (THIS IS THE MAIN GRID!)
   - .newsroom-card       = Individual grid card
   - .newsroom-btn        = Buttons

   TO CHANGE COLUMNS: Edit grid-template-columns below
   TO CHANGE GAP: Edit --newsroom-gap variable
   TO CHANGE CARD WIDTH: Edit --newsroom-card-width variable

   ================================================================= */

/* -----------------------------------------------------------------
   5.1 CSS VARIABLES (Easy Customization)

   Change these values to customize the entire grid:
   ----------------------------------------------------------------- */
:root {
    /* Grid Settings */
    --newsroom-card-width: 425px;      /* Width of each card */
    --newsroom-gap: 25px;               /* Space between cards */
    --newsroom-max-width: 1340px;       /* Max container width */

    /* Border Radius */
    --newsroom-radius: 25px;            /* Card corners */
    --newsroom-radius-lg: 30px;         /* Large elements */

    /* Shadows */
    --newsroom-shadow: 0 2px 10px 0 rgba(140, 114, 80, 0.25);

    /* Colors - Section Headers */
    --newsroom-color-press: #0A8CBF;    /* Press Releases (blue) */
    --newsroom-color-news: #131F56;     /* In The News (dark blue) */

    /* Colors - General */
    --newsroom-color-btn: #A9BF04;      /* Button green */
    --newsroom-color-text: #000;        /* Text color */
    --newsroom-color-date: #0A8CBF;     /* Date color */
    --newsroom-color-date-news: #FF4E00; /* News date (orange) */
}

/* -----------------------------------------------------------------
   5.2 SECTION WRAPPER

   The main container for Press Releases or In The News sections
   ----------------------------------------------------------------- */
.newsroom-section {
    margin-bottom: 40px;
}

/* Divider between Press Releases and In The News */
.newsroom-divider {
    height: 60px;
}

/* -----------------------------------------------------------------
   5.3 SECTION HEADER (Title Box + Featured Article)

   Layout: [Title Box] [Featured Article]
   On mobile: Stacks vertically
   ----------------------------------------------------------------- */
.newsroom-header {
    display: flex;
    flex-wrap: wrap;
    gap: var(--newsroom-gap);
    justify-content: space-between;
    margin: 35px 0;
}

/* -----------------------------------------------------------------
   5.4 TITLE BOX (Press Releases / In The News)

   The colored box with the section title
   ----------------------------------------------------------------- */
.newsroom-title-box {
    border-radius: var(--newsroom-radius-lg);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 425px;
    flex-shrink: 1;
}

/* Press Releases = Blue background */
.newsroom-title-box--press {
    background: var(--newsroom-color-press);
}

/* In The News = Dark blue background */
.newsroom-title-box--news {
    background: var(--newsroom-color-news);
}

.newsroom-title-box h2 {
    font-size: 50px;
    font-weight: 600;
    margin: 0;
    color: #fff;
    text-align: center;
    padding: 30px 40px;
}

/* -----------------------------------------------------------------
   5.5 FEATURED ARTICLE CARD

   The large featured post next to the title box
   ----------------------------------------------------------------- */
.newsroom-featured {
    max-width: 890px;
    background: #fff;
    border-radius: var(--newsroom-radius-lg);
    padding: 30px 40px;
    box-shadow: var(--newsroom-shadow);
    margin: 0 auto;
}

.newsroom-featured__inner {
    display: flex;
    gap: var(--newsroom-gap);
    align-items: flex-start;
}

/* Featured image - left side */
.newsroom-featured__image {
    flex: 0 0 358px;
    width: 358px;
    height: 358px;
    overflow: hidden;
    background: #f0f0f0;
    border-radius: 10px;
}

.newsroom-featured__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Featured content - right side */
.newsroom-featured__content {
    flex: 1;
}

/* "FEATURED PRESS RELEASE" or "FEATURED NEWS" label */
.newsroom-featured__label {
    display: block;
    color: var(--newsroom-color-press);
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

/* Featured post title */
.newsroom-featured__title {
    font-size: 35px;
    font-weight: bold;
    margin: 0 0 15px 0;
    line-height: 1.1;
}

.newsroom-featured__title a {
    color: var(--newsroom-color-text);
    text-decoration: none;
}

.newsroom-featured__title a:hover {
    text-decoration: underline;
}

/* Horizontal line divider */
.newsroom-featured__divider {
    height: 2px;
    background: #e0e0e0;
    margin: 15px 0;
}

/* Date display */
.newsroom-featured__date {
    display: block;
    color: var(--newsroom-color-date);
    font-size: 16px;
    margin-bottom: 10px;
}

/* Excerpt text */
.newsroom-featured__excerpt {
    color: #666;
    line-height: 1.4;
    margin-bottom: 20px;
}

/* -----------------------------------------------------------------
   5.6 THE GRID - THIS IS THE MAIN LAYOUT!

   ╔═══════════════════════════════════════════════════════════════╗
   ║  THIS CONTROLS HOW MANY CARDS PER ROW!                        ║
   ║                                                                ║
   ║  grid-template-columns: repeat(3, 425px)                      ║
   ║                                ↑     ↑                        ║
   ║                          columns   width                      ║
   ║                                                                ║
   ║  To change to 4 columns: repeat(4, 320px)                     ║
   ║  To change to 2 columns: repeat(2, 425px)                     ║
   ╚═══════════════════════════════════════════════════════════════╝

   SELECTORS EXPLAINED:
   - .blog-entries.press-entries = Press Releases grid (homepage)
   - .blog-entries.news-entries  = In The News grid (homepage)
   - #blog-entries               = Archive/Category pages (UNCHANGED!)
   - .newsroom-grid              = New BEM-style grid (optional)
   ----------------------------------------------------------------- */

/*
 * HOMEPAGE GRIDS ONLY - Press Releases & News
 * These use class="blog-entries press-entries" and class="blog-entries news-entries"
 *
 * NOTE: Archive pages use #blog-entries and are NOT affected by these rules
 */
.press-releases-blog-grid .blog-entries,
.news-blog-grid .blog-entries,
.blog-entries.press-entries,
.blog-entries.news-entries {
    display: grid !important;
    grid-template-columns: repeat(3, var(--newsroom-card-width)); /* 3 COLUMNS! */
    gap: var(--newsroom-gap);
    justify-content: center;
    max-width: var(--newsroom-max-width);
    margin: 0 auto;
}

/*
 * ARCHIVE/CATEGORY PAGES - Keep original OceanWP flexbox layout
 * Do NOT change to CSS Grid - this preserves the original look without images
 */
/* #blog-entries is styled by OceanWP - we don't override it here */

/* Optional: New BEM-style class for future use */
.newsroom-grid {
    display: grid;
    grid-template-columns: repeat(3, var(--newsroom-card-width)); /* 3 COLUMNS! */
    gap: var(--newsroom-gap);
    justify-content: center;
    max-width: var(--newsroom-max-width);
    margin: 0 auto;
}

/* -----------------------------------------------------------------
   5.7 GRID CARDS - Individual Post Items (OceanWP blog-entry)

   OceanWP uses .blog-entry.grid-entry for individual cards.
   These styles ensure they display correctly in our CSS Grid.

   NOTE: Only affects HOMEPAGE grids. Archive pages keep original styling.
   ----------------------------------------------------------------- */

/* Remove OceanWP's default flex/float behavior - let CSS Grid handle layout */
/* HOMEPAGE ONLY - Press Releases and News sections */
.press-releases-blog-grid .blog-entry.grid-entry,
.news-blog-grid .blog-entry.grid-entry,
.blog-entries.press-entries .blog-entry.grid-entry,
.blog-entries.news-entries .blog-entry.grid-entry {
    margin: 0 !important;           /* Remove margins - grid gap handles spacing */
    width: 100% !important;         /* Fill grid cell */
    max-width: none !important;     /* Remove max-width constraint */
    flex: none !important;          /* Disable flex behavior */
    float: none !important;         /* Disable float */
}

/*
 * ARCHIVE PAGES - #blog-entries .blog-entry.grid-entry
 * NOT overridden here - keeps original OceanWP styling
 */

/* Card styling */
.newsroom-card {
    background: #fff;
    border-radius: var(--newsroom-radius);
    padding: 30px 40px;
    box-shadow: var(--newsroom-shadow);
    display: flex;
    flex-direction: column;
}

/* Card thumbnail image */
.newsroom-card__image {
    width: 100%;
    height: 180px;
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 15px;
    background: #f0f0f0;
}

.newsroom-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Card content area */
.newsroom-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Card date - Press Releases (blue) */
.newsroom-card__date {
    display: block;
    color: var(--newsroom-color-date);
    font-size: 14px;
    margin-bottom: 10px;
}

/* Card date - In The News section (orange) */
.newsroom-grid--news .newsroom-card__date {
    color: var(--newsroom-color-date-news);
}

/* Card title - truncated to 3 lines */
.newsroom-card__title {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 auto 0;
    line-height: 1.3;
    min-height: 78px; /* Approximately 3 lines */
}

.newsroom-card__title a {
    color: var(--newsroom-color-text);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 3;         /* Limit to 3 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.newsroom-card__title a:hover {
    text-decoration: underline;
}

/* "Read →" link */
.newsroom-card__link {
    display: block;
    text-align: right;
    font-size: 20px;
    font-weight: bold;
    color: var(--newsroom-color-text);
    text-decoration: none;
    margin-top: 15px;
}

.newsroom-card__link:hover {
    text-decoration: underline;
}

/* -----------------------------------------------------------------
   5.8 BUTTONS

   "See all press releases" / "See all news" buttons
   ----------------------------------------------------------------- */
.newsroom-btn {
    display: inline-block;
    padding: 5px 30px;
    border-radius: 25px;
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.newsroom-btn--green {
    background: var(--newsroom-color-btn);
    color: var(--newsroom-color-text);
}

.newsroom-btn--green:hover {
    filter: brightness(0.9);
}

/* -----------------------------------------------------------------
   5.9 SECTION FOOTER (See All Button Container)
   ----------------------------------------------------------------- */
.newsroom-footer {
    text-align: center;
    margin-top: 40px;
}

/* -----------------------------------------------------------------
   5.10 ARCHIVE/CATEGORY PAGES

   - NO images on archive pages (images only on homepage)
   - 3 columns grid, centered if fewer items
   - Uses OceanWP's default blog entries
   ----------------------------------------------------------------- */

/* Archive grid container */
body.archive #blog-entries,
body.category #blog-entries {
    display: grid !important;
    grid-template-columns: repeat(3, var(--newsroom-card-width));
    gap: var(--newsroom-gap);
    justify-content: center;  /* Centers grid when fewer than 3 items */
    max-width: var(--newsroom-max-width);
    margin: 0 auto;
}

/* Hide images on archive/category pages - images only on homepage */
body.archive .blog-entry .thumbnail,
body.category .blog-entry .thumbnail,
body.archive .blog-entry-media,
body.category .blog-entry-media {
    display: none !important;
}

/* Archive card styling - no image space needed */
body.archive #blog-entries .blog-entry.grid-entry,
body.category #blog-entries .blog-entry.grid-entry {
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    float: none !important;
}

/* Optional: New BEM-style class for future use */
.newsroom-grid--archive {
    grid-template-columns: repeat(3, var(--newsroom-card-width));
}

/* -----------------------------------------------------------------
   5.11 RESPONSIVE - TABLET (2 columns)

   Screen width: 991px to 1400px
   ----------------------------------------------------------------- */
@media (max-width: 1400px) {
    /* HOMEPAGE grids: 2 columns on tablet */
    .press-releases-blog-grid .blog-entries,
    .news-blog-grid .blog-entries,
    .blog-entries.press-entries,
    .blog-entries.news-entries,
    .newsroom-grid {
        grid-template-columns: repeat(2, var(--newsroom-card-width));
        max-width: 900px;
    }

    /* ARCHIVE/CATEGORY pages: 2 columns on tablet */
    body.archive #blog-entries,
    body.category #blog-entries {
        grid-template-columns: repeat(2, var(--newsroom-card-width));
        max-width: 900px;
    }

    .newsroom-title-box {
        width: 100%;
        max-width: 890px;
        margin: 0 auto;
    }
}

@media (max-width: 991px) {
    /* Stack header vertically */
    .newsroom-header,
    .section-header {
        flex-direction: column;
        margin: 0 0 25px;
    }

    .newsroom-title-box,
    .section-title-box {
        width: 100%;
    }

    /* Featured article full width */
    .newsroom-featured,
    .featured-article {
        max-width: 100%;
        width: 100%;
    }

    .newsroom-featured__inner,
    .featured-content-wrapper {
        flex-direction: column;
    }

    .newsroom-featured__image,
    .featured-thumbnail {
        flex: 1 1 auto;
        width: 100%;
        height: 200px;
    }

    /* HOMEPAGE grids: fluid 2 columns */
    .press-releases-blog-grid .blog-entries,
    .news-blog-grid .blog-entries,
    .blog-entries.press-entries,
    .blog-entries.news-entries,
    .newsroom-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 100%;
    }

    /* ARCHIVE/CATEGORY pages: fluid 2 columns */
    body.archive #blog-entries,
    body.category #blog-entries {
        grid-template-columns: repeat(2, 1fr);
        max-width: 100%;
    }

    .newsroom-card {
        padding: 20px 25px;
    }
}

/* -----------------------------------------------------------------
   5.12 RESPONSIVE - MOBILE (1 column)

   Screen width: below 768px
   ----------------------------------------------------------------- */
@media (max-width: 768px) {
    /* HOMEPAGE grids: 1 column on mobile */
    .press-releases-blog-grid .blog-entries,
    .news-blog-grid .blog-entries,
    .blog-entries.press-entries,
    .blog-entries.news-entries,
    .newsroom-grid {
        grid-template-columns: 1fr;  /* Single column! */
        gap: 20px;
    }

    /* ARCHIVE/CATEGORY pages: 1 column on mobile */
    body.archive #blog-entries,
    body.category #blog-entries {
        grid-template-columns: 1fr;  /* Single column! */
        gap: 20px;
    }

    .newsroom-title-box h2,
    .section-title-box h2 {
        font-size: 32px;
        padding: 20px 30px;
    }

    .newsroom-featured,
    .featured-article {
        padding: 20px 25px;
    }

    .newsroom-featured__title,
    .featured-post-title {
        font-size: 24px;
    }

    .newsroom-card__image {
        height: 150px;
    }

    .newsroom-card__title {
        font-size: 18px;
        min-height: auto;
    }

    .newsroom-btn,
    .btn-link {
        font-size: 18px;
        width: 100%;
        text-align: center;
    }
}

/* =================================================================
   END NEWSROOM GRID SYSTEM
   ================================================================= */

/* =================================================================
   CTA's
   ================================================================= */
/* Button Links */
/* Section Footer */
.section-footer {
    text-align: center;
    margin-top: 40px;
}

#wrap #main .see-all-section .container {
    text-align: center;
}

#wrap #main .btn-link {
    color: #000 !important;
    padding: 2px 30px;
    border-radius: 25px;
    text-decoration: none;
    font-size: 20px;
    font-weight: 600;
    display: inline-block;
    transition: all 0.3s;
}

.btn-link-green {
    background: #A9BF04;
}

.btn-link-orange {
    background: #FF4E00;
}


/* CTA BOX */
.cta-box-wrapper {
    background-color: #fff;
    margin: 0;
    padding: 25px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* CTA with image content */
#main .custom-widget-wrapper .cta-blue-bg.cta-img-cnt {
    display: flex !important;
    align-items: center;
    padding: 30px 50px;
}

#main .custom-widget-wrapper .cta-blue-bg.cta-img-cnt.row-rev {
    flex-direction: row-reverse;
}

#main .custom-widget-wrapper .cta-blue-bg.cta-img-cnt .blog-cta-left {
    display: block !important;
    padding: 0 30px 0 0;
}

#main .custom-widget-wrapper .cta-blue-bg.cta-img-cnt .blog-cta-right {
    display: block !important;
    padding: 0 0 0 30px;
}

#main .custom-widget-wrapper .cta-blue-bg.cta-img-cnt img {
    width: 300px;
    max-width: 100%;
    height: 165px;
}

#main .custom-widget-wrapper .cta-blue-bg.cta-img-cnt .blog-cta-left h2,
#main .custom-widget-wrapper .cta-blue-bg.cta-img-cnt .blog-cta-right h2 {
    max-width: 100% !important;
}

/* CTA image ribbon */
#main .custom-widget-wrapper .cta-img.ribbon {
    text-align: center;
    margin: 25px 0;
}

#main .custom-widget-wrapper .cta-img.ribbon img {
    width: 820px;
    max-width: 100%;
}

/* CTA Box container */
.cta-box-container {
    background: #14215c;
    border-radius: 30px;
    padding: 30px 40px;
    margin: 40px auto;
    color: #ffffff;
    box-shadow: 0 10px 30px rgba(20, 33, 92, 0.3);
    text-align: center;
    clear: both;
    width: 1109px;
    max-width: 100%;
    display: block;
}

.cta-box-container .cta-content {
    display: flex;
    justify-content: center;
    align-items: stretch;
}

.cta-box-container .cta-content .cta-contact-info {
    margin-right: 20px;
}

.cta-box-container .cta-content .cta-button-wrapper {
    margin-left: 20px;
}

#wrap #main .cta-box-container h2.cta-title {
    margin: 0 0 10px !important;
    color: #ffffff !important;
    font-size: 50px;
    font-weight: 600;
    line-height: 1.1;
}

.cta-contact-info p {
    margin: 0;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.4;
    text-align: left;
}

.cta-contact-info .contact-name {
    margin-bottom: 5px;
}

.cta-contact-info .contact-title {
    font-style: italic;
    opacity: 0.9;
}

.cta-contact-info a {
    color: #0a8cbf;
    text-decoration: none;
    font-weight: 500;
}

.cta-button-wrapper {
    margin-top: 20px;
}

.cta-button {
    display: inline-block;
    background: #a9bf04;
    color: #000;
    padding: 8px 20px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    line-height: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(10, 14, 33, 0.3);
}

/* CTA position variations */
.cta-box-container.cta-before-related {
    margin-top: 50px;
}

.cta-box-container.cta-after-tags {
    margin-bottom: 50px;
}

.cta-box-container.cta-after-content {
    margin-top: 60px;
    margin-bottom: 40px;
}

/* Ocean wrap compatibility */
.ocean-wrap .cta-box-container {
    width: auto;
    margin-left: auto;
    margin-right: auto;
}

/* Media queries for CTAs & widgets */
@media only screen and (max-width: 959px) {
    .custom-widget-wrapper .blog-cta-center {
        padding: 10px 15px 50px;
    }

    .custom-widget-wrapper .cta-orange-bg {
        background-size: 150px;
    }

    .custom-widget-wrapper .blog-cta-center h2 {
        padding: 0;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .custom-widget-wrapper .blog-cta-center p {
        margin: 0 !important;
    }

    .custom-widget-wrapper .blog-cta-center a.btn {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .custom-widget-wrapper .blog-cta-left {
        flex-flow: column;
        padding: 15px;
    }

    .custom-widget-wrapper .blog-cta-left h2 {
        max-width: 100% !important;
        text-align: center;
        padding: 0;
        margin-top: 0 !important;
    }

    .custom-widget-wrapper .blog-quote {
        padding: 40px 0;
        background-position: bottom right;
    }

    #main #content-wrap .custom-widget-wrapper .blog-quote h2 {
        padding-right: 20px !important;
        font-size: 28px;
    }

    #main .custom-widget-wrapper .cta-blue-bg.cta-img-cnt {
        display: block !important;
        text-align: center;
    }

    #main .custom-widget-wrapper .cta-blue-bg.cta-img-cnt .blog-cta-left,
    #main .custom-widget-wrapper .cta-blue-bg.cta-img-cnt .blog-cta-right {
        display: inline-block !important;
        margin: 0 auto;
        padding: 0;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .cta-box-container {
        padding: 25px 30px;
        margin: 30px 20px;
        max-width: calc(100% - 40px);
    }

    .cta-box-container h2 {
        font-size: 32px;
        font-width: 500;
    }

    .cta-contact-info p {
        font-size: 15px;
    }

    .cta-button {
        padding: 10px 25px;
        font-size: 20px;
    }

    /* Stack content vertically on mobile */
    .cta-box-container .cta-content {
        flex-direction: column;
        align-items: center;
        gap: 20px; /* Add space between stacked items */
    }

    /* Remove horizontal margins and center align */
    .cta-box-container .cta-content .cta-contact-info {
        margin-right: 0;
        margin-bottom: 0;
        text-align: center;
    }

    .cta-box-container .cta-content .cta-button-wrapper {
        margin-left: 0;
        margin-top: 0;
    }

    /* Center align contact info on mobile */
    .cta-contact-info p {
        text-align: center;
    }

    /* Adjust title size */
    #wrap #main .cta-box-container h2.cta-title {
        font-size: 32px; /* Reduced from 50px */
        margin-bottom: 20px;
    }

    .cta-contact-info p {
        font-size: 15px;
    }

    .cta-button {
        padding: 10px 25px;
        font-size: 15px;
    }
}

@media (max-width: 1366px) {
    .cta-box-container {
        margin: 40px 25px;
    }
}

/* =================================================================
   5. BLOG GRID - HOMEPAGE & ARCHIVE
   ================================================================= */
/* Newsroom Archive Header */
.newsroom-archive-header {
    text-align: center;
    margin-bottom: 40px;
}

.newsroom-archive-title {
    font-size: 40px;
    color: #fff;
    font-weight: 600;
    margin: 0;
}
/* End Newsroom */

#content #blog-entries {
    justify-content: center;
}

/*
 * LEGACY BLOG GRID (OceanWP Default)
 * ---------------------------------
 * This is the original OceanWP blog grid using flexbox.
 * For the new Newsroom homepage, see NEWSROOM GRID SYSTEM section above.
 */
#blog-entries {
    display: flex !important;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
    max-width: 1340px;
    margin: 0 auto;
}

.blog-entry.grid-entry {
    margin: 0 !important;
    width: 100% !important;
    display: flex;
}

body #main .oceanwp-row .blog-entry.grid-entry {
    padding: 30px 40px;
    margin: 0 25px 25px 0;
    width: 425px;
    max-width: 100%;
    box-shadow: 0 2px 10px 0 rgb(140 114 80 / 25%);
    -webkit-box-shadow: 0 2px 10px 0 rgb(140 114 80 / 25%);
    background-color: #fff;
    transition: .3s;
    color: #000;
    border-radius: 25px;
    flex: 0 0 425px;  /*align boxes when is less than 3*/
}

body.archive .oceanwp-row .blog-entry.grid-entry h2,
body.home .oceanwp-row .blog-entry.grid-entry h2,
body.archive .oceanwp-row .blog-entry.grid-entry a,
body.home .oceanwp-row .blog-entry.grid-entry a {
    text-align: left;
    line-height: 1.1 !important;
}

body .oceanwp-row .blog-entry.grid-entry h2 {
    color: #14215C;
    margin-top: 0;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
}

/* Blog entry titles */
.archive #wrap #main .blog-entry.post .blog-entry-header .entry-title a,
.home #wrap #main .blog-entry.post .blog-entry-header .entry-title a {
    font-size: 30px;
    letter-spacing: 0 !important;
    text-align: left;
    height: 100px;
}

.home #wrap #main .blog-entry.post .blog-entry-header .entry-title a:hover {
    text-decoration: underline;
}

body .oceanwp-row .blog-entry.grid-entry a {
    font-size: 20px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.3;
    letter-spacing: normal;
    text-align: left;
    color: #000;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.blog-entry.post .blog-entry-header .entry-title a {
    font-weight: inherit;
    letter-spacing: inherit;
}

/* Blog entry inner */
body .oceanwp-row .blog-entry.grid-entry .blog-entry-inner {
    padding-bottom: 0;
}

.archive .blog-entry.grid-entry .blog-entry-inner,
.home .blog-entry.grid-entry .blog-entry-inner {
    padding: 0 !important;
    border: none !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex: 1;
}

/* Blog entry summary */
body.home .oceanwp-row .blog-entry.grid-entry .blog-entry-summary {
    display: none;
}
body .oceanwp-row .blog-entry.grid-entry .blog-entry-summary {
    padding-bottom: 0;  /* 60px */
    min-height: 106px;
}

body .oceanwp-row .blog-entry.grid-entry p {
    font-size: 16px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: left;
    color: #53565a;
    margin: 0;
}

/* Blog entry read more */
.archive #wrap #main .blog-entry.grid-entry .blog-entry-readmore a,
.home #wrap #main .blog-entry.grid-entry .blog-entry-readmore a {
    display: block !important;
    border-bottom: none;
    font-size: 20px;
    text-align: right !important;
}

/* Blog entry meta */
body .oceanwp-row .blog-entry.grid-entry .meta,
body .oceanwp-row .blog-entry.grid-entry .meta li {
    margin: 0;
    padding: 0;
    display: inherit;
}

body .oceanwp-row .blog-entry.grid-entry .meta-author .icon-user {
    display: none;
}

body .oceanwp-row .blog-entry.grid-entry .meta-author a {
    font-size: 16px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: left;
    color: #10556c;
    margin: 10px 0;
    display: block;
}

.blog-entry-inner .meta .meta-author span.author-label {
    display: inline-block;
    padding: 0 5px 0 0;
    color: #10556c;
    font-size: 16px;
}

.blog-entry-inner .meta .meta-author a {
    display: inline-block !important;
}

/* Blog entry date */
#blog-entries .blog-entry .blog-entry-inner .meta-date .material-symbols-outlined {
    font-size: 21px !important;
    color: #000;
}

#blog-entries .blog-entry .blog-entry-inner .meta-date .meta-published,
.home .press-releases-section .blog-entry .blog-entry-inner .meta-date .meta-published {
    color: #0a8cbf;
    font-size: 14px;
}

li.meta-date {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

li.meta-date > * {
    margin: 0 3px;
}

li.meta-date .material-symbols-outlined {
    line-height: 1;
    height: auto;
}

/* Blog entry thumbnails */
.blog-entry.post .thumbnail img {
    height: 180px;
    overflow: hidden;
    background: #eee;
    position: relative;
}

.archive .blog-entry.grid-entry .thumbnail {
    display: none;
}
.home .blog-entry.grid-entry .thumbnail {
    height: 125px;
    overflow: hidden;
    position: relative;
    margin: 0 0 20px 0 !important;
}
.archive .blog-entry.grid-entry .thumbnail {
    height: 125px;
    overflow: hidden;
    position: relative;
    margin: 0 0 20px 0 !important;
    display: none;
}

.archive .blog-entry.grid-entry .thumbnail img,
.home .blog-entry.grid-entry .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-width: 100%;
}

.archive .blog-entry.grid-entry .thumbnail .thumbnail-link,
.home .blog-entry.grid-entry .thumbnail .thumbnail-link {
    display: block;
    height: 100%;
    position: relative;
}

.section-split {
    height: 1px;
    margin: 0 0 90px;
}

.section-split-bottom {
    height: 1px;
    margin: 0 0 90px;
}

/* Subcategory and date for blog boxes */
/* Override OceanWP meta styles */
body .blog-entry .blog-entry-inner ul.meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Override list item styles */
body .blog-entry .blog-entry-inner ul.meta li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important; /* OceanWP might use floats */
}

/* Push date to the right */
body .blog-entry .blog-entry-inner ul.meta li.meta-date {
    margin-left: auto !important;
}

/* Or if you need even more specific targeting */
body #main .oceanwp-row .blog-entry.grid-entry .blog-entry-inner ul.meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 15px 0 !important; /* Adjust bottom margin as needed */
}

body #main .oceanwp-row .blog-entry.grid-entry .blog-entry-inner ul.meta li {
    line-height: 1 !important;
}

body #main .oceanwp-row .blog-entry.grid-entry .blog-entry-inner ul.meta li.meta-subcategory {
    margin: 0 !important;
    padding: 0 !important;
}

body #main .oceanwp-row .blog-entry.grid-entry .blog-entry-inner ul.meta li.meta-date {
    margin-left: auto !important;
    margin-right: 0 !important;
}

body #wrap #main .news-blog-grid .blog-entry.grid-entry .blog-entry-inner ul.meta li .meta-published {
    color: #FF4E00 !important;
}
/* Style the subcategory this is for home newsroom press-releases */
body #main .oceanwp-row .blog-entry.grid-entry .newsroom-subcategory {
    font-size: 25px;
    color: #FF4E00;
    text-transform: uppercase; /* Optional */
    font-weight: 600;
}


/* RESPONSIVE BREAKPOINTS  */
/* Tablet - 2 columns at max-width 1343px */
@media (max-width: 1343px) and (min-width: 769px) {
    #blog-entries {
        max-width: 900px; /* Adjust container for 2 columns */
    }
    body #main .oceanwp-row .blog-entry.grid-entry {
        flex: 0 0 calc(50% - 12.5px); /* 50% minus half of gap */
        width: calc(50% - 12.5px);
        max-width: 425px; /* Keep max width */
    }
}

@media screen and (max-width: 782px) {
    html.admin-bar #wpadminbar {
        top: 0 !important;
    }
}
@media (max-width: 768px) {
    #blog-entries {
        gap: 20px;
        max-width: 100%;
    }

    body #main .oceanwp-row .blog-entry.grid-entry {
        flex: 0 0 100%;
        width: 100%;
        margin: 0 0 20px 0;
        padding: 20px 25px;
    }

    .blog-entry.grid-entry .thumbnail {
        height: 125px;
    }
}

/* =================================================================
   Promo Box Section
   ================================================================= */
.promo-box-section {
    position: relative;
    width: 100%;
    padding: 180px 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0;
    background-color: transparent;
}

.promo-box-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.promo-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 1336px;
    margin: 0 auto;
    padding: 40px 20px;
    background: #0A0E21;
    border-radius: 30px;
}

.promo-title {
    color: #ffffff;
    font-size: 50px;
    font-weight: 500;
    margin-bottom: 40px;
    line-height: 1.2;
}

.promo-buttons .btn-link {
    padding: 5px 45px;
    border-radius: 30px;
    color: #000;
}

.promo-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    padding: 15px 40px;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    transition: all 0.3s ease;
}

@media (max-width: 1366px) {
    .promo-content {
        margin: 0 25px;
    }
}

@media (max-width: 480px) {
    .promo-title {
        font-size: 32px;
    }

    .promo-buttons .btn-link {
        padding: 5px 15px;
        font-size: 18px;
    }

    .promo-box-section {
        padding: 90px 0;
    }

}

/* =================================================================
   7 Blog Detail Sticky Header
   ================================================================= */

.blog-detail-sticky {
    position: fixed;
    width: 100%;
    background: #fff;
    z-index: 99;
    top: 127px;
    box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.16);
    padding: 20px 0;
    transition: top 0.3s ease, transform 0.3s ease;
}

/* Prevent content jumping */
.blog-detail-sticky.hidden {
    transform: translateY(-100%);
}

.blog-detail-sticky.visible {
    transform: translateY(0);
}

.blog-detail-sticky .container{
    display: flex;
    justify-content: center; /*space-between*/
}

.blog-detail-sticky .sticky-title{
    font-size: 20px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.22;
    color:#000;
    width: 80%;
}

.blog-detail-sticky .sticky-share ul{
    margin: 0;
    list-style: none;
}

.blog-detail-sticky .sticky-share li{
    display: inline-block;
    margin-left: 5px;
}

.blog-detail-sticky .sticky-share a {
    color: #000;
    font-size: 18px;
    background: transparent;
    padding: 2px;
}

.blog-detail-sticky .sticky-share i.fab{
    margin-right: 7px;
}

.blog-detail-sticky .sticky-share .linkedin a,
.blog-detail-sticky .sticky-share .facebook a,
.blog-detail-sticky .sticky-share .twitter a {
    background: #fff;
}

.admin-bar #wrap .blog-detail-sticky{
    top: 159px;
}

/* Media queries for single post */
@media (max-width: 959px) {
    .admin-bar #main .blog-detail-sticky {
        top: 70px;
        padding: 15px 0 10px;
    }
    #main .blog-detail-sticky {
        top: 70px;
        padding: 15px 0 10px;
    }
    #main .blog-detail-sticky .container {
        align-items: center;
    }

    #main .blog-detail-sticky .sticky-title {
        width: 75%;
        font-size: 16px;
    }

    #main .blog-detail-sticky .sticky-share a {
        font-size: 16px;
        padding: 3px 6px;
    }

    #main .blog-detail-sticky .sticky-share i.fab {
        margin-right: 0;
    }

    #main .blog-detail-sticky .sticky-share .share span span {
        display: none;
    }
}

/* =================================================================
   Page Header
   ================================================================= */
header.page-header.singular {
    background: #0a0e21;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    border-bottom: 1px solid #e5e5e5;
}

/* Two-box wrapper */
.wp-singular  #wrap #main .page-header .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

header.page-header.singular .header-content-wrapper {
    display: flex;
    align-items: stretch;
    min-height: 315px;
    width: 100%;
    position: relative; /* Important for absolute positioning */
    padding: 0;
    margin: 0;
}

header.page-header.singular .header-left-box {
    width: 100%;
    max-width: 790px; /* 57% of 1440px */
    padding: 30px 60px 30px 0;
    margin-left: auto;
    margin-right: 0;
}

header.page-header.singular .header-right-box {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: calc(100% - 820px);
    min-width: 43%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* Remove any default margins/padding from thumbnail container */
header.page-header.singular .header-right-box .thumbnail {
    height: 100%;
    margin: 0;
    padding: 0;
    line-height: 0; /* Remove any line-height gaps */
}

header.page-header.singular .header-right-box .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block; /* Important: removes bottom gap from inline images */
    margin: 0;
    padding: 0;
}

/* Second line - Post Title */
header.page-header.singular .page-header-title {
    font-size: 42px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    margin: 0;
    border-bottom: none !important;
    letter-spacing: normal;
}

/* Single post header - Duplicate section */
header.page-header.singular {
    background: #0a0e21;
    width: 100%;
    margin: 0 auto 0;
    padding: 0;
    border-bottom: none;
}

.wp-singular #wrap #main .page-header .container {
    width: 100% !important;
    max-width: 100%;
    margin: 0 0 0 50px;
}

/* Header content wrapper */
header.page-header.singular .header-content-wrapper {
    display: flex;
    gap: 30px;
    align-items: stretch;
    margin: 0 auto;
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    min-height: 315px;
}

header.page-header.singular .header-left-box {
    flex: 0 0 57%;
    display: flex;
    flex-direction: column;
    margin: 0 50px;
}

header.page-header.singular .header-container {
    width:100%;
    margin-left: auto;
}

header.page-header.singular .header-right-box {
    flex: 1 0 25%;
    padding: 0;
    margin: 0;
    overflow: hidden;
    min-height: 315px;
}

/* Header thumbnail */
header.page-header.singular .header-right-box .thumbnail {
    height: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;
}

header.page-header.singular .header-right-box .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
    padding: 0;
}

/* Header meta line */
header.page-header.singular .header-meta-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

header.page-header.singular .breadcrumb-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}

header.page-header.singular .news-box-link {
    color: #5AD2EE;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
}

header.page-header.singular .news.box-link:hover {
    text-decoration: underline;
}

header.page-header.singular .breadcrumb-separator {
    color: #5AD2EE;
    margin: 0 5px;
}

/* Header categories */
header.page-header.singular .post-categories {
    display: inline;
    margin: 0;
    padding: 0;
}

header.page-header.singular .post-categories li {
    display: inline;
    list-style: none;
}

header.page-header.singular .post-categories a {
    color: #5AD2EE;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
}

header.page-header.singular .post-categories a:hover {
    text-decoration: underline;
}

/* Header date */
header.page-header.singular .header-meta-line .meta-date {
    font-size: 14px;
    color: #5AD2EE;
    flex-shrink: 0;
    font-weight: bold;
}

header.page-header.singular .header-meta-line .meta-date .meta-published {
    color: #FF4E00 !important;
}

/* Page header title */
header.page-header.singular .page-header-title {
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    margin: 0;
}

/* Page header inner */
.page-header-inner h3,
.page-header-inner h3 a {
    color: #8a8a8b;
    font-size: 12px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.83;
}

.page-header-inner h1 {
    color: #000;
    font-size: 32px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.22;
}

@media (min-width: 1440px) {
    header.page-header.singular .header-content-wrapper {
        padding-left: calc((100% - 1440px) / 2);
    }

    header.page-header.singular .header-right-box {
        width: calc(100% - 820px - ((100% - 1440px) / 2));
    }
}

/* Media queries for single post header */
@media (max-width: 1240px) {
    .admin-bar #wrap .blog-detail-sticky {
        top: 70px;
    }
}
@media (max-width: 959px) {
    header.page-header.singular {
        margin-top: 95px;
    }

    header.page-header.singular .header-content-wrapper {
        flex-direction: column;
        max-height: none;
        padding: 20px;
    }

    header.page-header.singular .header-left-box {
        flex: 1;
        width: 100%;
        margin: 0 0 20px 0;
        order: 1;
    }

    header.page-header.singular .header-container {
        width: 100%;
        float: none;
        margin-left: 0;
    }

    header.page-header.singular .header-meta-line {
        flex-wrap: wrap;
        gap: 10px;
    }

    header.page-header.singular .breadcrumb-wrapper {
        width: 100%;
    }

    header.page-header.singular .header-right-box {
        position:relative;
        flex: none;
        width: calc(100% + 40px);
        margin: 0 -20px -20px -20px;
        height: 250px;
        order: 2;
        max-width: none;
    }

    header.page-header.singular .header-left-box {
        padding: 30px 0 30px 0
    }

    header.page-header.singular .page-header-title {
        font-size: 28px;
        margin-bottom: 0;
    }

    #main header.page-header.singular {
        margin-top: 0;
    }
}

@media (max-width: 480px) {
    header.page-header.singular .header-content-wrapper {
        padding: 15px;
    }

    header.page-header.singular .page-header-title {
        font-size: 24px;
        -webkit-line-clamp: 4;
    }

    header.page-header.singular .header-right-box {
        width: calc(100% + 30px);
        margin: 0 -15px -15px -15px;
        height: 200px;
    }

    header.page-header.singular .news-box-link,
    header.page-header.singular .post-categories a {
        font-size: 12px;
    }

    header.page-header.singular .header-meta-line .meta-date {
        font-size: 12px;
    }
    .custom-author-box {
        gap: 10px;
    }

    .custom-author-box span.author-label,
    .custom-author-box .meta-author a {
        font-size: 13px;
    }

    .quest-search-field {
        width: 150px;
    }

    .quest-social {
        gap: 10px;
    }
}

/* Entry content (related to singular posts) */
.singular .entry-content p {
    color: #6f6e6f;
}

/* =================================================================
   9 CONTENT
   ================================================================= */
/* Entry content max widths */
.wp-singular #wrap #main .entry-content {
    margin-top: 80px;
    margin-bottom: 20px;
}

.single-post.content-max-width #wrap #main .entry-header,
.single-post.content-max-width #wrap #main ul.meta,
.single-post.content-max-width #wrap #main .entry-content h1,
.single-post.content-max-width #wrap #main .entry-content h3,
.single-post.content-max-width #wrap #main .entry-content h4,
.single-post.content-max-width #wrap #main .entry-content h5,
.single-post.content-max-width #wrap #main .entry-content h6,
.single-post.content-max-width #wrap #main .entry-content blockquote,
body.single-post.content-max-width #wrap #main .entry-content p,
.single-post.content-max-width #wrap #main .wp-block-image,
.single-post.content-max-width #wrap #main .wp-block-buttons,
.single-post.content-max-width #wrap #main .wp-block-gallery,
.single-post.content-max-width #wrap #main .wp-block-video,
.single-post.content-max-width #wrap #main .wp-block-quote,
.single-post.content-max-width #wrap #main .wp-block-table,
.single-post.content-max-width #wrap #main .wp-block-text-columns,
.single-post.content-max-width #wrap #main .wp-block-code,
.single-post.content-max-width #wrap #main .wp-block-preformatted,
.single-post.content-max-width #wrap #main .entry-content h2,
.single-post.content-max-width #wrap #main .entry-content ol,
.single-post.content-max-width #wrap #main .wp-block-cover-text,
.single-post.content-max-width #wrap #main .wp-block-cover,
.single-post.content-max-width #wrap #main .wp-block-columns,
.single-post.content-max-width #wrap #main .post-tags,
.single-post.content-max-width #wrap #main .comments-area {
    margin: 1.5em auto;
    max-width: 950px;
    padding: 0;
}

.single-post.content-max-width #wrap #main .entry-content ul {
    margin: 1.5em auto;
    max-width: 950px;
    padding: 0 20px;
}

.single-post.content-max-width .entry-content > div {
    margin: 1.5em auto;
    max-width: 950px;
    padding: 0;
}

/* Author box wrapper */
.author-box-wrapper {
    margin-top: 40px;
    margin-bottom: 20px;
    padding: 0 !important;
}

.author-box-wrapper .author-box-container {
    background: transparent;
}

.author-box-wrapper .author-content p:first-child,
.author-box-wrapper .author-content .contact-details p:first-child {
    margin: 0 !important;
}

.single-post.content-max-width #wrap #main .entry-content .author-box-wrapper .author-box-container h4.author-box-title,
.single-post.content-max-width #wrap #main .entry-content .author-box-wrapper .author-box-container .author-media-contact h4 {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.single-post.content-max-width #wrap #main .entry-content .author-box-wrapper .author-box-container .author-media-contact .contact-details p {
    margin: 5px 0 !important;
}

/* Related posts */
body #wrap #main #related-posts-back.container {
    max-width: 100%;
}

body #wrap #main #related-posts-back.related-post-v2 {
    margin: 80px 0;
}



/* Related posts */
.related-post-v2 {
    padding-top: 15px;
}

.related-post-v2 h2 {
    color: #14215C;
    margin-top: 0;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
}

.related-post-container {
    display: grid;
    grid-template-columns: repeat(3, 425px);
    gap: 25px;
    justify-content: center;
}

.related-post-box {
    padding: 30px 40px;
    margin: 0;
    width: 425px;
    max-width: 100%;
    box-shadow: 0 2px 10px 0 rgb(140 114 80 / 25%);
    -webkit-box-shadow: 0 2px 10px 0 rgb(140 114 80 / 25%);
    background-color: #fff;
    transition: .3s;
    color: #000;
    border-radius: 25px;
    border: none !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex: 1;
}

.related-post-box .published {
    font-size: 14px !important;
    line-height: 18px;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #0a8cbf;
}

.related-post-box .material-symbols-outlined {
    font-size: 18px;
    color: #000;
}

.related-post-box .related-post-img,
.related-post-box .related-post-figure {
    height: 125px;
    overflow: hidden;
    background: #eee;
    position: relative;
    margin: 0 0 20px 0;
}

.related-post-box .related-post-img img,
.related-post-box .related-post-figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-width: 100%;
}

.related-post-box .related-post-txt {
    padding: 10px 0 20px;
}

.related-post-box .related-post-readmore {
    font-size: 14px;
    font-weight: bold;
    text-align: right;
    margin: 15px 0 0;
}

.related-post-box .related-post-title,
.related-post-box .related-post-title a {
    font-size: 20px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    height: 78px;
    line-height: 1.3;
    letter-spacing: normal;
    text-align: left;
    color: #000;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.related-post-box .related-post-author {
    font-size: 16px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.63;
    letter-spacing: normal;
    text-align: left;
    color: #10556c;
    margin: 10px 0;
    display: block;
}

.related-post-txt .related-post-author a {
    color: #10556c;
}

.related-post-box p {
    font-size: 16px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: left;
    color: #53565a;
    margin: 0;
}

.related-post-box .post-tile-bottom {
    padding: 10px 15px;
    margin: 0;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.67;
    text-align: left;
    position: absolute;
    bottom: 20px;
    list-style: none;
    display: block;
    border-top: 1px solid #eee;
    width: 345px;
    max-width: calc(100% - 80px);
}

.related-post-box .post-categories {
    margin: 0;
}

.related-post-box .post-categories li {
    display: inline-block;
    margin: 0 20px 0 0;
}

.related-post-box .post-categories li a {
    font-size: 16px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: left;
    color: #01556c;
}

.related-post-box .related-post-share {
    position: absolute;
    right: 14px;
    top: 14px;
}

.related-post-box .related-post-share ul {
    margin: 0;
    list-style: none;
}

.related-post-box .related-post-share li {
    display: inline-block;
    margin-left: 5px;
}

.related-post-box .related-post-share li i {
    font-size: 16px;
    color: #01556c;
}

/* Has sidebar variations */
.has-sidebar .related-post-container {
    grid-template-columns: repeat(2, 425px);
}

.has-sidebar .related-post-box {
    width: 425px;
    max-width: 100%;
}

.has-sidebar .related-post-box .post-tile-bottom {
    position: unset;
    display: flex;
    justify-content: space-between;
    width: auto;
    max-width: 100%;
}

.has-sidebar .related-post-box .related-post-share {
    position: unset;
}

/* RESPONSIVE BREAKPOINTS */

/* Adjust image height for medium-large screens */
@media only screen and (min-width: 1200px) and (max-width: 1347px) {
    .related-post-box .related-post-img,
    .related-post-box .related-post-figure {
        height: 140px;
    }
}

/* Tablet - 2 columns at max-width 1343px */
@media (max-width: 1343px) {
    .related-post-container {
        grid-template-columns: repeat(2, 425px);
    }
}

/* Small tablet/large mobile - maintain 2 columns */
@media only screen and (max-width: 959px) {
    .has-sidebar .related-post-container {
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
        gap: 20px;
    }

    .has-sidebar .related-post-box {
        width: 100%;
        max-width: 100%;
    }

    #main .related-post-box .related-post-img,
    #main .related-post-box .related-post-figure {
        height: 125px;
    }

    #main .related-post-box .related-post-txt {
        padding-bottom: 30px;
    }

    #main .related-post-box .post-tile-bottom {
        position: relative;
        bottom: 0;
        width: 100%;
        max-width: calc(100% - 80px);
    }

    #content-wrap #author-bio #author-bio-inner {
        flex-flow: column;
        padding: 20px;
    }

    #content-wrap #author-bio #author-bio-inner .author-bio-avatar {
        display: block;
    }

    #author-bio .author-bio-avatar h3.author-bio-title.hidden-md {
        margin: 0px 0px 30px !important;
        font-size: 25px;
    }

    #author-bio .author-bio-avatar .author-bio-title a {
        margin-top: 0;
    }

    #author-bio .author-bio-avatar a {
        display: block;
    }

    .hidden-xs {
        display: none !important;
    }

    .hidden-md {
        display: block !important;
    }

    #main #author-bio .author-bio-avatar {
        background-position: top 56% right 41%;
    }
}

/* Mobile - 1 column at max-width 768px */
@media (max-width: 768px) {
    .related-post-container {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 0 15px;
    }

    .has-sidebar .related-post-container {
        grid-template-columns: 1fr;
    }

    .related-post-box,
    .has-sidebar .related-post-box {
        width: 100%;
        max-width: 100%;
        padding: 20px 25px;
        margin: 0;
    }

    .related-post-box .post-tile-bottom {
        width: 100%;
        max-width: calc(100% - 50px);
    }

    .author-box-container {
        padding: 20px;
    }

    .author-box-container h3.author-box-title {
        font-size: 1.3em;
    }

    .author-box-container h4 {
        font-size: 1.1em;
    }
}



/* author */
#content-wrap #author-bio #author-bio-inner {
    flex-flow: column;
    padding: 20px;
}

#content-wrap #author-bio #author-bio-inner .author-bio-avatar {
    display: block;
}

#author-bio .author-bio-avatar h3.author-bio-title.hidden-md {
    margin: 0px 0px 30px !important;
    font-size: 25px;
}

#author-bio .author-bio-avatar .author-bio-title a {
    margin-top: 0;
}

#author-bio .author-bio-avatar a {
    display: block;
}

.hidden-xs {
    display: none !important;
}

.hidden-md {
    display: block !important;
}

#main #author-bio .author-bio-avatar {
    background-position: top 56% right 41%;
}


/* Mobile - 1 column at max-width 768px */
@media (max-width: 768px) {
    .related-post-container {
        grid-template-columns: minmax(280px, 425px);
        gap: 20px;
        padding: 0 15px;
        justify-content: center;
        margin: 0 auto;
        max-width: 455px; /* 425px + padding */
    }

    .has-sidebar .related-post-container {
        grid-template-columns: minmax(280px, 425px);
        justify-content: center;
        max-width: 455px;
    }

    .related-post-box,
    .has-sidebar .related-post-box {
        width: 100%;
        max-width: 100%;
        padding: 20px 25px;
        margin: 0;
    }

    .related-post-box .post-tile-bottom {
        width: 100%;
        max-width: calc(100% - 50px);
    }

    .author-box-container {
        padding: 20px;
    }

    .author-box-container h3.author-box-title {
        font-size: 1.3em;
    }

    .author-box-container h4 {
        font-size: 1.1em;
    }
}

/* Media queries for post components */
@media only screen and (min-width: 1200px) and (max-width: 1347px) {
    .related-post-box .related-post-img,
    .related-post-box .related-post-figure {
        height: 140px;
    }
}

@media only screen and (max-width: 959px) {
    .has-sidebar .related-post-container {
        width: 100%;
    }

    .has-sidebar .related-post-box {
        width: 360px;
        max-width: 100%;
    }

    #main .related-post-box .related-post-img,
    #main .related-post-box .related-post-figure {
        height: 125px;
    }

    #main .related-post-box .related-post-txt {
        padding-bottom: 30px;
    }

    #main .related-post-box .post-tile-bottom {
        position: relative;
        bottom: 0;
    }

    #content-wrap #author-bio #author-bio-inner {
        flex-flow: column;
        padding: 20px;
    }

    #content-wrap #author-bio #author-bio-inner .author-bio-avatar {
        display: block;
    }

    #author-bio .author-bio-avatar h3.author-bio-title.hidden-md {
        margin: 0px 0px 30px !important;
        font-size: 25px;
    }

    #author-bio .author-bio-avatar .author-bio-title a {
        margin-top: 0;
    }

    #author-bio .author-bio-avatar a {
        display: block;
    }

    .hidden-xs {
        display: none !important;
    }

    .hidden-md {
        display: block !important;
    }

    #main #author-bio .author-bio-avatar {
        background-position: top 56% right 41%;
    }
}

@media (max-width: 768px) {
    .author-box-container {
        padding: 20px;
    }

    .author-box-container h3.author-box-title {
        font-size: 1.3em;
    }

    .author-box-container h4 {
        font-size: 1.1em;
    }
}

/* ==========================================================================
   Content Elements
   ========================================================================== */

/*
   SEARCH RESULT PAGE - IMPROVED WITH FLEXBOX
*/

.search-count {
    text-align: center;
    display: block;
    margin: 10px 0 45px 0;
}

/* Main container using flexbox */
.search-results #content article .search-entry-inner {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    margin-bottom: 40px;
}

/* Image container - fixed size */
.search-results article .thumbnail.search-thumbnail {
    flex: 0 0 360px;
    width: 360px;
    height: 200px;
    overflow: hidden;
    position: relative;
}

/* Ensure all images fill the container uniformly */
.search-results article .thumbnail.search-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    display: block;
}

/* Content container - takes remaining space */
.search-entry-content.clr {
    flex: 1;
    min-width: 0; /* Prevents flex item from overflowing */
}

/* Title styling */
.search-results #main article h2.search-entry-title {
    font-size: 24px;
    margin: 0 0 10px !important;
    line-height: 1.3;
}

.search-results #main article h2.search-entry-title a {
    color: #00556c;
    text-decoration: none;
    transition: color 0.3s ease;
}

.search-results #main article h2.search-entry-title a:hover {
    color: #003d4f;
}

/* Summary text */
.search-entry-summary {
    margin: 0 0 15px;
    line-height: 1.6;
    color: #555;
}

/* Read more link */
.search-entry-readmore {
    margin-top: auto;
}

.search-results article .search-entry-readmore a {
    color: #00556c;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

.search-results article .search-entry-readmore a:hover {
    text-decoration: none !important;
    color: #003d4f;
}

/* Mobile responsive - stack vertically */
@media (max-width: 768px) {
    .search-results #content article .search-entry-inner {
        flex-direction: column;
        gap: 20px;
    }

    .search-results article .thumbnail.search-thumbnail {
        flex: 0 0 auto;
        width: 100%;
        height: 250px;
    }

    .search-entry-content.clr {
        width: 100%;
    }

    .search-results #main article h2.search-entry-title {
        font-size: 20px;
    }
}

/* Tablet adjustments */
@media (min-width: 769px) and (max-width: 1024px) {
    .search-results article .thumbnail.search-thumbnail {
        flex: 0 0 280px;
        width: 280px;
        height: 180px;
    }

    .search-results #content article .search-entry-inner {
        gap: 20px;
    }
}

/* Optional: Add hover effect to images */
.search-results article .thumbnail.search-thumbnail a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.search-results article .thumbnail.search-thumbnail a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 85, 108, 0.1);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.search-results article .thumbnail.search-thumbnail a:hover::after {
    opacity: 1;
}

/* Ensure proper spacing between articles */
.search-results article {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e5e5e5;
}

.search-results article:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Fix for pagination alignment */
.oceanwp-pagination {
    margin-top: 40px;
    clear: both;
}


/* =================================================================
   QUEST FOOTER V3 - UNIFIED STRUCTURE
   ================================================================= */

/* Base Footer Styles */
#footer-v3.quest-footer-v3 {
    background-color: #0A0E21;
    color: #8a92b2;
    width: 100%;
    position: relative;
    overflow: hidden;
}

/* Footer Content Container */
#footer-v3.quest-footer-v3 .footer-content {
    max-width: 1440px;
    margin: 0 auto;
    padding: 50px 50px 0;
    /*position: relative;*/
}

/* =================================================================
   DESKTOP LAYOUT (> 1200px) - 5 COLUMNS
   ================================================================= */
@media (min-width: 1201px) {
    #footer-v3.quest-footer-v3 .footer-layout {
        display: grid;
        grid-template-columns: 0.9fr 1fr 1fr 1fr 1.5fr;
        gap: 0;
        align-items: start;
    }

    /* Column 1: Platform & Resources */
    #footer-v3.quest-footer-v3 .footer-section[data-section="platform"] {
        grid-column: 1;
        grid-row: 1;
    }

    #footer-v3.quest-footer-v3 .footer-section[data-section="resources"] {
        grid-column: 1;
        grid-row: 2;
        margin-top: 5px;
    }

    /* Column 2: Solutions & Partners */
    #footer-v3.quest-footer-v3 .footer-section[data-section="solutions"] {
        grid-column: 2;
        grid-row: 1;
    }

    #footer-v3.quest-footer-v3 .footer-section[data-section="partners"] {
        grid-column: 2;
        grid-row: 2;
        margin-top: 5px;
    }

    /* Column 3: Products & Support */
    #footer-v3.quest-footer-v3 .footer-section[data-section="products"] {
        grid-column: 3;
        grid-row: 1;
    }

    #footer-v3.quest-footer-v3 .footer-section[data-section="support"] {
        grid-column: 3;
        grid-row: 2;
        margin-top: 5px;
    }

    /* Column 4: About */
    #footer-v3.quest-footer-v3 .footer-section[data-section="about"] {
        grid-column: 4;
        grid-row: 1 / 3;
    }

    /* Column 5: Quest Info */
    #footer-v3.quest-footer-v3 .footer-section.f-quest-info {
        grid-column: 5;
        grid-row: 1 / 3;
    }

    /* Desktop column styling */
    #footer-v3.quest-footer-v3 .footer-section {
        padding: 0 30px;
        /*position: relative;*/
    }

    /* First column special padding */
    #footer-v3.quest-footer-v3 .footer-section[data-section="platform"],
    #footer-v3.quest-footer-v3 .footer-section[data-section="resources"] {
        padding-left: 0;
    }

    /* Quest info special padding */
    #footer-v3.quest-footer-v3 .footer-section.f-quest-info {
        padding: 130px 0 0 40px;
        width: 445px;
        max-width: 100%;
    }

    /* Green vertical dividers for desktop */
    /*#footer-v3.quest-footer-v3 .footer-section:not(:first-child):not([data-section="resources"]):not([data-section="partners"]):not([data-section="support"]) {
        border-left: 1px solid #D7F20C;
    }*/
    #footer-v3.quest-footer-v3 .footer-section[data-section="solutions"],
    #footer-v3.quest-footer-v3 .footer-section[data-section="partners"],
    #footer-v3.quest-footer-v3 .footer-section[data-section="products"],
    #footer-v3.quest-footer-v3 .footer-section[data-section="support"],
    #footer-v3.quest-footer-v3 .footer-section[data-section="about"] {
        border-left: 1px solid #D7F20C;
        padding-bottom: 999px;
        margin-bottom: -999px;
    }

    /* Add overflow hidden to the container */
    #footer-v3.quest-footer-v3 .footer-layout {
        overflow: hidden;
    }


    /* Hide accordion toggles on desktop */
    #footer-v3.quest-footer-v3 .accordion-toggle {
        display: none;
    }

    /* Show all content on desktop */
    #footer-v3.quest-footer-v3 .footer-section-content {
        display: block !important;
        height: auto !important;
        padding: 0 !important;
    }

    /* Portal links styling */
    #footer-v3.quest-footer-v3 .portal-link {
        margin-top: 30px;
    }
}

/* =================================================================
   TABLET LAYOUT (769px - 1200px) - 4 COLUMNS
   ================================================================= */
@media (min-width: 769px) and (max-width: 1200px) {
    #footer-v3.quest-footer-v3 .footer-content {
        padding: 50px 40px 0;
    }

    #footer-v3.quest-footer-v3 .footer-layout {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
    }

    /* Column assignments for tablet */
    #footer-v3.quest-footer-v3 .footer-section[data-section="platform"],
    #footer-v3.quest-footer-v3 .footer-section[data-section="resources"] {
        grid-column: 1;
    }

    #footer-v3.quest-footer-v3 .footer-section[data-section="solutions"],
    #footer-v3.quest-footer-v3 .footer-section[data-section="partners"] {
        grid-column: 2;
    }

    #footer-v3.quest-footer-v3 .footer-section[data-section="products"],
    #footer-v3.quest-footer-v3 .footer-section[data-section="support"] {
        grid-column: 3;
    }

    #footer-v3.quest-footer-v3 .footer-section[data-section="about"] {
        grid-column: 4;
    }

    #footer-v3.quest-footer-v3 .footer-section.f-quest-info {
        grid-column: 1 / -1;
        margin-top: 50px;
        padding-top: 50px;
        border-top: 1px solid #2d3555;
    }

    /* Spacing adjustments */
    #footer-v3.quest-footer-v3 .footer-section[data-section="resources"],
    #footer-v3.quest-footer-v3 .footer-section[data-section="partners"],
    #footer-v3.quest-footer-v3 .footer-section[data-section="support"] {
        padding-top: 40px;
    }

    /* Column styling */
    #footer-v3.quest-footer-v3 .footer-section {
        padding: 0 20px;
    }

    /* Vertical dividers */
    #footer-v3.quest-footer-v3 .footer-section:nth-child(n+2):not(.f-quest-info):not([data-section="resources"]):not([data-section="partners"]):not([data-section="support"]) {
        border-left: 1px solid #D7F20C;
    }

    /* Hide accordion toggles */
    #footer-v3.quest-footer-v3 .accordion-toggle {
        display: none;
    }

    /* Show all content */
    #footer-v3.quest-footer-v3 .footer-section-content {
        display: block !important;
        height: auto !important;
    }

    /* Hide portal links on tablet */
    #footer-v3.quest-footer-v3 .portal-link {
        display: none;
    }
}

/* =================================================================
   MOBILE LAYOUT (< 768px) - ACCORDION
   ================================================================= */
@media (max-width: 768px) {
    #footer-v3.quest-footer-v3 .footer-content {
        padding: 0;
    }

    #footer-v3.quest-footer-v3 .footer-layout {
        display: block;
    }

    /* Mobile sections */
    #footer-v3.quest-footer-v3 .footer-section {
        border-bottom: 1px solid #2d3555;
        padding: 0;
    }

    #footer-v3.quest-footer-v3 .footer-section:last-child {
        border-bottom: none;
    }

    /* Accordion headers */
    #footer-v3.quest-footer-v3 .footer-section-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px;
        cursor: pointer;
        user-select: none;
    }

    #footer-v3.quest-footer-v3 .footer-section-header h4 {
        margin: 0;
        color: #ffffff;
        font-size: 18px;
        font-weight: 600;
    }

    #footer-v3.quest-footer-v3 .footer-section-content a {
        font-size: 14px;
        line-height: 1;
    }

    /* Accordion toggle icon */
    #footer-v3.quest-footer-v3 .accordion-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        position: relative;
        transition: transform 0.3s ease;
    }

    #footer-v3.quest-footer-v3 .accordion-toggle::before {
        content: "\e5cf"; /* Material Symbols arrow_forward_ios */
        font-family: 'Material Symbols Outlined';
        font-size: 52px;
        font-weight: 300;
        color: #fff;
        line-height: 1;
        transition: transform 0.3s ease;
    }

    /* Rotate arrow when expanded */
    #footer-v3.quest-footer-v3 .footer-section.expanded .accordion-toggle::before {
        transform: rotate(90deg);
    }

    /* Accordion content */
    #footer-v3.quest-footer-v3 .footer-section-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease, padding 0.3s ease;
        padding: 0 20px;
    }

    #footer-v3.quest-footer-v3 .footer-section.expanded .footer-section-content {
        max-height: none;
        padding: 0 20px 20px;
    }

    /* Quest Info section - always visible on mobile */
    #footer-v3.quest-footer-v3 .footer-section.f-quest-info {
        border-top: 1px solid #2d3555;
        padding: 50px 20px 25px;
        margin-top: 0;
    }

    #footer-v3.quest-footer-v3 .footer-section.f-quest-info .footer-section-header {
        display: none;
    }

    #footer-v3.quest-footer-v3 .footer-section.f-quest-info .footer-section-content {
        max-height: none !important;
        overflow: visible !important;
        display: block !important;
        padding: 0 !important;
    }

    /* Mobile specific order */
    #footer-v3.quest-footer-v3 .footer-section[data-section="platform"] { order: 1; }
    #footer-v3.quest-footer-v3 .footer-section[data-section="solutions"] { order: 2; }
    #footer-v3.quest-footer-v3 .footer-section[data-section="products"] { order: 3; }
    #footer-v3.quest-footer-v3 .footer-section[data-section="about"] { order: 4; }
    #footer-v3.quest-footer-v3 .footer-section[data-section="resources"] { order: 5; }
    #footer-v3.quest-footer-v3 .footer-section[data-section="partners"] { order: 6; }
    #footer-v3.quest-footer-v3 .footer-section[data-section="support"] { order: 7; }
    #footer-v3.quest-footer-v3 .footer-section.f-quest-info { order: 8; }

    /* Mobile language selector */
    #footer-v3.quest-footer-v3 .f-lan-selector {
        margin-top: 20px;
        position: relative;
    }

    #footer-v3.quest-footer-v3 .f-lan-selector .current-country {
        display: flex;
        align-items: center;
        gap: 8px;
        cursor: pointer;
        color: #fff;
        font-size: 14px;
        justify-content: center;
    }

    #footer-v3.quest-footer-v3 .f-lan-selector .current-country:hover {
        color: #ffffff;
    }

    #footer-v3.quest-footer-v3 .f-lan-selector .current-country svg {
        width: 12px;
        height: 8px;
        fill: currentColor;
        transition: transform 0.3s ease;
    }

    #footer-v3.quest-footer-v3 .f-lan-selector .current-country.active svg {
        transform: rotate(180deg);
    }

    /* Country Popup - BUBBLE STYLE */
    #footer-v3.quest-footer-v3 .country-popup {
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        margin-bottom: 10px;
        background: #0A0E21;
        border: 1px solid #2d3555;
        border-radius: 12px;
        padding: 20px;
        min-width: 280px;
        max-width: 320px;
        display: none;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.5);
        z-index: 999999;
    }

    /* Arrow pointing down */
    #footer-v3.quest-footer-v3 .country-popup::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 10px solid #0A0E21;
    }

    /* Arrow border */
    #footer-v3.quest-footer-v3 .country-popup::before {
        content: '';
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 11px solid transparent;
        border-right: 11px solid transparent;
        border-top: 11px solid #2d3555;
        margin-top: -1px;
        z-index: -1;
    }

    #footer-v3.quest-footer-v3 .country-popup.open {
        display: block;
    }

    /* Remove the full screen overlay div */
    #footer-v3.quest-footer-v3 .country-popup > div {
        max-width: none;
        width: auto;
        background: transparent;
        border-radius: 0;
        border: none;
        padding: 0;
        position: static;
    }

    #footer-v3.quest-footer-v3 .country-popup ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    #footer-v3.quest-footer-v3 .country-popup ul li {
        margin-bottom: 12px;
    }

    #footer-v3.quest-footer-v3 .country-popup ul li:last-child {
        margin-bottom: 0;
    }

    #footer-v3.quest-footer-v3 .country-popup ul li a {
        display: block;
        padding: 12px 20px;
        background: transparent;
        border: 1px solid #2d3555;
        border-radius: 8px;
        color: #fff;
        text-decoration: none;
        font-size: 15px;
        transition: all 0.3s ease;
        white-space: nowrap;
    }

    #footer-v3.quest-footer-v3 .country-popup ul li a:hover {
        background: rgba(215, 242, 12, 0.1);
        border-color: #D7F20C;
        color: #ffffff;
    }

    #footer-v3.quest-footer-v3 .country-popup ul li.active a {
        background: rgba(215, 242, 12, 0.15);
        border-color: #D7F20C;
        color: #D7F20C;
        font-weight: 600;
    }
}

/* =================================================================
   COMMON STYLES - ALL BREAKPOINTS
   ================================================================= */

/* Section Headers */
#footer-v3.quest-footer-v3 .footer-section-header h4 {
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.5px;
}

/* Links */
#footer-v3.quest-footer-v3 .footer-section-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer-v3.quest-footer-v3 .footer-section-content li {
    margin-bottom: 5px;
}

#footer-v3.quest-footer-v3 .footer-section-content a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

#footer-v3.quest-footer-v3 .footer-section-content a:hover {
    color: #ffffff;
}

/* Base link styles */
#footer-v3.quest-footer-v3 .footer-section-content a {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4px;
    color: #fff;
    position: relative;
    display: inline-block;
    text-decoration: none;
}

/* Underline animation for content links */
#footer-v3.quest-footer-v3 .footer-section-content a::after {
    content: "";
    position: absolute;
    bottom: -9px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease-out;
}

/* Show white underline on hover */
#footer-v3.quest-footer-v3 .footer-section-content a:hover::after {
    transform: scaleX(1);
}

/* Show white underline on h4 hover */
#footer-v3.quest-footer-v3 .footer-section-header h4:hover::after {
    transform: scaleX(1);
}

/* Active links - always show underline */
#footer-v3.quest-footer-v3 .footer-section-content a.active::after {
    transform: scaleX(1);
}

/* Active h4 - always show underline */
#footer-v3.quest-footer-v3 .footer-section-header h4.active::after {
    transform: scaleX(1);
}

/* ALL active elements get green color */
#footer-v3.quest-footer-v3 .footer-section-content a.active::after,
#footer-v3.quest-footer-v3 .footer-section-header h4.active::after {
    background: #a9bf04;
}

/* Maintain green on hover for active elements */
#footer-v3.quest-footer-v3 .footer-section-content a.active:hover::after,
#footer-v3.quest-footer-v3 .footer-section-header h4.active:hover::after {
    background: #a9bf04;
}


/* Quest Info Section */
#footer-v3.quest-footer-v3 .f-quest-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Quest Logo - rounded left, square right */
#footer-v3.quest-footer-v3 .f-quest-info #f-logo {
    background: #ffffff;
    border-radius: 50px 0 0 50px;
    padding: 20px 100px 20px 40px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    align-self: flex-start;
    position: absolute;
    margin-right: 0;
    margin-top: 50px;
    top: 0;
    right: 0;
    width: 320px;
    height: 95px;
}

#footer-v3.quest-footer-v3 .f-quest-info #f-logo img {
    height: 50px;
    width: auto;
    aspect-ratio: auto 308 / 110;
}

#footer-v3.quest-footer-v3 .f-quest-description {
    font-size: 14px;
    line-height: 1.3;
    color: #fff;
}

/* Social Section */
#footer-v3.quest-footer-v3 .f-social-section {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

#footer-v3.quest-footer-v3 .f-social-icons {
    display: flex;
    gap: 12px;
    align-items: center;
}

#footer-v3.quest-footer-v3 .f-social-icons a {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid #a9bf04;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #a9bf04;
    background: transparent;
}

#footer-v3.quest-footer-v3 .f-social-icons a:hover {
    background: rgba(0, 212, 255, 0.1);
    transform: translateY(-2px);
}

#footer-v3.quest-footer-v3 .f-social-icons svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

/* Language Selector - Desktop */
#footer-v3.quest-footer-v3 .f-language-selector {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 15px;
    color: #fff;
}

#footer-v3.quest-footer-v3 .f-language-selector:hover {
    color: #ffffff;
}

/* Hide the dropdown SVG on desktop since we use CSS arrow */
#footer-v3.quest-footer-v3 .f-language-selector > svg {
    display: none;
}

/* Add arrow after language text on desktop */
#footer-v3.quest-footer-v3 .f-language-selector span::after {
    content: " →";
    margin-left: 5px;
    display: inline-block;
    transition: transform 0.3s ease;
}

/* Desktop Language Selector Popup */
#footer-v3.quest-footer-v3 .country-popup-desktop {
    position: absolute;
    bottom: 100%;
    left: 0;
    margin-bottom: 10px;
    background: #0A0E21;
    border: 1px solid #2d3555;
    border-radius: 8px;
    padding: 8px;
    min-width: 250px;
    display: none;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.5);
    z-index: 999999;
}

#footer-v3.quest-footer-v3 .f-language-selector.active .country-popup-desktop {
    display: block;
}

#footer-v3.quest-footer-v3 .country-popup-desktop ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#footer-v3.quest-footer-v3 .country-popup-desktop ul li {
    margin-bottom: 4px;
}

#footer-v3.quest-footer-v3 .country-popup-desktop ul li:last-child {
    margin-bottom: 0;
}

#footer-v3.quest-footer-v3 .country-popup-desktop ul li a {
    display: block;
    padding: 12px 16px;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    border-radius: 4px;
}

#footer-v3.quest-footer-v3 .country-popup-desktop ul li a:hover {
    background: rgba(215, 242, 12, 0.1);
    color: #ffffff;
}

#footer-v3.quest-footer-v3 .country-popup-desktop ul li.active a {
    background: rgba(215, 242, 12, 0.15);
    color: #D7F20C;
    font-weight: 600;
}

/* Footer Bottom */
#footer-v3.quest-footer-v3 .footer-bottom {
    border-top: 1px solid #1a1f35;
    margin-top: 80px;
    padding: 40px 0;
    position: relative;
    z-index: 2;
}

#footer-v3.quest-footer-v3 .footer-bottom-content {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 50px;
}

#footer-v3.quest-footer-v3 .footer-legal {
    display: block;
    text-align: left;
    font-size: 14px;
}

#footer-v3.quest-footer-v3 .footer-legal p {
    margin: 0;
    color: #fff;
}

#footer-v3.quest-footer-v3 .footer-legal a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
    font-size: 14px;
}

#footer-v3.quest-footer-v3 .footer-legal a:hover {
    color: #ffffff;
}

#footer-v3.quest-footer-v3 .separator {
    color: #fff;
    font-size: 12px;
    margin: 0 15px;
}

/* Desktop: Show link, hide text */
.footer-section-header h4 .desktop-header-link {
    display: block;
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
    font-size: inherit;
    margin: 0;
    padding: 0;
    transition: color 0.3s ease;
}

.footer-section-header h4 .mobile-header-text {
    display: none;
}

/* Desktop hover effect for the link */
.footer-section-header h4 .desktop-header-link:hover {
    color: #fff; /* Adjust to your brand color */
}

/* Desktop: Logo position absolute for screens bigger than 1200px */
@media (min-width: 1201px) {
    #footer-v3.quest-footer-v3 .f-quest-info #f-logo {
        background: #ffffff;
        border-radius: 50px 0 0 50px;
        padding: 20px 80px 20px 40px;
        display: inline-flex;
        align-items: center;
        text-decoration: none;
        position: absolute;
        /*margin-right: -50px;*/ /* Compensate for footer padding */
    }
}

/* Mobile/Tablet: Logo position relative for 1200px and less */
@media (max-width: 1200px) {
    #footer-v3.quest-footer-v3 .f-quest-info {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #footer-v3.quest-footer-v3 .f-quest-info #f-logo {
        background: #ffffff;
        border-radius: 50px 0 0 50px;
        padding: 20px 80px 20px 40px;
        display: inline-flex;
        align-items: center;
        text-decoration: none;
        align-self: center;
        margin: 0 auto 30px;
        position: relative;
    }
}

/* Hide accordion toggle and content on desktop for platform section */
@media (min-width: 769px) {
    .footer-section[data-section="platform"] .accordion-toggle {
        display: none;
    }

    .footer-section[data-section="platform"] .footer-section-content {
        display: none !important;
        max-height: 0 !important;
        overflow: hidden;
    }

    /* Remove pointer cursor from header on desktop since link handles clicks */
    .footer-section[data-section="platform"] .footer-section-header {
        cursor: default;
    }
}

/* Mobile: Hide link, show text */
@media (max-width: 768px) {
    .footer-section-header h4 .desktop-header-link {
        display: none;
    }

    .footer-section-header h4 .mobile-header-text {
        display: block;
    }

    /* Ensure accordion functionality on mobile */
    .footer-section[data-section="platform"] .accordion-toggle {
        display: block;
    }

    #footer-v3.quest-footer-v3 .footer-bottom {
        margin-top: 0;
        padding: 30px 20px;
    }

    #footer-v3.quest-footer-v3 .footer-bottom-content {
        padding: 0;
        text-align: center;
    }

    #footer-v3.quest-footer-v3 .f-quest-info #logo {
        align-self: center;
        margin-bottom: 25px;
        width: 75%;
        text-align: center;
    }

    #footer-v3.quest-footer-v3 .f-quest-description {
        display: none;
    }

    #footer-v3.quest-footer-v3 .f-social-section {
        align-items: center;
    }

    #footer-v3.quest-footer-v3 .footer-legal {
        display: block;
        text-align: center;
        font-size: 14px;
        width: 75%;
        margin: 0 auto;
    }
}

/* WordPress Admin Bar Compatibility */
.admin-bar #footer-v3.quest-footer-v3 {
    margin: 0;
}

/* Hide OceanWP footer when custom footer is active */
body.quest-custom-footer-active #footer {
    display: none;
}

/* Print Styles */
@media print {
    #footer-v3.quest-footer-v3 {
        display: none !important;
    }
}
/* FOOTER END */