/* 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; }

.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.selected,
.navbar-mega .navbar-nav > .nav-item > .nav-link.show { color: #3498db; }

.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; }
/* 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; }
ul.header_social li a { display: flex; }
ul.header_social li a i { display: flex; align-items: center; }
.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.purchase {
        display: inline-block;
        margin: 8px 15px;
        padding: 2px 20px;
    }
    .navbar-mega .navbar-nav .dropdown-menu { float: none; top: auto; }
}
