body {
  font-family: 'Noto Sans', sans-serif;
  /* font-family: 'Times New Roman', Times, serif; */
  background-color: #fdfcf0 !important;
  margin: 0;
  padding: 0;
}

.section, .hero, .footer {
    background-color: transparent !important;
}

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

.footer p {
    color: #7BBFCF !important;
}

.footer a {
    color: #A9D8B7 !important;
    transition: color 0.3s ease;
}

.footer a:hover {
    text-decoration: underline;
}

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

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

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

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

/* Target the specific button link blocks */
.link-block a.button.is-dark {
    background-color: #8DA6D2 !important;
    border-color: transparent !important;
    color: #ffffff !important;
    transition: background-color 0.3s ease;
}

/* Change color when you hover over the button */
.link-block a.button.is-dark:hover {
    /* background-color: #d35400 !important; */
    background-color: #6B89BC !important;
    color: #ffffff !important;
}

/* Optional: Make the icons inside match the text color */
.link-block a.button.is-dark .icon {
    color: #ffffff !important;
}

/* This targets the title */
.publication-title {
    /* 1. Add gradient colors */
    background: linear-gradient(45deg, #ffcc33, #ffb347, #f39c12, #F27100);
    
    /* 2. Standard clipping */
    background-clip: text;
    -webkit-background-clip: text;

    /* 3. Text fill (This makes the text itself clear) */
    text-fill-color: transparent;
    -webkit-text-fill-color: transparent;

    padding-top: 0.1em;
    padding-bottom: 0.2em;
    line-height: 1.3 !important;
    overflow: visible !important;
    
    /* 4. Ensures the background spans the title area */
    display: block;
    font-weight: 700;
}
/* .publication-title {
  font-family: 'Google Sans', sans-serif;
  color: #f39c12;
  
} */

/* This targets the author names */
.publication-authors a {
   /* color: #FF7500 !important; */
   color: #A9D8B7 !important;
}

/* This adds a nice effect when you hover over the names */
.publication-authors a:hover {
    text-decoration: underline;
}

/* This targets the university names (e.g., UPenn) */
.publication-authors {
    font-family: 'Google Sans', sans-serif;
    /* color: #f3bb66 !important; */
    color: #7BBFCF !important;
}

/* This targets the superscripts above the authors (e.g., 1, 2) */
.publication-authors sup {
    color: #7BBFCF;
}

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

/* This targets the conference name (e.g., CoRL) */
.publication-venue {
    color: #d35400;
    width: fit-content;
    font-weight: bold;
}

/* This targets the awards (e.g., "Oral" or "Best Paper") */
.publication-awards {
    color: #f39c12;
    width: fit-content;
    font-weight: bolder;
}



.publication-banner {
  max-height: parent;
}

.publication-banner video {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  object-fit: fit;
}

.publication-header .hero-body {
}

.publication-video {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    border-radius: 10px !important;
}

.publication-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-caption-justified {
    text-align: justify;
    text-justify: inter-word; /* Ensures even spacing between words */
    width: 100% !important;
    max-width: 100% !important;         /* Prevents the text from stretching too wide */
    margin: 1rem auto;       /* Centers the text block itself */
    line-height: 1.5;        /* Improves readability for long captions */
}

.subtitle {
    color: #8DA6D2 !important; 
}

.results-carousel {
  overflow: hidden;
}

.results-carousel video {
  margin: 0;
}

/* This targets the carousel border */
.results-carousel .item {
  margin: 5px;
  overflow: hidden;
  border-radius: 10px;
  padding: 0;
  font-size: 0;

  /* 1. Create a transparent border to make space for the gradient */
  border: 2px solid transparent;

  /* 2. Apply a double background: 
     - The first is the inner background (white)
     - The second is the gradient background (orange to sunrise) 
  */
  background-image: linear-gradient(#fdfcf0, #fdfcf0), 
                    linear-gradient(45deg, #F27100, #ffb347);
  
  /* 3. Clip the first background to the content and the second to the border */
  background-origin: border-box;
  background-clip: content-box, border-box;
}
/* .results-carousel .item {
  margin: 5px;
  overflow: hidden;
  border: 2px solid #F27100;
  border-radius: 10px;
  padding: 0;
  font-size: 0;
} */

/* This targets the arrow buttons on both sides */
.results-carousel .slider-navigation-previous, 
.results-carousel .slider-navigation-next {
    background-color: rgba(24, 62, 62, 0.7) !important;
    color: white !important;
    border-radius: 50%;
}

/* Hover state for arrows */
.results-carousel .slider-navigation-previous:hover, 
.results-carousel .slider-navigation-next:hover {
    background-color: #F27100 !important;
    opacity: 1.0 !important;
}

/* The actual SVG icons inside the arrows */
.results-carousel .slider-navigation-previous svg, 
.results-carousel .slider-navigation-next svg {
    stroke: white !important;
}

/* This targets the dots container at the bottom */
.results-carousel .slider-pagination .slider-page {
    background-color: #FFA85C !important;
    opacity: 0.5;
}

/* The active dot (the one currently being viewed) */
.results-carousel .slider-pagination .slider-page.is-active {
    background-color: #F27100 !important;
    opacity: 1.0;
    transform: scale(1.5);
}

/* This targets the carousel subcaptions */
/* .carousel-subcaption {
    font-weight: 600;
    color: #183E3E;
    margin-bottom: 0.5rem;
    font-family: 'Google Sans', sans-serif;
    /* Optional: background color pill style */
    /* background: #f5f5f5; */
    /* border-radius: 20px; */
    /* padding: 2px 10px; */
} */

/* .item:hover .carousel-subcaption {
    color: #F27100;
    transition: color 0.3s ease;
} */

.interpolation-panel {
  background: #8DA6D2;
  border-radius: 10px;
}

.interpolation-panel .interpolation-image {
  width: 100%;
  border-radius: 5px;
}

#interpolation-image-wrapper {
  width: 100%;
}
#interpolation-image-wrapper img {
  border-radius: 5px;
}

/* --- Academic Table Styling --- */
.academic-table {
    background-color: #fdfcf0 !important;
    border-bottom: 3px solid #5A7297 !important;
    font-family: 'Noto Sans', sans-serif;
    color: #5A7297 !important;
}

.academic-table th {
    color: #5A7297 !important;
    background-color: #fdfcf0 !important;
}
.academic-table td {
    color: #5A7297 !important;
}
.academic-table thead tr {
    border-bottom: 1.5px solid #AAB9D0 !important;
}

.numeric-cell {
    text-align: center !important;
}

.num-wrapper {
    display: inline-grid;
    grid-template-columns: 5.5ch 2ch 5.5ch; /* Rigid widths */
    align-items: center;
    justify-content: center;
    font-family: 'Courier New', Courier, monospace; /* Essential for digit alignment */
    font-variant-numeric: tabular-nums;
    font-size: 0.95rem;
    color: #5A7297 !important;
}

/* Keeps bolding from expanding the container */
.num-wrapper strong {
    display: contents;
    color: #5A7297 !important;
}

.m { grid-column: 1; text-align: right; padding-right: 4px; }
.pm { grid-column: 2; text-align: center; }
.d { grid-column: 3; text-align: left; padding-left: 4px; }

.fgo-row-highlight { background-color: #f7e8d7 !important; }
.fgo-row-highlight td, 
.fgo-row-highlight strong {
    color: #5A7297 !important;
}
.top-border { border-top: 3px solid #5A7297 !important; }
.header-group-line { border-bottom: 1.5px solid #5A7297 !important; }
.left-align-cell, 
.left-align-header { 
    text-align: left !important; 
    color: #5A7297 !important;
}

/* Prevents header text from wrapping/splitting into two lines */
/* .left-align-header {
    text-align: left !important;
    white-space: nowrap !important;
    padding-right: 20px !important; /* Adds a little breathing room */
} */

.academic-table caption {
    color: #5A7297 !important;
    font-weight: 500;
    margin-bottom: 10px;
}

.table-caption-final {
    margin-top: 1.5rem;
    font-size: 1.15rem !important;
    color: #5A7297;
    text-align: center;
}

.table-caption-final strong {
    color: #465E87 !important;
    font-weight: 700;
}

.section-divider {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), #AAB9D0, rgba(0, 0, 0, 0));
    margin: 4rem 0;
    opacity: 0.8;
}

/* BibTex Styling */
.bibtex-container {
    background-color: #f7f5e8 !important;
    border-left: 5px solid #AAB9D0 !important;
    color: #5A7297 !important;
    padding: 20px;
    border-radius: 8px;
    font-size: 0.9rem;
    overflow-x: auto;
}

.bibtex-container code, 
.bibtex-container pre {
    color: #5A7297 !important;
    font-family: 'Courier New', Courier, monospace;
}

.bibtex-container .hljs,
.bibtex-container .hljs-keyword,
.bibtex-container .hljs-string,
.bibtex-container .hljs-title {
    color: #5A7297 !important;
}
