/*
Theme Name: Optime Child
Template: optime
Author: TLC Logistics
Author URI: https://www.tlclogistics.lt/
Description: TLC Logistics WordPress child theme and performance patch.
Version: 1.1.58
License: ThemeForest
License URI: https://themeforest.net/licenses
Text Domain: optime-child
*/
/* -------------------------------------------------------------------------
 * TLC v5.9 UI compatibility fixes.
 * ---------------------------------------------------------------------- */

/* Polylang/Optime: the shared footer widgets can render in EN while Redux's
 * language-scoped dynamic background rule is missing. Keep the TLC footer
 * background identical to the Lithuanian version. */
html[lang^="en"] .site-footer.footer-layout1 .bg-overlay {
    background-color: #005680 !important;
}

/* Lightweight icon mode: guarantee both carousel directions even when the
 * original Material Design Iconic Font is intentionally not loaded. */
.zmdi-arrow-left::before,
.zmdi-long-arrow-left::before {
    content: "\2190" !important;
    font-family: Arial, "Helvetica Neue", sans-serif !important;
    font-size: 1.15em !important;
    font-style: normal !important;
}
.zmdi-chevron-left::before {
    content: "\2039" !important;
    font-family: Arial, "Helvetica Neue", sans-serif !important;
    font-size: 1.55em !important;
    line-height: .7 !important;
    font-style: normal !important;
}
.zmdi-chevron-right::before {
    content: "\203A" !important;
    font-family: Arial, "Helvetica Neue", sans-serif !important;
    font-size: 1.55em !important;
    line-height: .7 !important;
    font-style: normal !important;
}

/* Testimonial SVG navigation was visually oversized after the reduced theme
 * CSS profile. Restore compact controls without changing carousel behavior. */
.cms-testimonial-carousel.svg-nav .owl-nav .owl-prev,
.cms-testimonial-carousel.svg-nav .owl-nav .owl-next {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
    overflow: hidden;
    align-items: center !important;
    justify-content: center !important;
}
.cms-testimonial-carousel.svg-nav .owl-nav .owl-prev svg,
.cms-testimonial-carousel.svg-nav .owl-nav .owl-next svg {
    width: 22px !important;
    height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
}

/* The first portfolio WPBakery column commonly has margin-top:-5px. The
 * reduced profile kept vc_row overflow:hidden, which can crop the top of the
 * first "Projekto apžvalga" heading. */
.single-portfolio .post-type-portfolio .wpb-content-wrapper > .vc_row:first-child {
    overflow: visible !important;
}

/* -------------------------------------------------------------------------
 * TLC v5.10 brand consistency fixes.
 * ---------------------------------------------------------------------- */

/* Optime's original orange demo accent can still leak through on card-title
 * hover when a reduced critical CSS profile is active. Keep all TLC service,
 * industry and case-study card title hover states on the site red. */
.cms-services-carousel .grid-item-inner:hover .item-holder h4,
.cms-services-carousel .grid-item-inner:hover .item-holder h4 a,
.cms-services-carousel .grid-item-inner:hover .item-holder h5,
.cms-services-carousel .grid-item-inner:hover .item-holder h5 a,
.cms-services-grid .grid-item-inner:hover .item-holder h4,
.cms-services-grid .grid-item-inner:hover .item-holder h4 a,
.cms-services-grid .grid-item-inner:hover .item-holder h5,
.cms-services-grid .grid-item-inner:hover .item-holder h5 a,
.cms-case-studies-grid .grid-item-inner:hover .item-holder h4,
.cms-case-studies-grid .grid-item-inner:hover .item-holder h4 a,
.cms-case-studies-grid .grid-item-inner:hover .item-holder h5,
.cms-case-studies-grid .grid-item-inner:hover .item-holder h5 a,
.cms-case-studies-carousel .grid-item-inner:hover .item-holder h4,
.cms-case-studies-carousel .grid-item-inner:hover .item-holder h4 a,
.cms-case-studies-carousel .grid-item-inner:hover .item-holder h5,
.cms-case-studies-carousel .grid-item-inner:hover .item-holder h5 a,
.cms-grid .grid-item-inner:hover .item-title,
.cms-grid .grid-item-inner:hover .item-title a,
.cms-grid .item-title a:hover {
    color: #ed1c24 !important;
}

/* Some ThemeCore carousel layouts color the heading itself rather than its
 * anchor. Cover the direct hover state as well without changing normal blue. */
.cms-services-carousel .item-holder h4:hover,
.cms-services-carousel .item-holder h4:hover a,
.cms-services-carousel .item-holder h5:hover,
.cms-services-carousel .item-holder h5:hover a,
.cms-services-grid .item-holder h4:hover,
.cms-services-grid .item-holder h4:hover a,
.cms-services-grid .item-holder h5:hover,
.cms-services-grid .item-holder h5:hover a,
.cms-case-studies-grid .item-holder h4:hover,
.cms-case-studies-grid .item-holder h4:hover a,
.cms-case-studies-grid .item-holder h5:hover,
.cms-case-studies-grid .item-holder h5:hover a,
.cms-case-studies-carousel .item-holder h4:hover,
.cms-case-studies-carousel .item-holder h4:hover a,
.cms-case-studies-carousel .item-holder h5:hover,
.cms-case-studies-carousel .item-holder h5:hover a {
    color: #ed1c24 !important;
}


/* -------------------------------------------------------------------------
 * TLC v5.11 late-proof card brand hover fallback.
 * ---------------------------------------------------------------------- */
/* Keep normal card headings blue. The actual hover enforcement is also
 * printed late in wp_footer because Redux/ThemeCore can emit language/page
 * dynamic CSS after the child critical CSS in the document head. */
.cms-services-carousel .grid-item-inner .item-holder h4,
.cms-services-carousel .grid-item-inner .item-holder h4 a,
.cms-services-carousel .grid-item-inner .item-holder h5,
.cms-services-carousel .grid-item-inner .item-holder h5 a,
.cms-services-grid .grid-item-inner .item-holder h4,
.cms-services-grid .grid-item-inner .item-holder h4 a,
.cms-services-grid .grid-item-inner .item-holder h5,
.cms-services-grid .grid-item-inner .item-holder h5 a,
.cms-case-studies-grid .grid-item-inner .item-holder h4,
.cms-case-studies-grid .grid-item-inner .item-holder h4 a,
.cms-case-studies-grid .grid-item-inner .item-holder h5,
.cms-case-studies-grid .grid-item-inner .item-holder h5 a,
.cms-case-studies-carousel .grid-item-inner .item-holder h4,
.cms-case-studies-carousel .grid-item-inner .item-holder h4 a,
.cms-case-studies-carousel .grid-item-inner .item-holder h5,
.cms-case-studies-carousel .grid-item-inner .item-holder h5 a {
    color: #005680;
}


/* -------------------------------------------------------------------------
 * TLC v5.12 complete card accent guard.
 * ---------------------------------------------------------------------- */
/* Service/Industry layout 1 uses H4 while other Optime card variants use H5.
 * Guard both, plus the case-study category badge and service CTA highlight. */
.cms-case-studies-grid .grid-item-inner .item-featured .overlay-gradient .cat,
.cms-case-studies-carousel .grid-item-inner .item-featured .overlay-gradient .cat {
    background-color: #ed1c24 !important;
    border-color: #ed1c24 !important;
}

.cms-services-grid .grid-item-inner .item-holder .item-readmore a:hover,
.cms-services-carousel .grid-item-inner .item-holder .item-readmore a:hover {
    background-color: #ed1c24 !important;
    border-color: #ed1c24 !important;
    color: #fff !important;
}

.cms-services-grid .grid-item-inner:hover .item-holder h4,
.cms-services-grid .grid-item-inner:hover .item-holder h4 a,
.cms-services-carousel .grid-item-inner:hover .item-holder h4,
.cms-services-carousel .grid-item-inner:hover .item-holder h4 a,
.cms-case-studies-grid .grid-item-inner:hover .item-holder h4,
.cms-case-studies-grid .grid-item-inner:hover .item-holder h4 a,
.cms-case-studies-carousel .grid-item-inner:hover .item-holder h4,
.cms-case-studies-carousel .grid-item-inner:hover .item-holder h4 a,
.cms-grid .grid-item-inner:hover .item-holder h4,
.cms-grid .grid-item-inner:hover .item-holder h4 a,
.cms-grid .grid-item-inner:hover .item-holder h5,
.cms-grid .grid-item-inner:hover .item-holder h5 a {
    color: #ed1c24 !important;
}

.cms-services-grid .item-readmore a:hover::after,
.cms-services-carousel .item-readmore a:hover::after,
.cms-case-studies-grid .item-readmore a:hover::after,
.cms-case-studies-carousel .item-readmore a:hover::after {
    background-color: #ed1c24 !important;
}

/* -------------------------------------------------------------------------
 * TLC v5.14 reusable service-content components.
 * These styles do nothing until the corresponding [tlc_*] shortcodes are used.
 * ---------------------------------------------------------------------- */
.tlc-process {
    margin: 0;
}
.tlc-process__title {
    margin: 0 0 26px;
    color: #005680;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 700;
}
.tlc-process__steps {
    column-count: 2;
    column-gap: 54px;
    counter-reset: tlc-process-step;
}
.tlc-process__step {
    display: inline-block;
    width: 100%;
    break-inside: avoid;
    page-break-inside: avoid;
    margin: 0 0 4px;
    counter-increment: tlc-process-step;
}
.tlc-process__step-title {
    display: inline;
    margin: 0;
    color: #929292;
    font-size: 20px;
    line-height: 1.58;
    font-weight: 700;
}
.tlc-process__step-title::before {
    content: counter(tlc-process-step) ". ";
}
.tlc-process__step-description {
    color: #9a9a9a;
    font-size: 20px;
    line-height: 1.58;
}
.tlc-process__step-description p {
    margin: 0;
}
.tlc-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
}
.tlc-feature {
    height: 100%;
    padding: 20px 30px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 20px 40px rgba(0,0,0,.06);
    text-align: left;
}
.tlc-feature__icon {
    margin-bottom: 20px;
}
.tlc-feature__icon img,
.tlc-service-icon {
    display: block;
    width: 50px;
    height: auto;
}
.tlc-feature__title {
    margin: 0 0 15px;
    color: #005680;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
}
.tlc-feature__description,
.tlc-feature__description p {
    margin: 0;
    color: #666;
    font-size: 15px;
    line-height: 1.6;
}
@media (max-width: 767px) {
    .tlc-process__steps {
        column-count: 1;
    }
    .tlc-process__title {
        font-size: 26px;
    }
    .tlc-process__step-title,
    .tlc-process__step-description {
        font-size: 18px;
    }
    .tlc-feature-grid {
        grid-template-columns: 1fr;
    }
}


/* -------------------------------------------------------------------------
 * TLC v5.24 brand typography.
 * ---------------------------------------------------------------------- */

/*
 * Typography hierarchy:
 * - H1 / homepage hero title: Neutraface 2 Display Titling, upright, native weight.
 * - H2-H6 / component titles: Neutraface 2 Text Bold, upright.
 * - Body, menu and interface copy: Open Sans.
 *
 * Use TLC-specific family aliases to avoid conflicts with Optime/Redux/custom
 * font registrations. font-synthesis:none prevents the browser from creating
 * faux bold/italic variants that visually change the licensed faces.
 */
html,
body,
button,
input,
select,
textarea {
    font-family: "Open Sans", Arial, sans-serif !important;
}

/* Header navigation is always Open Sans, independently of heading styles. */
#site-header-wrap .main-navigation,
#site-header-wrap .main-navigation a,
#site-header-wrap .primary-menu,
#site-header-wrap .primary-menu a,
#site-header-wrap .sub-menu,
#site-header-wrap .sub-menu a,
#site-header-wrap .language-dropdow,
#site-header-wrap .language-dropdow a {
    font-family: "Open Sans", Arial, sans-serif !important;
    font-style: normal !important;
}

/* All secondary headings and title components use the upright Text Bold face. */
h2, h2 a, h2 span, h2 strong, h2 em,
h3, h3 a, h3 span, h3 strong, h3 em,
h4, h4 a, h4 span, h4 strong, h4 em,
h5, h5 a, h5 span, h5 strong, h5 em,
h6, h6 a, h6 span, h6 strong, h6 em,
.cms-heading h2.heading-tag,
.cms-heading h3.heading-tag,
.cms-heading h4.heading-tag,
.cms-heading h5.heading-tag,
.cms-heading h6.heading-tag,
.cms-heading h2.cms-heading-tag,
.cms-heading h3.cms-heading-tag,
.cms-heading h4.cms-heading-tag,
.cms-heading h5.cms-heading-tag,
.cms-heading h6.cms-heading-tag,
.cms-grid .item-title,
.cms-grid .item-title a,
.cms-services-grid .item-holder h4,
.cms-services-grid .item-holder h4 a,
.cms-services-grid .item-holder h5,
.cms-services-grid .item-holder h5 a,
.cms-services-carousel .item-holder h4,
.cms-services-carousel .item-holder h4 a,
.cms-services-carousel .item-holder h5,
.cms-services-carousel .item-holder h5 a,
.cms-case-studies-grid .item-holder h4,
.cms-case-studies-grid .item-holder h4 a,
.cms-case-studies-grid .item-holder h5,
.cms-case-studies-grid .item-holder h5 a,
.cms-case-studies-carousel .item-holder h4,
.cms-case-studies-carousel .item-holder h4 a,
.cms-case-studies-carousel .item-holder h5,
.cms-case-studies-carousel .item-holder h5 a,
.tlc-process__title,
.tlc-process__step-title,
.tlc-feature__title {
    font-family: "TLC Neutraface Text Bold", "Neutraface 2 Text Bold", "Neutraface2Text-Bold", "Open Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
    font-synthesis: none !important;
}

/* H1 must use the Display Titling master at its native weight. */
h1,
h1 a,
h1 span,
h1 strong,
h1 em,
body.home .kn-hero-row h1,
body.home .kn-hero-row .cms-heading h1,
body.home .kn-hero-row .heading-tag,
body.home .kn-hero-row .cms-heading-tag {
    font-family: "TLC Neutraface Display", "Neutraface 2 Display", "Neutraface2Display", "Open Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-synthesis: none !important;
}

.cms-testimonial-carousel.layout2 .cms-testimonial-item .cms-testimonial-item-inner
.cms-testimonial-content .content {
    font-family: "Open Sans", Arial, sans-serif !important;
}



/* -------------------------------------------------------------------------
 * TLC v5.26 site-wide sidebar visual scale + popup-safe layout.
 * ---------------------------------------------------------------------- */

/* Keep Optime's original sidebar/main-content column proportions. The old
 * v5.25 transform on #secondary made position:fixed contact dialogs use the
 * sidebar as their containing block. Instead, visually zoom the rendered
 * sidebar contents to 85% while the #secondary column itself stays untouched.
 * The left offset centers the 85%-wide result inside the original column. */
@media screen and (min-width: 1200px) {
    #secondary.widget-area {
        transform: none !important;
    }

    #secondary.widget-area > * {
        zoom: 0.85;
        width: 100%;
        margin-left: 8.823529%;
    }
}

/* Fixed dialogs detached from a sidebar are promoted above every Optime page
 * title/header stacking context. A backdrop remains one layer below a dialog. */
.tlc-sidebar-popup-detached {
    z-index: 90000 !important;
}

.tlc-sidebar-popup-detached.tlc-sidebar-popup-backdrop {
    z-index: 89999 !important;
}

/* -------------------------------------------------------------------------
 * TLC v5.20 responsive header and navigation.
 * ---------------------------------------------------------------------- */

/* Desktop header: reserve enough space for the wide TLC logo and keep the
 * navigation in its own column. */
@media screen and (min-width: 1200px) {
    #site-header-wrap .container > .row > .col-lg-2 {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }

    #site-header-wrap .container > .row > .col-lg-10 {
        flex: 0 0 75% !important;
        max-width: 75% !important;
    }

    #site-header-wrap .site-branding a {
        width: 270px !important;
        max-width: 100% !important;
    }

    #site-header-wrap .primary-menu > li {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    #site-header-wrap .header-main-inner .site-header-right {
        margin-left: 12px !important;
    }
}

/* Tablet + mobile use the hamburger through 1199px. This intentionally
 * overrides Optime's original 991px breakpoint so there is no dead range. */
@media screen and (max-width: 1199px) {
    #site-header-wrap,
    #site-header-wrap .site-header-main,
    #site-header-wrap .container,
    #site-header-wrap .container > .row {
        overflow: visible !important;
    }

    #site-header-wrap .container > .row {
        position: relative;
        align-items: center;
    }

    #site-header-wrap .header-main-inner {
        display: block !important;
        position: static !important;
        width: 100% !important;
    }

    #site-header-wrap .container > .row > .col-lg-2,
    #site-header-wrap .container > .row > .col-lg-10 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    #site-header-wrap .container > .row > .col-lg-10 {
        position: static !important;
        min-height: 0 !important;
    }

    #site-header-wrap,
    #site-header-wrap.header-layout1 {
        background-color: #fff;
    }

    #site-header-wrap .site-branding {
        min-height: 90px;
        position: relative;
    }

    #site-header-wrap .site-branding a {
        opacity: 0 !important;
        display: block !important;
        line-height: 90px !important;
    }

    #site-header-wrap .site-branding a.logo-mobile {
        opacity: 1 !important;
    }

    #site-header-wrap .site-branding a.logo-light,
    #site-header-wrap .site-branding a.logo-dark {
        opacity: 0 !important;
    }

    #site-header-wrap .header-main-inner .site-header-right {
        display: none !important;
    }

    html body #site-header-wrap #main-menu-mobile {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        align-items: center;
        justify-content: center;
        position: absolute !important;
        top: 45px !important;
        right: 18px !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        transform: translateY(-50%) !important;
        z-index: 10050 !important;
    }

    #main-menu-mobile > .icon-in-nav.mobile-icon,
    #main-menu-mobile .h-btn-search,
    #main-menu-mobile .search-icon {
        display: none !important;
    }

    html body #site-header-wrap #main-menu-mobile .btn-nav-mobile {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        position: relative !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
    }

    /* Re-declare the three hamburger bars through 1199px. Optime defines
     * these only inside its original max-width:991px media query. */
    html body #site-header-wrap #main-menu-mobile .btn-nav-mobile::before,
    html body #site-header-wrap #main-menu-mobile .btn-nav-mobile::after,
    html body #site-header-wrap #main-menu-mobile .btn-nav-mobile span {
        content: "" !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        left: 5px !important;
        right: auto !important;
        width: 22px !important;
        height: 2px !important;
        margin: 0 !important;
        background-color: #005680 !important;
        transform-origin: center !important;
        transition: transform 180ms ease, top 180ms ease, opacity 180ms ease !important;
    }

    html body #site-header-wrap #main-menu-mobile .btn-nav-mobile::before {
        top: 9px !important;
    }

    html body #site-header-wrap #main-menu-mobile .btn-nav-mobile span {
        top: 15px !important;
    }

    html body #site-header-wrap #main-menu-mobile .btn-nav-mobile::after {
        top: 21px !important;
    }

    html body #site-header-wrap #main-menu-mobile .btn-nav-mobile.opened::before {
        top: 15px !important;
        transform: rotate(45deg) !important;
    }

    html body #site-header-wrap #main-menu-mobile .btn-nav-mobile.opened::after {
        top: 15px !important;
        transform: rotate(-45deg) !important;
    }

    html body #site-header-wrap #main-menu-mobile .btn-nav-mobile.opened span {
        opacity: 0 !important;
    }

    #site-navigation.main-navigation {
        display: block !important;
        background-color: #fff;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        position: absolute !important;
        padding: 15px 20px !important;
        top: calc(100% + 30px) !important;
        bottom: auto !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none;
        transition: opacity 200ms linear, top 200ms linear !important;
        z-index: -1 !important;
    }

    #site-navigation.main-navigation.navigation-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto;
        top: 100% !important;
        z-index: 1001 !important;
    }

    #site-navigation.main-navigation > ul,
    #site-navigation .primary-menu {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        list-style: none;
        margin: 0 !important;
        padding: 0 !important;
    }

    #site-navigation .primary-menu > li,
    #site-navigation .primary-menu li {
        display: block !important;
        float: none !important;
        width: 100% !important;
        padding: 0 !important;
        white-space: normal !important;
        position: relative;
        list-style: none;
        overflow: visible !important;
    }

    #site-navigation .primary-menu li a,
    #site-navigation .primary-menu .sub-menu li a {
        display: block !important;
        padding: 10px 36px 10px 0 !important;
        color: #000 !important;
        font-weight: 600;
        font-size: 15px;
        line-height: 24px !important;
        border-bottom: 0 !important;
    }

    #site-navigation .primary-menu > li > a {
        font-weight: 700;
    }

    #site-navigation .primary-menu > li.current_page_item > a,
    #site-navigation .primary-menu > li.current-menu-item > a,
    #site-navigation .primary-menu > li.current-menu-ancestor > a,
    #site-navigation .primary-menu .sub-menu > li.current_page_item > a,
    #site-navigation .primary-menu .sub-menu > li.current-menu-item > a,
    #site-navigation .primary-menu .sub-menu > li.current-menu-ancestor > a {
        color: #ed1c24 !important;
    }

    #site-navigation .primary-menu .sub-menu {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        min-width: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 0 0 20px !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        clip: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
        display: none !important;
        transition: none !important;
    }

    #site-navigation .primary-menu .sub-menu.submenu-open {
        display: block !important;
    }

    .main-menu-toggle {
        cursor: pointer;
        display: inline-block !important;
        height: 40px;
        position: absolute;
        right: -4px;
        text-align: center;
        top: 2px;
        width: 40px;
        z-index: 3;
    }

    .main-menu-toggle::before,
    .main-menu-toggle::after {
        content: "";
        position: absolute;
        background-color: #222;
    }

    .main-menu-toggle::before {
        height: 11px;
        left: 19px;
        top: 12px;
        width: 1px;
    }

    .main-menu-toggle::after {
        height: 1px;
        left: 14px;
        top: 17px;
        width: 11px;
    }

    .menu-item-has-children.tlc-submenu-open > .main-menu-toggle::before,
    .primary-menu .sub-menu.submenu-open + .main-menu-toggle::before {
        height: 0;
    }
}


/* -------------------------------------------------------------------------
 * TLC v5.32 mobile sidebar shortcut.
 * ---------------------------------------------------------------------- */
/* On phones/tablets the normal sidebar follows the article. Keep it in the
 * document flow and provide a small viewport shortcut instead of moving the
 * sidebar into an off-canvas layer. */
#tlc-mobile-sidebar-shortcut {
    display: none;
}

@media screen and (max-width: 991px) {
    body.single-service #secondary.widget-area,
    body.single-industry #secondary.widget-area {
        scroll-margin-top: 92px;
    }

    #tlc-mobile-sidebar-shortcut {
        position: fixed;
        right: 16px;
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        z-index: 999;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 44px;
        padding: 10px 15px;
        border: 0;
        border-radius: 3px;
        background: #ed1c24;
        color: #fff;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
        font-family: "Open Sans", Arial, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0;
        cursor: pointer;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
        -webkit-tap-highlight-color: transparent;
    }

    #tlc-mobile-sidebar-shortcut:hover,
    #tlc-mobile-sidebar-shortcut:focus {
        background: #005680;
        color: #fff;
        outline: none;
    }

    #tlc-mobile-sidebar-shortcut.is-hidden {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(8px);
    }
}

@media screen and (min-width: 992px) {
    #tlc-mobile-sidebar-shortcut {
        display: none !important;
    }
}

/* -------------------------------------------------------------------------
 * TLC v5.37 tablet/mobile header continuity.
 * IMPORTANT: this block is also appended to performance/style-critical.min.css,
 * because optimized pages inline that file instead of loading style.css.
 * ---------------------------------------------------------------------- */
@media screen and (max-width: 1199px) {
    /* The existing #masthead remains the single layout placeholder. We only
       float #site-header-wrap after it has naturally scrolled out, so there is
       no extra spacer/white row at the top of the page. */
    #site-header-wrap.tlc-mobile-headroom-fixed {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 10040 !important;
        background: #fff !important;
        box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12) !important;
        transform: translate3d(0, -105%, 0) !important;
        transition: transform 190ms ease-out !important;
        will-change: transform;
    }

    #site-header-wrap.tlc-mobile-headroom-fixed.tlc-mobile-headroom-visible {
        transform: translate3d(0, 0, 0) !important;
    }

    /* Parent Optime keeps changing #headroom.headroom--up on scroll. While the
       wrapper is controlled by this mobile patch, neutralize that second fixed
       layer so the two systems cannot fight each other. */
    #site-header-wrap.tlc-mobile-headroom-fixed #headroom,
    #site-header-wrap.tlc-mobile-headroom-fixed #headroom.headroom--up,
    #site-header-wrap.tlc-mobile-headroom-fixed #headroom.headroom--down {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: auto !important;
        transform: none !important;
        animation: none !important;
        transition: none !important;
        background: #fff !important;
    }

    /* Keep the normal mobile logo while Optime's headroom class changes. */
    #site-header-wrap.tlc-mobile-headroom-fixed .site-branding a.logo-mobile {
        opacity: 1 !important;
    }
    #site-header-wrap.tlc-mobile-headroom-fixed .site-branding a.logo-light,
    #site-header-wrap.tlc-mobile-headroom-fixed .site-branding a.logo-dark,
    #site-header-wrap.tlc-mobile-headroom-fixed .site-branding a.logo-light2 {
        opacity: 0 !important;
    }

    /* A long open hamburger menu must remain usable while the header floats. */
    #site-header-wrap.tlc-mobile-headroom-fixed #site-navigation.navigation-open {
        max-height: calc(100vh - 90px) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    #site-navigation .tlc-mobile-calculator-menu-item {
        display: block !important;
        margin-top: 12px !important;
        padding-top: 12px !important;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
    }

    #site-navigation .tlc-mobile-calculator-menu-item > a.tlc-mobile-calculator-link {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px;
        width: 100% !important;
        min-height: 48px;
        padding: 0 18px !important;
        margin: 0 !important;
        background: #ed1c24 !important;
        border: 2px solid #ed1c24 !important;
        border-radius: 2px;
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 44px !important;
        text-align: center !important;
    }

    #site-navigation .tlc-mobile-calculator-menu-item > a.tlc-mobile-calculator-link:hover,
    #site-navigation .tlc-mobile-calculator-menu-item > a.tlc-mobile-calculator-link:focus {
        background: #005680 !important;
        border-color: #005680 !important;
        color: #fff !important;
    }

    #site-navigation .tlc-mobile-calculator-arrow {
        font-size: 20px;
        line-height: 1;
    }

    /* The theme outputs two controls. Keep only the footer/mobile one. */
    .scroll-top.default {
        display: none !important;
    }
}

@media screen and (max-width: 782px) {
    body.admin-bar #site-header-wrap.tlc-mobile-headroom-fixed {
        top: 46px !important;
    }
}

@media screen and (min-width: 783px) and (max-width: 1199px) {
    body.admin-bar #site-header-wrap.tlc-mobile-headroom-fixed {
        top: 32px !important;
    }
}

@media screen and (max-width: 600px) {
    body.admin-bar #site-header-wrap.tlc-mobile-headroom-fixed {
        top: 0 !important;
    }
}

@media screen and (min-width: 1200px) {
    #site-navigation .tlc-mobile-calculator-menu-item {
        display: none !important;
    }
}

/* -------------------------------------------------------------------------
 * TLC v5.40 footer polish + selectable mobile Expert CTA.
 * ---------------------------------------------------------------------- */
/* Bottom-footer policy links: use a true vertical divider instead of Optime's
 * default hyphen separator. */
.site-footer .bottom-footer .footer-bottom-widget .widget_nav_menu.align-right ul li {
    padding-right: 14px !important;
    margin-right: 11px !important;
    border-right: 1px solid rgba(255, 255, 255, 0.42);
}
.site-footer .bottom-footer .footer-bottom-widget .widget_nav_menu.align-right ul li::after {
    content: none !important;
    display: none !important;
}
.site-footer .bottom-footer .footer-bottom-widget .widget_nav_menu.align-right ul li:last-child {
    padding-right: 0 !important;
    margin-right: 0 !important;
    border-right: 0 !important;
}

/* Optime already ships the CMS Social widget. When it is placed in the last
 * Footer Top column, align it to the right and make the icons readable on the
 * TLC blue footer. */
.site-footer .top-footer .cms-footer-item:last-child .widget_cs_social_widget,
.site-footer .top-footer .cms-footer-item:last-child .widget_cs_social_widget .cms-social {
    width: 100%;
}
.site-footer .top-footer .cms-footer-item:last-child .widget_cs_social_widget .cms-social {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li {
    margin: 0 !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a {
    width: 40px;
    height: 40px;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 50%;
    color: #fff !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:hover,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:focus {
    background: #ed1c24;
    border-color: #ed1c24;
    color: #fff !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a i {
    font-size: 18px !important;
    line-height: 1 !important;
}

@media screen and (max-width: 991px) {
    #tlc-mobile-sidebar-shortcut {
        right: 18px !important;
        bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
        min-height: 56px !important;
        padding: 13px 24px !important;
        border-radius: 4px !important;
        font-size: 16px !important;
        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22) !important;
    }

    .site-footer .top-footer .cms-footer-item:last-child .widget_cs_social_widget .cms-social {
        justify-content: flex-start;
    }
}

/* -------------------------------------------------------------------------
 * TLC v5.43 footer social icons.
 * ---------------------------------------------------------------------- */
/* Keep the social block left-aligned in its footer column on every viewport. */
.site-footer .top-footer .widget_cs_social_widget,
.site-footer .top-footer .widget_cs_social_widget .widget-content,
.site-footer .top-footer .widget_cs_social_widget .cms-social {
    text-align: left !important;
}
.site-footer .top-footer .cms-footer-item:last-child .widget_cs_social_widget .cms-social,
.site-footer .top-footer .widget_cs_social_widget .cms-social {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Some Optime builds print the network label inside the social link while the
 * full Font Awesome file is removed by the lightweight performance profile.
 * Hide that label and draw compact dependency-free brand marks instead. */
.site-footer .top-footer .widget_cs_social_widget .cms-social li a {
    position: relative !important;
    font-size: 0 !important;
    line-height: 1 !important;
    overflow: hidden !important;
    text-indent: 0 !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a > i,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a > span {
    font-size: 0 !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="facebook"]::before {
    content: "f" !important;
    display: block !important;
    color: #fff !important;
    font-family: Arial, "Helvetica Neue", sans-serif !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: lowercase !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="linkedin"]::before {
    content: "in" !important;
    display: block !important;
    color: #fff !important;
    font-family: Arial, "Helvetica Neue", sans-serif !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    font-style: normal !important;
    letter-spacing: -0.7px !important;
    text-transform: lowercase !important;
}


/* -------------------------------------------------------------------------
 * TLC v5.44: direct-open mobile Expert CTA + minimal footer social marks.
 * ---------------------------------------------------------------------- */
/* Footer social links: simple white brand letters, no circles/boxes. */
.site-footer .top-footer .widget_cs_social_widget .cms-social {
    justify-content: flex-start !important;
    gap: 18px !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:hover,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:focus {
    width: auto !important;
    min-width: 24px !important;
    height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    overflow: visible !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:hover,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:focus {
    opacity: .72;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="facebook"]::before {
    font-size: 25px !important;
    font-weight: 700 !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="linkedin"]::before {
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: -1px !important;
}


/* -------------------------------------------------------------------------
 * TLC v5.45: footer social icons use supplied white outline logo assets.
 * ---------------------------------------------------------------------- */
.site-footer .top-footer .widget_cs_social_widget,
.site-footer .top-footer .widget_cs_social_widget .widget-content,
.site-footer .top-footer .widget_cs_social_widget .cms-social {
    text-align: left !important;
}
.site-footer .top-footer .cms-footer-item:last-child .widget_cs_social_widget .cms-social,
.site-footer .top-footer .widget_cs_social_widget .cms-social {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 16px !important;
    width: auto !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li {
    margin: 0 !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:hover,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:focus {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    overflow: visible !important;
    vertical-align: top !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a > i,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a > span {
    opacity: 0 !important;
    font-size: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a::before {
    content: "";
    display: block !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="facebook"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li.facebook a::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li[class*="facebook"] a::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[title*="Facebook"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[aria-label*="Facebook"]::before {
    width: 18px !important;
    height: 32px !important;
    background-image: url("assets/social/facebook-white-outline.png") !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="linkedin"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li.linkedin a::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li[class*="linkedin"] a::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[title*="LinkedIn"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[aria-label*="LinkedIn"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[title*="Linkedin"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[aria-label*="Linkedin"]::before {
    width: 22px !important;
    height: 32px !important;
    background-image: url("assets/social/linkedin-white-outline.png") !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:hover,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:focus {
    opacity: .78 !important;
}


/* -------------------------------------------------------------------------
 * TLC v5.46: normalize supplied footer social icon heights.
 * ---------------------------------------------------------------------- */
.site-footer .top-footer .widget_cs_social_widget .cms-social li a::before {
    display: block !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="facebook"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li.facebook a::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li[class*="facebook"] a::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[title*="Facebook"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[aria-label*="Facebook"]::before {
    width: 24px !important;
    height: 34px !important;
    background-image: url("assets/social/facebook-white-outline.png") !important;
    background-size: auto 34px !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="linkedin"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li.linkedin a::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li[class*="linkedin"] a::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[title*="LinkedIn"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[aria-label*="LinkedIn"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[title*="Linkedin"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[aria-label*="Linkedin"]::before {
    width: 34px !important;
    height: 34px !important;
    background-image: url("assets/social/linkedin-white-outline.png") !important;
    background-size: auto 34px !important;
}


/* -------------------------------------------------------------------------
 * TLC v5.47: exact supplied social logos, equal visual height.
 * ---------------------------------------------------------------------- */
.site-footer .top-footer .widget_cs_social_widget .cms-social {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 18px !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:hover,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:focus {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: visible !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a > i,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a > span {
    display: none !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a::before {
    content: "" !important;
    display: block !important;
    height: 30px !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 100% 100% !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="facebook"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li[class*="facebook"] a::before {
    width: 16px !important;
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA2CAYAAADUOvnEAAADGElEQVR4nO2YvWoUURSAvzvZTdDIgoqFnRoQ/CEQJA9gIRkk04mvYJspRBD7YIrMm1hkigzEB7CwVQgiNgYLFVmSItnMzrHYe5LJ7Ozcmd0tRPbA5c79/e459+/MNWsb60wiSRSbOvX8MBCA1gSQOZvsa2d1pBHQgowfBhmQ5vLngQURKdXWGHPsh0GvETCJYg/AD4MsieKbwBNgBbgH3BGR68aYNnCmrYikxphrwGtgM4niVi1gEsWeHwbZ7vZOJ4niN8ALoANkgGe1KNPs1H4u2NhzAhWWRPGSiLwDli0oA/qO5lKIq02aRLGxsFvAnjHmNnDKYMF4NlSJKcTOOTR2dJuAwtqONpUyEpgz5Srw3Ga7YFkhPWTSKpNo2TP7fVpRV2FeIdQzqZ073WerDlAedggc2LRuixvAT63nWjSLwH2bnBtRTWFbwFvgSAtyWyUF8MMgdS2aDnClolwXUeKHwStrmcpjzgVsi4hXtqkL8l7rJ1FcOteuw1u3g2eMGWXKvJzYOHNp6Nq4KsXlPrZc0LDibvNqQr1RfZSaVDOTKNasTET6NebwrH7tRZNEcUtELgOICEkU94BOzTm8ZOPO7vZOWizM34eIiLe2sY6IPBaRIxHp5sKR1JOTQruuiHSzLPtty19axoX7sAUs1tCmTOZtKGqm835g49KTprg4JlnJegZ/0owyYF2Aq50OoCsi3+y3jNt5E/lijDnUxLRMWmbOlMG8fvbDQPR+zQN1s42jdVkb7e+rjVtALw88BPa56Bi1gaWKQejV9AP4xfAV1gY+2u8UwLNOLcAHBh7ZCrDih8ED4CnnDm+Z2foAIrLlh8Ey8Ejb2/DQD4M9GPizqiY2Q4AenDu9mnaJMUYHleY8hVJxHd4KrntbDB3exbN11OFdBq4D/ffuQxdQQVM7IFwdNZ3DiYEzDacOnGk4deBMw6kDZxpOHfj/a4iI9AvgfGgszre2wu9acYD9EfmNgeqXZMAfBi8ZQw959mf1Kuf/+OMBc47QdxG5W9WBiGCMObbtKl1EADPpm3dTqfNe2ugR3SV/AX7zkRrlk8+HAAAAAElFTkSuQmCC") !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="linkedin"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li[class*="linkedin"] a::before {
    width: 31px !important;
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAvCAYAAAClgknJAAAEqElEQVR4nNWaQYgcRRSGv6pulxDcRA2Sk6AIoiLIHsSgBC9K+rAtKIJiJAcF8SDGhiwiehC8uUILQoLuwYMHQfAgbaBRAoIeVg9eRFmiSBAVQcGooLLprvLQ9WZqemp2pmc3M5Mfmu56XVX9/nqvXr15u+rY86uEUOaFAiLXtEmW1sGOc0bcFjjFtVO4GiFfGAwQ8JUs8+J6a+1RpdQ1wNfAV04eLRIJLQ9lXqgkSy0QlXnxqrV2Syn1AbABbAKfl3lxtyOh5qVwGzog2wBeditvPPkR4JMyL+5JstSWeREFxs4cGsC5hS3z4lHgBH3f1/RJVsCytfYNcaNFsIQoJyv9eOCdPMeAUUrdBRwN9JkLtPh+mRdLwM0iH9HfAFhrV1x7YSwAUFtr/5lkkFLq4uVRpzu0bMgkS2ul1GdObgJ9DY0b/Ql87GRzD6dtVzkD/EqjaOUu490BNpIs/Vk2/sw0HQEN4B1Q3wPHgd9pSGjvioF3gZfc2JCVZg7l50JeeLwReAq4D7ga2ALeBz6Uvouw+tAiAH0S8gyNhVxbufaeKO+dI21XNpN+ZyiZA5QLqZrG963XNjQbd2jzOrI7hdWBjLa1OMFg0F7AEIYscLnRzmrLvDgE3AIcttbquq7/iuP4R+BCkqXbrk8EmJBFYpnUhdNl4KQxZh9Qa62tMUYBSmtdActVVX26uvbQ2XZWWubFY8aYFa31v/4HjDFKa70fOJdkaUk/270feIZmn10HaKUUcRwDbAPny7z4CHgrydILjsSQJdoudAB40X3QAFrrnntWQBzH8UHgrLea4qvHtdar0k8GOeIxsASUwIEyL94GHpFvCFcZ4vreDtwBPFfmxakkS894GXMPoc1zyd0l/vuXrE4Il7w5QuP+dhY+55SXs0UuCdfSlkXbB5wu82I9lAWHcp6rGIz9/gX9n5ltiDw4zhhzCHgPWKFvJf+s8XXyvy9ETpV58aScWTsRGIeuCVwMoLU+ARyjn5JMih5Ba+0rZV4c9lP5aQhMewbsZ9BN2m6208mugUopdUNd1084WSQvumI3KbQoH3IzebfTWLTWDwMkWVqVeaFmaQHoK78FvA48C5wENqy1fzCeBMBtZV5cK41ZWkCUfw24M8nSNeA08GaSpU8rpY4A3zCGhFLqIHCra+o2gUkITWOBys39TpKlLwASSSKaKshSkqXnaRJIIdom4bvfTSLsEg2mhUSdbWvtugjb+Y072b9wp++DDB5y/lyaJkMGGNoDk+T4U7mQMWZTKbUFI5MzmXdzgul2dQ50dSFZlG/H1JNk3h/cfSLdZlYW0Vr/N2HXizKECTxi7nWdADoVCmZJQFZzT2tJi2iBsW5T13VvERaRwFhEUdQLJItIoJNOi0hgLObtQrsuySy6C43FvC2wa1zxFvBxxRMIpdP+UT5tBXovKtemdQ8iRMDPFn0LdUkFQuO6Wtv/AdOeq4c2AU3fAn5nv9g0EAZHVJDbY7tAFtD/5kjELSV+Ax4gnMoamqLXL9JuKb8GrNOv0EU0ZGXcT948IYj8S+Be9yzzq9Zc3zl5PfPq9F4j9M8e4/4CHyxzS9m867gp5hmY63/BaPilRYIW1wAAAABJRU5ErkJggg==") !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:hover,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:focus {
    opacity: .78 !important;
}


/* -------------------------------------------------------------------------
 * TLC v5.48: crisp vector social marks. Replaces raster/base64 PNG rendering.
 * ---------------------------------------------------------------------- */
.site-footer .top-footer .widget_cs_social_widget .cms-social {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 18px !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:hover,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:focus {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
    overflow: visible !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a::before {
    content: "" !important;
    display: block !important;
    height: 28px !important;
    background: #ffffff !important;
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-size: auto !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    mask-size: contain !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="facebook"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li[class*="facebook"] a::before {
    width: 17px !important;
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgNTEyIj48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMjc5LjE0IDI4OGwxNC4yMi05Mi42NmgtODguOTF2LTYwLjEzYzAtMjUuMzUgMTIuNDItNTAuMDYgNTIuMjQtNTAuMDZIMjk3VjYuMjZTMjYwLjQzIDAgMjI1LjM2IDBjLTczLjIyIDAtMTIxLjA4IDQ0LjM4LTEyMS4wOCAxMjQuNzJ2NzAuNjJIMjIuODlWMjg4aDgxLjM5djIyNGgxMDAuMTdWMjg4eiIvPjwvc3ZnPg==") !important;
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgNTEyIj48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMjc5LjE0IDI4OGwxNC4yMi05Mi42NmgtODguOTF2LTYwLjEzYzAtMjUuMzUgMTIuNDItNTAuMDYgNTIuMjQtNTAuMDZIMjk3VjYuMjZTMjYwLjQzIDAgMjI1LjM2IDBjLTczLjIyIDAtMTIxLjA4IDQ0LjM4LTEyMS4wOCAxMjQuNzJ2NzAuNjJIMjIuODlWMjg4aDgxLjM5djIyNGgxMDAuMTdWMjg4eiIvPjwvc3ZnPg==") !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a[href*="linkedin"]::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li[class*="linkedin"] a::before {
    width: 25px !important;
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTAwLjI4IDQ0OEg3LjRWMTQ4LjloOTIuODh6bS00Ni40OS0zNDAuN0MyNC4wOSAxMDcuMyAwIDgzLjIgMCA1My42QTUzLjYgNTMuNiAwIDAgMSA1My42IDBjMjkuNyAwIDUzLjc5IDI0LjEgNTMuNzkgNTMuNiAwIDI5LjYtMjQuMDkgNTMuNy01My42IDUzLjd6TTQ0Ny45IDQ0OGgtOTIuNjhWMzAyLjRjMC0zNC43LS43LTc5LjItNDguMjktNzkuMi00OC4yOSAwLTU1LjY5IDM3LjctNTUuNjkgNzYuN1Y0NDhoLTkyLjc4VjE0OC45aDg5LjA4djQwLjhoMS4zYzEyLjQtMjMuNSA0Mi42OS00OC4zIDg3Ljg4LTQ4LjMgOTQgMCAxMTEuMjggNjEuOSAxMTEuMjggMTQyLjNWNDQ4eiIvPjwvc3ZnPg==") !important;
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBmaWxsPSIjMDAwIiBkPSJNMTAwLjI4IDQ0OEg3LjRWMTQ4LjloOTIuODh6bS00Ni40OS0zNDAuN0MyNC4wOSAxMDcuMyAwIDgzLjIgMCA1My42QTUzLjYgNTMuNiAwIDAgMSA1My42IDBjMjkuNyAwIDUzLjc5IDI0LjEgNTMuNzkgNTMuNiAwIDI5LjYtMjQuMDkgNTMuNy01My42IDUzLjd6TTQ0Ny45IDQ0OGgtOTIuNjhWMzAyLjRjMC0zNC43LS43LTc5LjItNDguMjktNzkuMi00OC4yOSAwLTU1LjY5IDM3LjctNTUuNjkgNzYuN1Y0NDhoLTkyLjc4VjE0OC45aDg5LjA4djQwLjhoMS4zYzEyLjQtMjMuNSA0Mi42OS00OC4zIDg3Ljg4LTQ4LjMgOTQgMCAxMTEuMjggNjEuOSAxMTEuMjggMTQyLjNWNDQ4eiIvPjwvc3ZnPg==") !important;
}
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:hover::before,
.site-footer .top-footer .widget_cs_social_widget .cms-social li a:focus::before {
    opacity: .78 !important;
}


/* -------------------------------------------------------------------------
 * TLC v5.50: safe EN homepage hero override + remove back-to-top.
 * No PHP/runtime logic is involved in this fix.
 * ---------------------------------------------------------------------- */
.kn-hero-row {
    background-image: url("https://tlclogistics.lt/wp-content/uploads/2026/09/Untitled-design-147.webp") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.scroll-top,
.scroll-top.default {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* -------------------------------------------------------------------------
 * TLC v1.1.58 CSS-only: native first-row heroes for content cleanup imports.
 * No PHP/runtime changes. Keeps v1.1.56 behavior intact.
 * ---------------------------------------------------------------------- */
.tlc-native-fullwidth-hero {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}
.tlc-native-fullwidth-hero > .wpb_column.tlc-hero-content {
    float: none !important;
    width: 100% !important;
    max-width: 1170px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
}
.tlc-native-fullwidth-hero .tlc-hero-content > .vc_column-inner {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Parent service landing pages use the same 1170/970/750 Bootstrap content
 * widths as the original theme, but without WPBakery stretch_row JS. */
.tlc-native-service-parent-hero {
    padding-top: 250px !important;
    padding-bottom: 220px !important;
    background-image: url("https://tlclogistics.lt/wp-content/uploads/2026/06/Untitled-design-107.png") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}
@media (min-width: 1200px) {
    .tlc-native-service-parent-hero {
        padding-left: calc((100vw - 1170px) / 2) !important;
        padding-right: calc((100vw - 1170px) / 2) !important;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .tlc-native-service-parent-hero {
        padding-left: calc((100vw - 970px) / 2) !important;
        padding-right: calc((100vw - 970px) / 2) !important;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .tlc-native-service-parent-hero {
        padding-left: calc((100vw - 750px) / 2) !important;
        padding-right: calc((100vw - 750px) / 2) !important;
    }
}
@media (max-width: 767px) {
    .tlc-native-service-parent-hero {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}
/* =========================================================
   TLC GLOBAL CONTENT LAYOUT FIXES v2
   Supports 2- or 3-column card grids with any number of
   stacked text blocks per column (2x1, 2x2, 2x3, 3x1,
   3x2, 3x3, etc.) without changing typography.
   ========================================================= */

/* 1. Equal-height Service / Industry text-block cards */
@media (min-width: 768px) {
    .tlc-equal-textblocks {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
    }

    .tlc-equal-textblocks:before,
    .tlc-equal-textblocks:after {
        display: none !important;
    }

    .tlc-equal-textblocks > .vc_column_container {
        display: flex !important;
        float: none !important;
        align-items: stretch !important;
    }

    .tlc-equal-textblocks > .vc_column_container > .vc_column-inner {
        display: flex !important;
        width: 100% !important;
    }

    .tlc-equal-textblocks > .vc_column_container > .vc_column-inner > .wpb_wrapper {
        display: grid !important;
        grid-auto-flow: row !important;
        grid-auto-rows: minmax(0, 1fr) !important;
        gap: 30px !important;
        width: 100% !important;
        flex: 1 1 auto !important;
    }

    .tlc-equal-textblock {
        display: flex !important;
        width: 100% !important;
        height: 100% !important;
        margin-bottom: 0 !important;
    }

    .tlc-equal-textblock > .wpb_wrapper {
        display: flex !important;
        width: 100% !important;
        height: 100% !important;
    }

    .tlc-equal-textblock > .wpb_wrapper > div {
        width: 100% !important;
        height: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 767px) {
    .tlc-equal-textblocks,
    .tlc-equal-textblocks > .vc_column_container,
    .tlc-equal-textblocks > .vc_column_container > .vc_column-inner {
        display: block !important;
    }

    .tlc-equal-textblocks > .vc_column_container > .vc_column-inner > .wpb_wrapper {
        display: block !important;
    }

    .tlc-equal-textblock {
        height: auto !important;
        margin-bottom: 30px !important;
    }

    .tlc-equal-textblock > .wpb_wrapper,
    .tlc-equal-textblock > .wpb_wrapper > div {
        height: auto !important;
    }
}

/* 2. Red FAQ: question, +/- icon and answer remain white */
.tlc-red-faq .cms-accordion .card .card-header .collapse-item,
.tlc-red-faq .cms-accordion .card .card-header .collapse-item:hover,
.tlc-red-faq .cms-accordion .card .card-header .collapse-item:focus,
.tlc-red-faq .cms-accordion .card .card-header .collapse-item:active,
.tlc-red-faq .cms-accordion .card .card-header .collapse-item.collapsed,
.tlc-red-faq .cms-accordion .card .card-header .collapse-item[aria-expanded="true"] {
    color: #ffffff !important;
}

.tlc-red-faq .cms-accordion .card .card-header .collapse-item *,
.tlc-red-faq .cms-accordion .card .card-header .collapse-item[aria-expanded="true"] * {
    color: #ffffff !important;
}

.tlc-red-faq .cms-accordion .card .card-header .collapse-item:before,
.tlc-red-faq .cms-accordion .card .card-header .collapse-item[aria-expanded="true"]:before {
    color: #ffffff !important;
}

.tlc-red-faq .cms-accordion .card .card-body,
.tlc-red-faq .cms-accordion .card .card-body p,
.tlc-red-faq .cms-accordion .card .card-body a {
    color: #ffffff !important;
}

.tlc-red-faq .cms-accordion {
    border-color: rgba(255,255,255,0.85) !important;
}

.tlc-red-faq .cms-accordion .card {
    border-bottom-color: rgba(255,255,255,0.85) !important;
}

/* 3. Match FAQ accordion-column heights (2 or 3 columns) */
@media (min-width: 768px) {
    .tlc-red-faq .tlc-equal-faq-columns {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
    }

    .tlc-red-faq .tlc-equal-faq-columns:before,
    .tlc-red-faq .tlc-equal-faq-columns:after {
        display: none !important;
    }

    .tlc-red-faq .tlc-equal-faq-columns > .vc_column_container {
        display: flex !important;
        float: none !important;
        align-items: stretch !important;
    }

    .tlc-red-faq .tlc-equal-faq-columns > .vc_column_container > .vc_column-inner {
        display: flex !important;
        width: 100% !important;
    }

    .tlc-red-faq .tlc-equal-faq-columns > .vc_column_container > .vc_column-inner > .wpb_wrapper {
        display: flex !important;
        width: 100% !important;
    }

    .tlc-red-faq .tlc-equal-faq-columns .cms-accordion {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
    }

    .tlc-red-faq .tlc-equal-faq-columns .cms-accordion > .card {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 1 0 !important;
    }

    .tlc-red-faq .tlc-equal-faq-columns .cms-accordion > .card > .card-header {
        display: flex !important;
        flex: 1 1 auto !important;
    }

    .tlc-red-faq .tlc-equal-faq-columns .cms-accordion .card-header .collapse-item {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    .tlc-red-faq .tlc-equal-faq-columns,
    .tlc-red-faq .tlc-equal-faq-columns > .vc_column_container,
    .tlc-red-faq .tlc-equal-faq-columns > .vc_column_container > .vc_column-inner {
        display: block !important;
    }

    .tlc-red-faq .tlc-equal-faq-columns .cms-accordion {
        display: block !important;
        height: auto !important;
    }

    .tlc-red-faq .tlc-equal-faq-columns .cms-accordion > .card {
        display: block !important;
    }
}