body {
    font-family: 'Noto Sans', sans-serif;
}


.footer .icon-link {
    font-size: 25px;
    color: #000;
}

.link-block a {
    margin-top: 5px;
    margin-bottom: 5px;
}

.dnerf {
    font-variant: small-caps;
}


.teaser .hero-body {
    padding-top: 0;
    padding-bottom: 3rem;
}

.teaser {
    font-family: 'Google Sans', sans-serif;
}

.column1 {
    float: left;
    width: 50%;
    margin-top: 20px;
    /* margin: 0; */
    padding: 1px;
}

/* Clear floats after the columns */
.row:after {
    content: "";
    display: table;
    clear: both;
}

.publication-title {
}

.publication-header .hero-body {
}

.publication-title {
    font-family: 'Google Sans', sans-serif;
}

.publication-authors {
    font-family: 'Google Sans', sans-serif;
}

.publication-venue {
    color: #555;
    width: fit-content;
    font-weight: bold;
}

.publication-awards {
    color: #ff3860;
    width: fit-content;
    font-weight: bolder;
}

.publication-authors {
}

.publication-authors a {
    color: hsl(204, 86%, 53%) !important;
}

.publication-authors a:hover {
    text-decoration: underline;
}

.author-block {
    display: inline-block;
}

.publication-banner img {
}

.publication-authors {
    /*color: #4286f4;*/
}

.video-teaser-container {
    display: inline-block;
    position: relative;
    /*width: 33.3333%;*/
    width: 16.66%;
    /*margin: 0;*/
    overflow: hidden;
    cursor: pointer;
    margin-top: -6px;
}

.video-teaser {
    width: 100%;
    height: auto;
    filter: brightness(100%);
    transition: filter 0.3s ease-in-out;
}

.video-vertical-teaser-container {
    position: relative;
    /*width: 12.5%;*/
    width: 6.25%;
    /*margin: 0;*/
    margin-top: -6px;
    overflow: hidden;
    cursor: pointer;
}

.video-vertical-teaser {
    width: 100%;
    filter: brightness(100%);
    transition: filter 0.3s ease-in-out;
}

.video-comparison-cog {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 7.5%;
    margin-left: 7.5%;
    width: 85%;
    filter: brightness(100%);
    transition: filter 0.3s ease-in-out;
}

.video-comparison {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    filter: brightness(100%);
    transition: filter 0.3s ease-in-out;
}

.video-comparison-table tr {
}

.video-row {
    border-width: thick !important;
}

tr.video-row > td {
    border-bottom: none;
    padding-bottom: 0;
}

table {
    table-layout: fixed;
}

td {
    word-wrap: break-word;
}

.ours-header {
    color: #5697de; /* A deep, elegant teal */
    /*color: #6A0DAD; !* A rich, professional purple *!*/
    font-weight: bold;
}

.prompt {
    background-color: #f5f5f5; /* A light grey background */
    border-left: 5px solid #4488ff; /* A solid accent border on the left */
    padding: 0.2em 1.5em; /* Adds space inside the box (top/bottom, left/right) */
    margin: 0.1em 0; /* Adds space outside the box (top/bottom, left/right) */
    text-align: left;
    line-height: 1.5; /* Improves readability by increasing space between lines */
    border-radius: 4px; /* Adds slightly rounded corners */
}

.prompt strong {
    font-style: normal; /* keep “Prompt:” itself upright */
    color: #363636; /* Makes the "Prompt:" label a bit darker */
    margin-right: 0.5em; /* Adds a little space after the label */
}


#bib-section {
    display: block;
    white-space: pre-wrap; /* wrap long lines if you want */
    font-family: monospace;
    padding: 1em;
    background: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 4px;
}

pre {
    white-space: pre; /* no wrapping, keep all line‐breaks & spaces */
    overflow-x: auto; /* horizontal scrollbar if it’s too wide */
    padding: 1em;
    background: #f5f5f5;
    border-radius: 4px;
}


tfoot td.references {
    border-top: 2px solid #dbdbdb; /* stronger divider above refs */
    padding-top: 0.75em;
    color: #4a4a4a;
    line-height: 1.3;
}


.fig‐table {
    border-collapse: collapse; /* remove cell spacing */
    border-spacing: 0; /* remove cell spacing */
    margin: 0; /* remove default table margins */
    padding: 0;
    caption-side: bottom;
}

.fig‐table td {
    padding: 0; /* remove cell padding */
}

.fig‐table img {
    display: block; /* kill the inline‑image whitespace */
    margin: 0;
}

.fig‐table caption {
    margin: 0; /* remove caption margins */
    padding: 0; /* if you want a tiny gap, tweak here */
    padding-bottom: 1em;
    font-size: 1.25em;
    text-align: center;
    font-weight: bold;
}

figure.inline‐fig {
    margin: 0; /* remove all outer margins */
    padding: 0; /* remove all padding */
}

figure.inline‐fig img {
    display: block;
    margin: 0;
}

figure.inline‐fig figcaption {
    margin: 0;
    /*padding: 0.25em 0;*/
    padding-bottom: 1em;
    font-size: 1em;
    text-align: center;
    font-weight: bold;
    font-style: normal;
}


table.compact {
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0; /* kill outside margins */
    padding: 0;
}

/* 2) zero out padding & line‑height in every cell */
table.compact th,
table.compact td {
    text-align: center;
    padding: 0.4em 0.4em; /* tweak to taste: top/bottom 0.2em, left/right 0.4em */
    line-height: 1.75; /* collapse any extra gap */
    white-space: nowrap; /* keep columns from wrapping */
    /*border: none;         !* or add a thin border if you like *!*/
    font-size: 1em; /* make text a bit smaller */
}

/* 3) if you want a hairline divider between rows: */
table.compact tr + tr td {
    border-top: 1px solid #e0e0e0;
}

/* 4) caption at bottom, also tight */
table.compact caption {
    caption-side: bottom;
    margin: 0.3em 0 0 0;
    padding: 0;
    font-size: 1em;
    font-weight: normal;
    text-align: left; /* or center */
    /*font-style: italic;*/
}


.footnote {
    font-size: 0.8em;
    color: #666;
    /*margin-top: 1rem;*/
    text-align: center;
}

.footnote sup {
    vertical-align: super;
    font-size: 0.6em;
}