 /* General Styles */
 :root {
    --color-primary: #800000;
    --color-primary-dark: #600000;
    --color-background: #f8f9fa;
    --color-text: #333;
    --color-text-light: #fff;
    --color-link: #1a0dab;
    --color-border: #dfe1e5;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: #f5f5f5;
    padding-top: 60px;
}
.header {
    background-color: var(--color-primary);
    color: var(--color-text-light);
    padding: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
position: fixed; /* Make header fixed */
top: 0; /* Stay at the top */
left: 0;
width: 100%; /* Take full width */
z-index: 1000;
}
.header-left {
    display: flex;
    align-items: center;
    gap:10px;
}
.header-logo {
    width: auto;
    height: 30px;
    margin-right: 10px;
}
.header-title {
    font-size: 24px;
    font-weight: bold;
    margin: 0;
}
.logo {
    cursor: pointer;
    width: auto;
    height: 30px;
  
    overflow: hidden;
}

.container {
    display: flex;
    flex: 1;
    transition: all 0.3s ease;
}

.main-content {
    flex: 1;
    padding: 2rem;
    transition: margin-left 0.3s ease;
}

.research-section {
    background-color: white;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    line-height: 1.6;
}
.author {
    color: #c81d25;
    font-weight: 500;
}
.date {
    margin-bottom: 4px;
}
.keywords {
    margin-top: 16px;
}

.button {
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-right: 8px;
    font-weight: bold;
}
.button-destructive {
    background-color: #c81d25;
    color: white;
}
.button-outline {
    background-color: transparent;
    border: 1px solid #c81d25;
    color: #c81d25;
}
.text-gray {
    color: black;
}
.text-blue {
    color: #1d4ed8;
}
.text-red {
    color: maroon;
}
.card {
    max-width: 800px;
    margin: auto;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: 16px;
    line-height: 1.6;
}
.card-header {
    margin-bottom: 16px;
}
.card-title {
    font-size: 24px;
    margin-bottom: 8px;
}
.research-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}
.tag {
    background-color: #f5f5f5;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 14px;
    color: var(--color-text);
    text-decoration: none;
}
.tag:hover {
    background-color: #8B0000;
color: white;
border: 1px solid #8B0000;
}
.cite-link:hover {
    background-color: #8B0000;
color: white;
border: 1px solid #8B0000;}


.save-link:hover {
    background-color: #8B0000;
color: white;
border: 1px solid #8B0000;}

.cite-link, .save-link, .request-link {
color: #8B0000;
text-decoration: none;
font-size: 14px;
margin-right: 20px;
display: inline-flex;
align-items: center;
gap: 5px;
padding: 8px 16px;
border: 1px solid transparent;
border-radius: 4px;
transition: background-color 0.3s ease, border-color 0.3s ease;
}


/* Modal styles */
.modal {
display: none; 
position: fixed;
z-index: 1; 
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgb(0, 0, 0); 
background-color: rgba(0, 0, 0, 0.4); 
padding-top: 60px;
}

.modal-content {
background-color: white;
margin: 5% auto;
padding: 20px;
border-radius: 8px;
width: 80%;
max-width: 500px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
position: relative; /* Needed to position the X button in the top-right */
}

/* Close button (X) positioned to the top-right */
.close {
color: #aaa;
font-size: 28px;
font-weight: bold;
position: absolute;
top: 10px;
right: 15px; /* Positioned at the top-right corner */
cursor: pointer;
}

.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}

/* Close button inside the modal */
#closeModalBtn {
display: inline-block;
padding: 10px 20px;
margin-top: 20px;
background-color: transparent;
border: 1px solid #c81d25;
color: #c81d25;
border-radius: 4px;
cursor: pointer;
font-weight: bold;
transition: background-color 0.3s ease, color 0.3s ease;
}

#closeModalBtn:hover {
background-color: #c81d25;
color: white;
}

.citation-format {
margin-bottom: 20px;
}
.login-button {
background-color: white;
color: maroon;
border: none;
padding: 8px 10px;
font-size: 12px;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s;
margin-left: auto; /* Keep login button pushed to the right */

text-decoration: none;
}
.login-button:hover {
background-color: #0056b3;
}

.citation-link {
color: #8B0000;
text-decoration: none;
font-weight: bold;
transition: box-shadow 0.3s ease, color 0.3s ease;
padding: 4px 8px;
border-radius: 4px;
display: inline-block;
}

.citation-link:hover {
color: white;
background-color: #8B0000;
box-shadow: 0 0 10px #8B0000, 0 0 40px #8B0000;
}
.nav-tabs {
display: flex;
list-style: none;
padding: 0;
margin-bottom: 20px;
border-bottom: 1px solid #dfe1e5;
}

.nav-tabs .tab {
padding: 10px 20px;
cursor: pointer;
font-weight: bold;
color: #800000;
border-bottom: 2px solid transparent;
transition: color 0.3s ease, border-color 0.3s ease;
}

.nav-tabs .tab:hover {
color: #600000;
}

.nav-tabs .tab.active {
border-color: #800000;
}

.tab-content {
display: none;
}

.tab-content.active {
display: block;
}
ul.text-gray {
list-style-type: none; /* Removes bullet points */
padding-left: 0; /* Optional: Removes indentation */
}

.toggle-sidebar {
    background: none;
    border: none;
    color: white;
    font-size: 1.2rem;
    cursor: pointer;
}
/* Sidebar styles */
.sidebar {
    background-color: var(--color-primary-dark);
    color: var(--color-text-light);
    width: 250px;
    position: fixed;
    top: 60px; /* Start the sidebar below the header */
    left: -250px; /* Initially hidden off-screen */
    height: calc(100vh - 60px); /* Full height, minus the header height */
    padding: 20px;
    box-sizing: border-box;
    z-index: 900;
    transition: left 0.3s ease; /* Smooth animation for sliding */
    overflow-y: auto; /* Allow scrolling if content is taller than the viewport */
}
.sidebar.active {
    left: 0; /* Bring the sidebar into view when active */
}
.sidebar a {
    display: block;
    padding: 10px;
    color: var(--color-text-light);
    text-decoration: none;
    margin-bottom: 10px;
    border-radius: 4px;
}
.sidebar a:hover {
    background-color: var(--color-primary);
}