@charset "utf-8";
html {
    scrollbar-gutter: stable;
}

body {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    padding-top: 5.0rem;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: 700;
}

.card {
    border-radius: 0.8rem!important;
}

.card-img-overlay {
    border-radius: 0.8rem!important;
}

.rounded-xl {
    border-radius: 0.8rem!important;
}

.rounded-xl-bottom {
    border-bottom-right-radius: 0.8rem !important;
    border-bottom-left-radius: 0.8rem !important;
}

.rounded-xl-top {
    border-top-left-radius: 0.8rem !important;
    border-top-right-radius: 0.8rem !important;
}


.text-profile-position {
    font-weight: 400;
}

.text-profile-bio {
    /* font-family: "Raleway"; */
    font-weight: 400;
}

.navbar {
    background-color: rgba(255, 255, 255, 0.6) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.inline-badge {
    height: 16px;
    vertical-align: -10%;
    margin-right: 2px;
    line-break: unset;
}

.no-break {
    white-space: nowrap;
}

.news-item-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 4.5rem;
    column-gap: 0.75rem;
    align-items: end;
}

.news-item-date {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 6px;
    text-align: left;
    transform: translateX(26px);
}

.news-item-date > i:last-child {
    justify-self: start;
    text-align: left;
}

.cover-image {
    width: 180px;
    max-height: 120px;
}

.abstract-body {
    min-height: 100px;
}

img.lazy {
    background-image: url('images/loading.gif');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 50px 50px;
    min-height: 80px;
}

div.lazy {
    background-image: url('images/loading.gif');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 50px 50px;
    min-height: 80px;
}

.badge-publication {
    font-size: 100%;
}

.email-text {
    font-family: Source Code Pro, monospace;
}

.author-highlight {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.14em;
}

.bio-inline-code {
    padding: 0.08em 0.3em;
    border-radius: 0.25rem;
    background-color: #fff0f5;
    color: #e83e8c !important;
    -webkit-text-fill-color: #e83e8c;
    font-family: "Source Code Pro", monospace;
    font-size: 0.9em;
    white-space: nowrap;
}

.publication-cover-zoomable {
    display: block;
    width: 100%;
    cursor: zoom-in;
    object-fit: contain;
}

.publication-cover-zoomable:focus-visible {
    outline: 2px solid #007bff;
    outline-offset: 3px;
}

.publication-cover-mobile {
    width: 100%;
    max-height: 140px;
}

.publication-detail-cover {
    display: block;
    width: 100%;
    max-height: 640px;
    object-fit: contain;
}

.medium-zoom-overlay {
    z-index: 2000 !important;
}

.medium-zoom-image--opened {
    z-index: 2001 !important;
}

@media (min-width: 992px) {
    html {
        scrollbar-gutter: stable both-edges;
    }
}

@media (max-width: 767.98px) {
    .profile-card-mini-body,
    .bio-card-body {
        padding: 1rem !important;
    }

    .mobile-profile-portrait {
        width: clamp(132px, 42vw, 160px);
        height: clamp(132px, 42vw, 160px);
        object-fit: cover;
        object-position: center;
    }

}

@media (max-width: 359.98px) {
    .bio-inline-code {
        white-space: normal;
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .profile-card-mini-email {
        font-size: 0.72rem;
    }
}

@media (min-width: 1200px) {
    .container-lg {
        max-width: 1200px;
    }

    .home-profile-column {
        flex: 0 0 285px;
        max-width: 285px;
    }

    .home-content-column {
        flex: 0 0 calc(100% - 285px);
        max-width: calc(100% - 285px);
    }

    .publication-title {
        white-space: nowrap;
    }
}
