/* Serve the navigation typeface locally so consent choices do not change its look. */
@font-face {
    font-family: 'ResearchCave Open Sans';
    src: url('/fonts/OpenSans-Regular.ttf') format('truetype');
    font-weight: 400 500;
    font-display: swap;
}

@font-face {
    font-family: 'ResearchCave Open Sans';
    src: url('/fonts/OpenSans-Semibold.ttf') format('truetype');
    font-weight: 600 700;
    font-display: swap;
}

.navbar-mega {
    padding: 0;
    background: #fff;
    border-bottom: 1px solid #eee;
}

.navbar-mega .navbar-brand { padding: 10px 0; }

.rc-navigation-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    vertical-align: -3px;
}

.navbar-mega .navbar-nav > .nav-item > .nav-link {
    font-family: 'ResearchCave Open Sans', 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 45px;
    padding: 20px 15px;
    color: #2f362f;
}

.navbar-mega .navbar-nav > .nav-item > .nav-link:hover,
.navbar-mega .navbar-nav > .nav-item > .nav-link:focus-visible,
.navbar-mega .navbar-nav > .nav-item > .nav-link.show { color: #3498db; }

.navbar-mega .navbar-nav > .nav-item > .nav-link.selected {
    color: #176594;
    background: #edf5fa;
    box-shadow: inset 0 -3px 0 #3498db;
}

.navbar-mega .navbar-nav > .nav-item > .nav-link.selected:hover,
.navbar-mega .navbar-nav > .nav-item > .nav-link.selected:focus-visible {
    color: #115477;
    background: #e0eff8;
}

.navbar-mega .navbar-nav > .nav-item > .nav-link.purchase {
    color: #3498db;
    border: 2px solid #3498db;
    border-radius: 5px;
    margin: 18px 0 18px 15px;
    padding: 2px 20px;
    font-size: 14px;
    font-weight: 600;
    line-height: 40px;
    text-transform: uppercase;
    transition: color .25s, background-color .25s;
}

.navbar-mega .navbar-nav > .nav-item > .nav-link.purchase:hover,
.navbar-mega .navbar-nav > .nav-item > .nav-link.purchase:focus-visible {
    color: #fff;
    background: #3498db;
}

.navbar-mega .nav-link:focus-visible,
.navbar-mega .dropdown-menu a:focus-visible {
    outline: 2px solid #3498db;
    outline-offset: 3px;
}

/* Bootstrap focuses hover-opened triggers and adds a blue focus shadow. */
.navbar-mega .dropdown-mega > .nav-link:focus,
.navbar-mega .dropdown-mega > .nav-link:focus-visible {
    outline: none;
    box-shadow: none;
}

.footer-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.footer-actions .btn { margin: 0; padding: 10px 14px; font-size: 13px; }
.footer-actions .btn-support { color: #fff; background: #147a69; border: 1px solid #147a69; }
.footer-actions .btn-support:hover,
.footer-actions .btn-support:focus-visible { color: #fff; background: #116859; border-color: #116859; }

.navbar-mega .dropdown-menu { font-family: 'ResearchCave Open Sans', 'Open Sans', sans-serif; }

/* Match the login button while keeping the Company menu action separate from its links. */
.navbar-mega .rc-nav-contact-action { margin-top: 20px; }

.navbar-mega .dropdown-menu .rc-nav-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
    max-width: 100%;
    min-height: 46px;
    padding: 10px 20px;
    border: 2px solid #3498db;
    border-radius: 5px;
    color: #3498db;
    background: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    transition: color .25s, background-color .25s;
}

.navbar-mega .dropdown-menu .rc-nav-contact-button i {
    flex-shrink: 0;
    padding: 0;
    color: inherit;
}

.navbar-mega .dropdown-menu .rc-nav-contact-button:hover,
.navbar-mega .dropdown-menu .rc-nav-contact-button:focus-visible {
    color: #fff;
    background: #3498db;
}

.navbar-mega .dropdown-menu .rc-nav-contact-button:hover i,
.navbar-mega .dropdown-menu .rc-nav-contact-button:focus-visible i { color: inherit; }

/* Account links and the logout form button share one full-width row style.
   Scope these rules to override legacy anchor-only dropdown styles. */
.navbar-mega .navbar-nav > .nav-item > .rc-account-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 20px 0 20px 15px;
    padding: 4px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    line-height: 1;
}

.rc-account-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    overflow: hidden;
    border: 1px solid #dce7ee;
    border-radius: 50%;
    background: #edf5fa;
}

.rc-account-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rc-account-avatar .rc-navigation-icon { width: 22px; height: 22px; flex-basis: 22px; }

.navbar-mega .rc-account-menu {
    min-width: 220px;
    max-width: calc(100vw - 24px);
    padding: 6px 0;
    border: 1px solid #dce7ee;
    border-radius: 8px;
    background: #fff;
}

.navbar-mega .rc-account-menu-header {
    padding: 10px 20px;
    color: #173650;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.navbar-mega .rc-account-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 10px 20px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #526171;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-align: start;
    text-decoration: none;
    white-space: normal;
    transition: color .15s ease-in-out, background-color .15s ease-in-out;
}

.navbar-mega .rc-account-menu .dropdown-item i {
    flex: 0 0 18px;
    padding: 0;
    color: inherit;
    font-size: 15px;
    line-height: 1;
    text-align: center;
}

.navbar-mega .rc-account-menu .dropdown-item:hover,
.navbar-mega .rc-account-menu .dropdown-item:focus {
    color: #176d9e;
    background: #edf5fa;
}

.navbar-mega .rc-account-menu .dropdown-item:active {
    color: #115477;
    background: #dcecf7;
}

.navbar-mega .rc-account-menu .dropdown-item:focus-visible {
    outline: 2px solid #3498db;
    outline-offset: -3px;
}

.navbar-mega .rc-account-menu .dropdown-divider {
    margin: 6px 0;
    border-color: #dce7ee;
}

/* Size the language menu to its labels without letting it leave a narrow screen. */
#langdrop .langmenu {
    width: max-content;
    min-width: min(260px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    overflow-x: auto;
}
#langdrop .langmenu > li > a { white-space: nowrap; }
/* Fill the top bar so icon hover backgrounds reach its bottom edge. */
.top-intro .details-wrapper { display: flex; align-self: stretch; }
ul.header_social { display: flex; }
ul.header_social li { display: flex; float: none; flex: 0 0 42px; }
ul.header_social li a { display: flex; }
ul.header_social li a i { display: flex; align-items: center; justify-content: center; width: 42px; min-height: 42px; flex: 0 0 42px; box-sizing: border-box; }
ul.header_social .rc-navigation-icon { width: 17px; height: 17px; flex-basis: 17px; }
.header_social .social-logo { display: block; width: 17px; height: 17px; object-fit: contain; }
ul.header_social li a.linkedin:hover i,
ul.header_social li a.linkedin:focus-visible i { color: #fff; background-color: #0a66c2; }
.header_social a.researchcave i:hover { background-color: #013466; }
.footer_social .social-logo { display: block; width: 22px; height: 22px; object-fit: contain; opacity: .65; transition: opacity .25s ease-in-out; }
.footer_social a.researchcave:hover .social-logo { opacity: 1; }

@media (max-width: 991.98px) {
    .navbar-mega { padding: 8px 0; }
    .navbar-mega .navbar-nav > .nav-item > .nav-link { line-height: 28px; padding: 8px 15px; }
    .navbar-mega .navbar-nav > .nav-item > .nav-link.selected { box-shadow: inset 3px 0 0 #3498db; }
    .navbar-mega .navbar-nav > .nav-item > .nav-link.purchase {
        display: inline-block;
        margin: 8px 15px;
        padding: 2px 20px;
    }
    .navbar-mega .navbar-nav .dropdown-menu { float: none; top: auto; }
    .navbar-mega .rc-nav-contact-action { margin: 12px 16px 8px 0; }
    .navbar-mega .dropdown-menu .rc-nav-contact-button { width: 100%; }
    .navbar-mega .navbar-nav > .nav-item > .rc-account-toggle { margin: 4px 15px; padding: 4px; }
}
