/* VARIOUS CSS */
.news-hero-style01 .cover-background {
    height: unset;
}

.publications-hub .sidebar h2 {
    float: none;
    font-size: 2rem;
    line-height: 2.5rem;
    padding: initial;
}

/* ON-PAGE CSS */
.navbar .navbar-nav .nav-link {
    color: #23305E;
}

.grid.grid-3col li {
    flex: 0 0 auto;
    display: inline-block;
    width: 33%;
}

section {
    padding-top: 60px;
    padding-bottom: 60px;
}

.editors .post-sidebar.blog-side-image li {
    margin-bottom: 35px;
    width: 100%;
    height: 158px;
}

.post-sidebar .cover-background {
    height: auto;
}

.sidebar > div {
    background-color: #fff;
}

header .navbar {
    box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
}

.news-hero-style-01 {
    margin-bottom: 30px;
}

.center-link {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.overlap-link {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;
    z-index: 10;
    display: inline-block;
}


    .overlap-link:hover {
        -webkit-box-shadow: 0 8px 30px 0 rgba(0, 0, 0, .15);
        box-shadow: 0 8px 30px 0 rgba(0, 0, 0, .15);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

.latest-news-section {
    padding-bottom: 0;
}


@media (min-width: 993px) {
    .mega-toggle .chevron {
        color: #23305E;
    }
}



/* INCLUDE IN PUBLICATIONS CSS */

.bg-gradient-bottom-dark-transparent {
    background: -moz-linear-gradient(top, rgba(0,0,0,0) 50%, rgba(0,0,0,0.90) 80%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.90) 80%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.90) 80%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a8000000',GradientType=0 );
}

.box-layout {
    padding: 0 60px;
}

.sidebar .pub-category-menu li a {
    align-items: center;
    display: inline-flex;
}
/* OLD CODE TO SAVE 
.sidebar .pub-category-menu li a::before {
   block-size: 1rem;
   border-color: #005a9c;
   border-style: solid;
   border-width: 0 0.25rem 0.25rem 0;
   content: "";
   flex: 0 0 auto;
   inline-size: 1rem;
   margin-block-start: 0.375rem;
   margin-inline-end: 1rem;
   transform: rotate(-45deg);
}
*/
.section-title {
    display: flex;
    align-items: center;
    text-align: center;
}

/* Line on BOTH sides */
.section-title--center::before,
.section-title--center::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #B8C6DF;
}


.section-title--center::before {
    margin-right: 1rem;
}


.section-title--center::after {
    margin-left: 1rem;
}

/* Line only on RIGHT side */
.section-title--right::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #B8C6DF;
    margin-left: 1rem;
}

/* SEARCH LINK CSS */


header .navbar [class*=col-] .navbar-nav .nav-item a.search-link {
    display: inline-flex;
    align-self: center;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    background-color: #E6F4FA;
    margin: 0 30px;
}

    header .navbar [class*=col-] .navbar-nav .nav-item a.search-link svg {
        width: 18px;
        height: 18px;
        fill: none;
        stroke: #007BC2;
    }

/* Hover state (optional but recommended) */
.search-link:hover {
    background-color: #007BC2;
}

    .search-link:hover svg {
        stroke: #fff;
    }

@media (min-width: 993px) {
    .search-link.mega-toggle::before {
        content: none !important;
    }
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}





/* =========================================================
   MOBILE NAVIGATION CSS
   ========================================================= */

/* Safer box sizing inside the off-canvas menu */
.mobile-nav-panel,
.mobile-nav-panel *,
.mobile-nav-panel *::before,
.mobile-nav-panel *::after {
    box-sizing: border-box;
}

/* Mobile menu toggle button */
.mobile-menu-toggle {
    display: none;
    border: 0;
    background: transparent;
    padding: 0;
    width: 22px;
    height: 14px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    box-shadow: none;
    cursor: pointer;
}

    .mobile-menu-toggle .navbar-toggler-line {
        display: block;
        width: 24px;
        height: 2px;
        background: #00549f;
        border-radius: 2px;
        margin: 0;
    }

/* Backdrop */
.mobile-nav-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1040;
}

/* Off-canvas panel */
.mobile-nav-panel {
    position: fixed;
    top: 0;
    right: 0;
    width: min(92vw, 420px);
    max-width: 100vw;
    height: 100dvh;
    background: #fff;
    transform: translateX(100%);
    transition: transform 0.35s ease;
    z-index: 1050;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.12);
    overflow: hidden;
}

/* Panel layout */
.mobile-nav-panel__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Top area */
.mobile-nav-panel__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border-bottom: 1px solid #e8edf3;
    flex-shrink: 0;
}

.mobile-nav-panel__brand {
    display: inline-flex;
    align-items: center;
    max-width: calc(100% - 56px);
}

    .mobile-nav-panel__brand img {
        display: block;
        max-height: 42px;
        width: auto;
        max-width: 100%;
    }

.mobile-nav-close {
    border: 0;
    background: transparent;
    font-size: 3rem;
    line-height: 1;
    color: #00549f;
    padding: 0;
    cursor: pointer;
    flex: 0 0 auto;
}

/* Main body */
.mobile-nav-panel__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0 1rem;
    -webkit-overflow-scrolling: touch;
}

/* Nav list */
.mobile-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-nav-item {
    border-bottom: 1px solid #e8edf3;
    margin: 0;
    padding: 0;
}

/* Reset overly broad anchor rules from existing theme */
.mobile-nav-panel .mobile-nav-item > a,
.mobile-nav-panel .mobile-subnav-toggle {
    display: flex;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0;
    border: 0;
    background: transparent;
    text-align: left;
    text-decoration: none;
    font-size: 1.15rem;
    font-weight: 600;
    color: #23305E;
    line-height: 1.35;
    box-shadow: none;
}

/* Direct links */
.mobile-nav-item > a:hover,
.mobile-nav-item > a:focus {
    color: #00549f;
    text-decoration: none;
}

/* Accordion toggle text */
.mobile-subnav-toggle span {
    flex: 1 1 auto;
    min-width: 0;
}

/* Chevron */
.mobile-subnav-toggle .chevron {
    flex: 0 0 auto;
    margin-left: 12px;
    width: 22px;
    height: 22px;
    transition: transform 0.25s ease;
}

.mobile-subnav-toggle.active .chevron {
    transform: rotate(180deg);
}

/* Subnav panel */
.mobile-subnav-panel {
    display: none;
    padding: 0 0 1rem 0;
    width: 100%;
    overflow: hidden;
}

    .mobile-subnav-panel.open {
        display: block;
    }

    /* Subnav content */
    .mobile-subnav-panel a,
    .mobile-subnav-panel .nav-link,
    .mobile-subnav-panel li a,
    .mobile-subnav-panel button {
        display: block;
        width: 100%;
        max-width: 100%;
        padding: 0.65rem 0;
        color: #0F4092;
        text-decoration: none;
        font-size: 1rem;
        line-height: 1.4;
        border: 0;
        background: transparent;
        box-shadow: none;
        font-weight: bold;
    }

        .mobile-subnav-panel a:hover,
        .mobile-subnav-panel a:focus {
            color: #00549f;
            text-decoration: none;
        }

    /* If Sitefinity placeholder outputs lists */
    .mobile-subnav-panel ul,
    .mobile-subnav-panel ol {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .mobile-subnav-panel li {
        margin: 0;
        padding: 0;
    }

    /* Search area inside mobile panel */
    .mobile-subnav-panel .search-nav {
        padding-top: 0.5rem;
    }

        .mobile-subnav-panel .search-nav input,
        .mobile-subnav-panel .search-nav select,
        .mobile-subnav-panel .search-nav textarea {
            width: 100%;
            max-width: 100%;
        }

/* Footer area */
.mobile-nav-panel__footer {
    padding: 1rem;
    border-top: 1px solid #e8edf3;
    flex-shrink: 0;
}

.mobile-login-link {
    display: inline-flex;
    align-items: center;
    font-weight: 600;
    color: #23305E;
    text-decoration: none;
}

    .mobile-login-link:hover,
    .mobile-login-link:focus {
        color: #00549f;
        text-decoration: none;
    }

/* Open states */
body.mobile-nav-open {
    overflow: hidden;
}

    body.mobile-nav-open .mobile-nav-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    body.mobile-nav-open .mobile-nav-panel {
        transform: translateX(0);
    }

/* =========================================================
   DESKTOP / MOBILE SWITCH
   ========================================================= */
@media (max-width: 991.98px) {
    .mobile-menu-toggle {
        display: inline-flex;
    }

    .desktop-nav {
        display: none !important;
    }

    .navbar .navbar-collapse {
        display: none !important;
    }

    .mega-container,
    .mega-overlay {
        display: none !important;
    }

    .header-top-bar {
        display: none;
    }

    .navbar .container-fluid {
        align-items: center;
    }

    .navbar-brand img.default-logo,
    .navbar-brand img.alt-logo {
        display: none !important;
    }

    .navbar-brand img.mobile-logo {
        display: block !important;
        max-height: 42px;
        width: auto;
    }
}

@media (min-width: 992px) {
    .mobile-nav-panel,
    .mobile-nav-backdrop {
        display: none;
    }
}

.mobile-subnav-heading {
    font-size: 1.15rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #23305E;
    margin-top: 0.75rem;
    margin-bottom: 0.5rem;
}

/* =========================================================
   ACCENT CSS
   ========================================================= */


.cat-cases-and-insights:after {
    background: #00A997 !important;
}

.cat-in-conversation-with:after {
    background: #31B1E7 !important;
}


/* =========================================================
   Temp Media Query Fixes CSS
   ========================================================= */


.cat-cases-and-insights:after {
    background: #00A997 !important;
}

.cat-in-conversation-with:after {
    background: #31B1E7 !important;
}

/* =========================================================
   FINAL PUBLICATION TWEAKS CSS
   ========================================================= */

.news-hero-style01 h2 a, .blog-wrapper h3 a {
    font-weight: 400;
    text-decoration: none;
}

    .news-hero-style01 h2 a:hover, .blog-wrapper h3 a:hover {
        font-weight: 400;
        text-decoration: underline;
        text-underline-offset: initial;
    }

.blog-wrapper .cover-background {
    background: #fff;
}


.news-hero-style01 h2 a:hover {
    text-underline-offset: .2em;
    text-decoration-thickness: 0.05em;
    text-decoration-color: var(--steel-blue);
    transition: none;
    -webkit-transition: none;
}

/* =========================================================
   ADD TO ALL CSS
   ========================================================= */

.footer-bottom .article-rich-text ul li::before {
    content:none;
}

.footer-bottom a {
    text-decoration:none;
}
/* =========================================================
   SF TEMPLATE EDITOR CSS
   ========================================================= */
.sfTemplateEditor .mega-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    position: initial;
}

.sfTemplateEditor .mega-container {
    position: initial;
}

.sfTemplateEditor .page-layout {
    display: block;
    min-height: 100px;
}

.sfTemplateEditor header .header-top-bar {
    position: initial;
}

    .sfTemplateEditor header .header-top-bar .align-items-center {
        align-items: initial !important;
        position: initial;
        display: block;
        height: auto !important;
    }

    .sfTemplateEditor header .header-top-bar [class*=col-] {
        display: block !important;
        align-self: initial;
        align-items: initial;
    }

.sfTemplateEditor .mobile-nav-panel {
    display: block;
    position: initial;
}

.sfTemplateEditor .mobile-subnav-panel {
    display: block;
}

.sfTemplateEditor header .disable-fixed {
    display: block;
    position: initial;
}

/* =========================================================
   SF PAGE EDITOR CSS
   ========================================================= */
.sfPageEditorWrp header .disable-fixed {
    position: initial;
}