/* -----------------------------
   Body & Fonts
----------------------------- */
body {
    font-family: "Georgia", serif;
    background-color: #f0f0f0;
    color: #222222;             /* darker text for contrast */
}

/* Ensure sticky footer works */
.flex-grow-1 {
    flex-grow: 1;
}

/* -----------------------------
   Headings
----------------------------- */
h1, h2, h3 {
    color: #6B0000; /* richer maroon headings */
}

h1 {
    font-size: 2.5rem; /* default is usually 2rem in Bootstrap */
    line-height: 1.2;
    margin-bottom: 1.5rem
}

/* -----------------------------
   Navbar / Header
----------------------------- */
.navbar {
    background-color: #6B0000;
}

.navbar a.navbar-brand {
    color: #FDF6E3;
    transition: color 0.2s ease; /* smooth hover transition */
}

.navbar a.nav-link {
    color: #FDF6E3; /* light text for contrast */
    transition: color 0.2s ease; /* smooth hover transition */
}

.navbar a.navbar-brand:hover {
    color: #FFD700; /* gold highlight */
}

.navbar a.nav-link:hover,
.navbar .dropdown-item:hover {
    color: #FFD700; /* gold highlight */
}

.navbar-toggler {
    background-color: rgba(26, 80, 184, 0.9) !important;
}

.lead {
    margin-bottom: 2rem; /* adds space below the lead text */
}

/* -----------------------------
   Footer / Bottom Menu
----------------------------- */
.site-footer {
    background-color: #000000;
    color: #cccccc;
    margin-top: 30px;
}

/* Smaller, quieter headings */
.footer-heading {
    font-family: "Georgia", serif;
    color: rgba(220, 38, 59, 0.95);
    margin-bottom: 0.75rem;
    
}

/* Smaller link text */
.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-list li {
    margin-bottom: 0.2rem;
}

.footer-list a {
    font-size: 0.75rem;
    color: #FDF6E3;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.footer-list a:hover {
    color: #FFD700;
}

/* -----------------------------
   Buttons / Optional Custom Elements
----------------------------- */
.btn-custom {
    background-color: #FFD700 !important; /* gold */
    color: #6B0000;             /* rich maroon text */
    border: none;
    transition: background-color 0.2s ease;
}

.btn-custom:hover {
    background-color: #C9A44B; /* slightly darker gold on hover */
}

.btn-info-box {
    background-color: #6B0000 !important;
    color: #ffffff;              
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.2s, transform 0.2s;
}

.btn-info-box:hover {
    background-color: #8C0000 !important;   /* slightly brighter on hover */
    transform: translateY(-1px); /* subtle lift effect */
    text-decoration: none;
    color: #ffffff;
}


/* -----------------------------
   Index Page
----------------------------- */

/* HERO PANEL */
.hero-panel {
    position: relative;          
    min-height: 55vh;    
    overflow: hidden;
}

/* HERO IMAGE - FULL WIDTH AND BEHIND CONTENT */
.hero-image {
    position: absolute;        
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-width: 600px;
    object-fit: cover;  
    z-index: -1;              
}

/* FLOATING INFO BOX */
.info-box {
    position: relative;
    left: 50px;
    z-index: 2;
    margin: 40px;
    padding: 30px 10px 30px 30px;
    max-width: 45%;
    background-color: rgba(255,255,255,0.9);
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.info-box h1 {
    font-size: 2.5rem;
}

.info-box h2 {
    margin: 0;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.3;
}

/* CAPTION UNDER HERO IMAGE */
.hero-caption {
    font-style: italic;
    font-size: 0.8rem;
    max-width: 800px;
    margin: 10px auto 0 0;
    text-align: left;
}

/* INTRO SECTION OVERLAPPING HERO IMAGE */
.intro-section {
    position: relative;
    margin-top: -60px;           /* moves box upward to overlap hero */
    z-index: 1;
    display: flex;
    justify-content: flex-start
}

/* INTRO BOX STYLING */
.intro-box {
    max-width: 75%;
    background-color: #f0f0f0;;
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    margin-left: 90px;
}

.image-container {
    display: flex;
    gap: 40px;                  /* spacing between image and text */
    align-items: flex-start;
}

.intro-fig {
    flex: 1;                     /* image takes 1 part of flex */
    max-width: 350px;            /* optional max width */
}

.intro-image {
    width: 100%;                 /* image scales to column width */
    height: auto;
    border-radius: 6px;
    display: block;
}

/* CAPTION */
.intro-caption {
    font-size: 0.8rem;
    max-width: 800px;
    margin: 10px 0 0 0;
    text-align: left;
    font-style: italic;
}

/* TEXT COLUMN */
.intro-text {
    flex: 1.3;
    line-height: 1.6;
}


@media (max-width: 910px) {

    /* Remove overlap for smaller screens */
    .intro-section {
        margin-top: 0;
        padding-right: 20px;
    }

    /* Center the floating info box if needed */
    .info-box {
        justify-content: center;
    }

    /* Scale text for readability */
    .intro-box {
        font-size: 0.9rem;       
        max-width: 95%;           /* fill most of the viewport */
        margin-left: 20px;
        margin-right: auto;       /* center box */
    }

    .intro-box h1 {
        font-size: 1.5rem;       
    }

    .intro-box h2 {
        font-size: 1rem;         
    }

    /* Image container adjustments */
    .image-container {
        flex-direction: column;   
        gap: 0;                   
    }

    /* Hide image on small screens */
    .intro-fig {
        display: none;
    }

    /* Text fills full width */
    .intro-text {
        order: 0;                 /* text comes first now */
        flex: unset;              /* remove flex ratio */
        width: 100%;              /* take full width */
    }
    
}

/* -----------------------------
   Members Page
----------------------------- */

.team-title {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.team-divider {
    border: none;
    height: 1px;
    background-color: rgba(0,0,0,0.8);
    margin: 0.5rem 0;
}

/* Investigators */
.investigator-card {
    display: flex;
    align-items: center;
    padding: 13px 0;
}

.investigator-photo {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
}

.investigator-info h5 {
    font-size: 1.3rem;
    margin-bottom: 0.25rem;
}

.investigator-info p {
    font-style: italic;
    margin-bottom: 0;
    font-size: 0.95rem;
    color: #555;
}

.investigator-info a {
    margin-bottom: 0;
    font-size: 0.95rem;
    color: #6B0000;
}

.investigator-info a:hover {
    color: #C08000;           
}

.contributor-name {
    font-size: 1.15rem;
}

.contributor-info {
    font-style: italic;
    font-size: 0.95rem;
    color: #555;
}


/* -----------------------------
   Fieldwork Page
----------------------------- */

.fieldwork-text {
    max-width: 70%;  /* Adjust proportion as needed */
}

.fieldwork-img {
    width: 70%;
    max-width: 600px; 
    width: 100%;       
    height: auto;
    display: block;     
    margin-bottom: 1rem; 
}

.fieldwork-entries article h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.fieldwork-entries article p {
    margin-bottom: 0.75rem;
}


/* -----------------------------
   Events Page
----------------------------- */

.event-card {
    max-width: 80%;
    background-color: #f5f5f5;
    border-radius: 0.25rem;    
    padding: 1rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 4px 8px rgba(128, 0, 0, 0.2);
    transition: transform 0.2s, box-shadow 0.2s;
}

.event-img {
    width: 50%;           
    max-width: 300px;     
    height: auto;          
    display: block;        
    margin-bottom: 0.5rem;
}

/* -----------------------------
   Publications, Media, Readings pages
----------------------------- */

/* Container width and spacing */
.bibliography-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 1rem 1rem;
}

/* Warm academic card */
.bibliography-box {
    color: #2b2b2b;
    border: 1px solid rgba(120, 100, 70, 0.15);
    border-radius: 8px;
    padding: 2.5rem;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}


/* Proper bibliography formatting */
.bibliography-entry {
    text-indent: -1.5rem;     /* hanging indent */
    padding-left: 1.5rem;
    margin-bottom: 1.25rem;
    line-height: 1.8;         /* easier reading */
    color: #3b3a36;
}

.bibliography-entry:last-child {
    margin-bottom: 0;
}

/* Bibliography links */
.bibliography-entry a {
    color: #6b1f2b;          /* Deep maroon */
    text-decoration: none;   /* Remove underline */
    font-weight: 550;        /* Slight emphasis */
    transition: color 0.2s ease;
}

.bibliography-entry a:visited {
    color: #6b1f2b;          /* Keep consistent (no purple visited) */
}

.bibliography-entry a:hover {
    color: #C08000;           /* gold highlight on hover */
    text-decoration: underline; /* optional: underline on hover for clarity */
}


/* -----------------------------s
   Indexes Page
----------------------------- */

.index-section {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.indexes-grid {
    max-width: 1200px;  /* stop expansion beyond this width */
    margin-left: auto;
    margin-right: auto;
}

.indexes-grid .row > .col-12:last-child {
    margin-left: auto;
    margin-right: auto;
}


.indexes-card {
    min-height: 250px;
    border-radius: 8px;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.indexes-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 50%,  /* transparent at top */
        rgba(0, 0, 0, 0.6) 100% /* dark overlay at bottom */
    );
}

.indexes-card:hover {
    opacity: 0.85; /* slightly transparent */
    transform: scale(1.02); /* optional subtle zoom */
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

/* Title positioned at the very bottom */
.indexes-card h3 {
    position: absolute;
    bottom: 0.8rem;
    right: 0.8rem;
    color: #f5f5f5; /* softer white */
    font-family: "Georgia", serif;
    font-size: 1.5rem;
    font-weight: 500 !important;
    letter-spacing: 0.5px; /* subtle spacing to reduce blockiness */
    z-index: 1;
    margin: 0;
    text-align: right;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5); /* subtle shadow for depth */
}

/* Subsection headings (Researchers / Collaborators / Advisors) */
.section-subtitle {
    font-size: 1.4rem;  /* slightly smaller than main section */
    font-weight: 600;
    color: #000;
    margin-bottom: 0.3rem;
}

/* Divider line */
.section-divider {
    width: 60px;
    height: 2px;
    background-color: rgba(0, 0, 0, 0.15);
    margin-bottom: 1rem;
}

/* Contributor list bullets */
.contributors-list {
    max-width: 750px;
    list-style-type: disc;
    padding-left: 1.5rem;
}

.contributors-item {
    padding: 0.2rem 0;
    font-size: 1.1rem;
    color: #3b3a36;
}

.search-section {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.search-grp-btn {
  color: rgba(128, 0, 0, 1) !important;
  border: 1.5px solid rgba(128, 0, 0, 1) !important;
  background: transparent;
  padding: 0.3rem 0.7rem !important;
  border-radius: 0.4rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em;
  margin-left: 0.5rem !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.search-grp-btn:hover {
  background-color: #e9ecef !important; /* pale grey */
  color: rgba(128, 0, 0, 0.9) !important; /* optional subtle hover effect */
}

.search-input {
    width: 800px;        
    max-width: 100%;     
    padding: 6px 10px;   
    box-sizing: border-box; 
}

.search-group-wrapper {
    max-width: 600px;          
    margin-right: auto;
    padding: 0.5rem;
    background-color: #ffffff; 
    border-radius: 8px;      
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.search-group {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.data-search-dropdown {
    z-index: 1000;
    display: none;
    position: absolute;
    margin-top: 8px;
}


/* -----------------------------
   Results Page
----------------------------- */

.results-all {
    padding: 0 !important;
    margin-top: 2rem;
}

.search-result a {
  color: rgba(107, 0, 0, 1);          /* dark blue link */
  text-decoration: none !important;  
  font-weight: 500;
  font-size: 0.95rem;
}

.search-result a:hover {
  color: #C08000 !important; 
}

.search-result a::after {
  content: ' ↗';
  font-size: 0.8em;
  opacity: 0.8;
}

.search-result a:hover {
  text-decoration: underline;
}

.result-title {
  font-weight: 500;
}

.badge-person {
  background-color: #003f7f; 
}

.badge-place {
  background-color: #00664d;
}

.badge-work {
  background-color: #c55d12;
}

.badge-inscription {
  background-color: #6a4c93;
}

.results-num {
  color: #555;
}

.results-divider {
    border: none;
    height: 1px;
    background-color: rgba(0,0,0,0.8);
    margin: 0.5rem 0;
}


/* -----------------------------
   Readings Page
----------------------------- */

.readings-entries ul {
    max-width: 700px;           
    padding-left: 1.5rem;      
    list-style-type: disc;      
}

.readings-entries li {
    margin-bottom: 0.75rem;     
    line-height: 1.6;           
}

.reading-entry strong {
    color: #6B0000;            
}

.reading-entry span {
    display: block;             
    color: #222222;
}

