:root{
   --main-color:#8e44ad;
   --red:#e74c3c;
   --orange:#f39c12;
   --light-color:#888;
   --light-bg:#eee;
   --black:#2c3e50;
   --white:#b5c2d3;
   --border:.1rem solid b
}

*{
   font-family: 'Nunito', sans-serif;
   margin:0; padding:0;
   box-sizing: border-box;
   outline: none; border:none;
   text-decoration: none;
}

*::selection{
   background-color: var(--main-color);
   color:#fff;
}

html{
   font-size: 62.5%;
   overflow-x: hidden;
}

html::-webkit-scrollbar{
   width: 1rem;
   height: .5rem;
}

html::-webkit-scrollbar-track{
   background-color: transparent;
}

html::-webkit-scrollbar-thumb{
   background-color: var(--main-color);
}

body{
   background-color: var(--light-bg);
   padding-left: 30rem;
}

body.dark{
   --light-color:#aaa;
   --light-bg:#333;
   --black:#fff;
   --white:#222;
   --border:.1rem solid rgba(255,255,255,.2);
}

body.active{
   padding-left: 0;
}

section{
   padding:2rem;
   margin: 0 auto;
   max-width: 1200px;
}

.heading{
   font-size: 2.7rem;
   color:var(--black);
   margin-bottom: 2.5rem;
   border-bottom: var(--border);
   padding-bottom: 1.5rem;
   text-transform: capitalize;
}

.inline-btn,
.inline-option-btn,
.inline-delete-btn,
.btn,
.delete-btn,
.option-btn{
   border-radius: .5rem;
   color:#fff;
   font-size: 1.8rem;
   cursor: pointer;
   text-transform: capitalize;
   padding:1rem 3rem;
   text-align: center;
   margin-top: 1rem;
}

.btn,
.delete-btn,
.option-btn{
   display: block;
   width: 100%;
}

.btn,
.inline-btn{
   background-color: var(--main-color);
}

.option-btn,
.inline-option-btn{
   background-color:var(--orange);
}


.inline-btn:hover,
.inline-option-btn:hover,
.inline-delete-btn:hover,
.btn:hover,
.delete-btn:hover,
.option-btn:hover{
   background-color: var(--black);
   color: var(--white);
}

.flex-btn{
   display: flex;
   gap: 1rem;
}

.header{
   position: relative;
   top:0; left:0; right: 0;
   background-color: var(--white);
   z-index: 1000;
   border-bottom: var(--border);
   padding: 0;
   border-bottom-left-radius: 90px;
   border-bottom-right-radius: 90px;
   box-shadow: 0 4px 6px rgba(2, 30, 122, 0.692); /* Optional: adds soft shadow */ 
}

.header .flex{
   display: flex;
   align-items: center;
   justify-content: space-between;
   position: relative;
   padding: 0rem;
}

.header .flex .logo {
   position: relative; /* Keep it within normal flow */
   top: 0; /* Reset top value */
   left: auto; /* Remove unnecessary left positioning */
   max-width: 120px; /* Ensure it resizes properly */
}


.header .flex .search-form{
   width: 100%;
   border-radius: 100px;
   background-color: var(--light-bg);
   padding:.5rem 1%;
   display: flex;
   gap:2rem;

}
.header .flex .search-form:focus-within {
   width: 600px; /* Expands smoothly when clicked */
}

.header .flex .search-form input{
   width: 100%;
   font-size: 120%;
   color:var(--black);
   background:none;
}

.header .flex .search-form button{
   background:none;
   font-size: 2rem;
   cursor: pointer;
   color:var(--black);
}

.header .flex .search-form button:hover{
   color: var(--main-color);
}

.header .flex .icons div{
   font-size: 1.5rem;
   color:var(--black);
   background-color: var(--light-bg);
   border-radius: 50rem;
   height: 3rem;
   width: 3rem;
   line-height: 3rem;
   cursor: pointer;
   text-align: center;
   margin-left: .2rem;
}

.header .flex .icons div:hover{
   background-color: var(--black);
   color:var(--white);

}

.header .flex .profile{
   position: absolute;
   top:120%; right: 2rem;
   background-color: var(--white);
   border-radius: .5rem;
   padding: 1.5rem;
   text-align: center;
   overflow: hidden;
   transform-origin: top right;
   transform: scale(0);
   transition: .2s linear;
   width: 30rem;

}

.header .flex .profile.active{
   transform: scale(1);
}

.header .flex .logo img {
   width: 60px; /* Make it smaller */
   height: 50px;
   border-radius: 50%; /* Make it round */
}

.header .flex .profile .name{
   font-size: 2rem;
   color:var(--black);
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.header .flex .profile .role{
   font-size: 1.8rem;
   color: var(--light-color);
}

#search-btn{
   display: none;
}

.side-bar{
position: fixed;
top: 0; 
left: -30rem;
width: 30rem;
background-color: var(--white);
height: 100vh;
border-right: var(--border);
z-index: 1200;
transition: left .3s ease;
}
.side-bar.active{
left: 0;
}


.side-bar #close {
text-align: right;
padding: 2rem;
display: none;
}

.side-bar #close-btn i{
text-align: right;
font-size: 2.5rem;
background:var(--red);
border-radius: .5rem;
color:var(--white);
cursor: pointer;
height: 4.5rem;
width: 4.5rem;
line-height: 4.5rem;
text-align: center;
}

.side-bar #close-btn i:hover{
background-color: var(--black);
}

.side-bar .profile{
padding:3rem 2rem;
text-align: center;
}

.side-bar .profile .image{
height: 10rem;
width: 10rem;
border-radius: 50%;
object-fit: contain;
margin-bottom: 1rem;
}

.side-bar .profile .name{
font-size: 2rem;
color:var(--black);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

.side-bar .profile .role{
font-size: 1.8rem;
color: var(--light-color);
}

.side-bar .navbar a{
display: block;
padding: 2rem;
font-size: 2rem;
}

.side-bar .navbar a i{
margin-right: 1.5rem;
color:var(--main-color);
transition: .2s linear;
}

.side-bar .navbar a span{
color:var(--light-color);
}

.side-bar .navbar a:hover{
background-color: var(--light-bg);
}

.side-bar .navbar a:hover i{
margin-right: 2.5rem;
}

.home-grid .box-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* Set minimum and maximum widths for flexibility */
gap: 1.5rem;
justify-content: center;
align-items: flex-start;
}


.home-grid .box-container .box{
background-color: var(--white);
border-radius: .5rem;
padding:2rem;
}

.home-grid .box-container .box .title{
font-size: 2rem;
color: var(--black);
text-transform: capitalize;
}

.home-grid .box-container .box .flex{
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
margin-top: 2rem;
}

.home-grid .box-container .flex a{
background-color: var(--light-bg);
border-radius: .5rem;
padding: 1rem 1.5rem;
font-size: 1.5rem;
}

.home-grid .box-container .flex a i{
margin-right: 1rem;
color:var(--black);
}

.home-grid .box-container .flex a span{
color:var(--light-color);
}

.home-grid .box-container .flex a:hover{
   background-color: var(--black);
}

.home-grid .box-container .flex a:hover span{
   color:var(--white);
}

.home-grid .box-container .flex a:hover i{
   color:var(--white);
}


.about .row{
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap:1.5rem;
}

.about .row .image{
   flex: 1 1 40rem;
}

.about .row .image img{
   width: 100%;
   height: 50rem;
}

.about .row .content{
   flex: 1 1 40rem;
}

.about .row .content p{
   font-size: 1.7rem;
   line-height: 2;
   color: var(--light-color);
   padding: 1rem 0;
}

.about .row .content h3{
   font-size: 3rem;
   color:var(--black);
   text-transform: capitalize;
}

.about .box-container{
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(27rem, 1fr));
   gap:1.5rem;
   justify-content: center;
   align-items: flex-start;
   margin-top: 3rem;
}

.about .box-container .box{
   border-radius: .5rem;
   background-color: var(--white);
   padding: 2rem;
   display: flex;
   align-items: center;
   gap: 2.5rem;
}

.about .box-container .box i{
   font-size: 4rem;
   color: var(--main-color);
}

.about .box-container .box h3{
   font-size: 2.5rem;
   color: var(--black);
   margin-bottom: .3rem;
}

.about .box-container .box p{
   font-size: 1.7rem;
   color:var(--light-color);
}

.reviews .box-container{
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
   gap:1.5rem;
   justify-content: center;
   align-items: flex-start;
}

.reviews .box-container .box{
   border-radius: .5rem;
   background-color: var(--white);
   padding: 2rem;
}

.reviews .box-container .box p{
   line-height: 1.7;
   font-size: 1.7rem;
   color: var(--light-color);
}

.reviews .box-container .box .student{
   margin-top: 2rem;
   display: flex;
   align-items: center;
   gap: 1.5rem;
}

.reviews .box-container .box .student img{
   height: 5rem;
   width: 5rem;
   object-fit: cover;
   border-radius: 50%;
}

.reviews .box-container .box .student h3{
   font-size: 2rem;
   color: var(--black);
   margin-bottom: .3rem;
}

.reviews .box-container .box .student .stars{
   font-size: 1.5rem;
   color:var(--orange);
}

.contact .row{
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 1.5rem;
}

.contact .row .image{
   flex: 1 1 50rem;
}

.contact .row .image img{
   width: 100%;
}

.contact .row form{
   flex: 1 1 30rem;
   background-color: var(--white);
   padding: 2rem;
   text-align: center;
}

.contact .row form h3{
   margin-bottom: 1rem;
   text-transform: capitalize;
   color:var(--black);
   font-size: 2.5rem;
}

.contact .row form .box{
   width: 100%;
   border-radius: .5rem;
   background-color: var(--light-bg);
   margin: 1rem 0;
   padding: 1.4rem;
   font-size: 1.8rem;
   color: var(--black);
}

.contact .row form textarea{
   height: 20rem;
   resize: none;
}

.contact .box-container{
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
   gap:1.5rem;
   justify-content: center;
   align-items: flex-start;
   margin-top: 3rem;
}

.contact .box-container .box{
   text-align: center;
   background-color: var(--white);
   border-radius: .5rem;
   padding: 3rem;
}

.contact .box-container .box i{
   font-size: 3rem;
   color: var(--main-color);
   margin-bottom: 1rem;
}

.contact .box-container .box h3{
   font-size: 2rem;
   color:var(--black);
   margin: 1rem 0;
}

.contact .box-container .box a{
   display: block;
   padding-top: .5rem;
   font-size: 1.8rem;
   color: var(--light-color);
}

.contact .box-container .box a:hover{
   text-decoration: underline;
   color:var(--black);
}

.form-container{
   min-height: calc(100vh - 20rem);
   display: flex;
   align-items: center;
   justify-content: center;
}

.form-container form{
   background-color: var(--white);
   border-radius: .5rem;
   padding: 2rem;
   width: 50rem;
}

.form-container form h3{
   font-size: 2.5rem;
   text-transform: capitalize;
   color: var(--black);
   text-align: center;
}

.form-container form p{
   font-size: 1.7rem;
   color: var(--light-color);
   padding-top: 1rem;
}

.form-container form p span{
   color: var(--red);
}

.form-container form .box{
   font-size: 1.8rem;
   color: var(--black);
   border-radius: .5rem;
   padding: 1.4rem;
   background-color: var(--light-bg);
   width: 100%;
   margin: 1rem 0;
}

/* General Footer Styles */
.footer {
   background: #fef9f3; /* Paper-like background */
   color: #0e0202;
   text-align: center;
   padding: 20px 10px;
   font-size: 14px;
   line-height: 1.6;
   box-shadow: 0 -2px 5px rgba(92, 71, 71, 0.1);
}

.footer-bar {
   background: hsl(277, 50%, 55%); /* Purple accent */
   border-radius: 100rex;
   color: white;
   padding: 15px;
   font-weight: bold;

}

.footer-bar a {
   color: white;
   text-decoration: none;
}

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

.footer-full {
   margin-top: 10px;
}

.footer a {
   color: #6a1b9a; /* Match the purple accent */
   text-decoration: none;
   border: none;
}

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

/* Smooth Scrolling Footer */
.footer-content {
   max-height: 100px; /* Start with a small height */
   overflow: hidden;
   transition: max-height 0.4s ease-in-out;
}

.footer:hover .footer-content {
   max-height: 1000px; /* Expand smoothly to show full content */
}


@media (max-width:1200px){

   body{
      padding-left: 0;
   }

   .side-bar{
      left: -30rem;
      transition: .2s linear;
   }

   .side-bar #close-btn{
      display: block;
   }

   .side-bar.active{
      left: 0;
      box-shadow: 0 0 0 100vw rgba(0,0,0,.8);
      border-right: 0;
   }

}

@media (max-width:991px){

   html{
      font-size: 55%;
   }

}

@media (max-width:768px){

   #search-btn{
      display: inline-block;
   }

   .header .flex .search-form{
      position: absolute;
      top: 99%; left: 0; right: 0;
      border-top: var(--border);
      border-bottom: var(--border);
      background-color: var(--white);
      border-radius: 0;
      width: auto;
      padding: 2rem;
      clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
      transition: .2s linear;
   }

   .header .flex .search-form.active{
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
   }

}

@media (max-width:450px){

   html{
      font-size: 50%;
   }

   .flex-btn{
      gap: 0;
      flex-flow: column;
   }

   .home-grid .box-container{
      grid-template-columns: 1fr;
   }

   .about .row .image img{
      height: 25rem;
   }

}
.subject-selection {
   margin: 20px;
   padding: 20px;
   background-color: #f0f0f0; /* Background color similar to main page */
   border-radius: 10px;
}

.subject-list {
   list-style-type: none;
   padding: 0;
}

.subject-list li {
   margin-bottom: 15px;
}

.download-btn {
   text-decoration: none;
   padding: 10px 20px;
   background-color: #6C63FF; /* Button color similar to your main page */
   color: #fff;
   border-radius: 5px;
   font-size: 16px;
}

.download-btn:hover {
   background-color: #5a52d6; /* Darker shade on hover */
}
/* General Styles */
body {
   font-family: Arial, sans-serif;
   background-color: #f9f9f9;
   color: #333;
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   align-items: center;
}

/* Header Section */
header {
   display: flex;
   align-items: center;
   padding: 20px;
   background-color: #a3b3c9;
   width: 100%;
   justify-content: space-between;
}

.logo-container img {
   width: 150px; /* Adjust the logo size as needed */
   margin-right: 10px;
}

header h1 {
   color: #ffffff;
   font-size: 1.5em;
}

/* Navigation Styles */
nav {
   margin-top: 20px;
   font-size: 1.2em;
}

nav ul {
   list-style-type: none;
   padding: 0;
}

nav ul li {
   display: inline;
   margin: 0 15px;
}

nav ul li a {
   color: #9bb5d8;
   text-decoration: none;
}

/* Main Content */
main {
   margin-top: 40px;
   text-align: center;
   max-width: 800px;
}

/* Subject Buttons */
.subject-list {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 15px;
   margin: 20px 0;
}

.subject-list a {
   display: block;
   width: 200px;
   padding: 10px 0;
   background-color: #4a75e0;
   color: #fff;
   text-align: center;
   border-radius: 8px;
   font-weight: bold;
   text-decoration: none;
   transition: background-color 0.3s ease;
}

.subject-list a:hover {
   background-color: #375ab5;
}

/* General Styles */
.subject-selection {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.subject-grid {
    display: grid;
    gap: 30px;
    margin-top: 20px;
}

/* Default to 1 column on mobile */
.subject-grid {
    grid-template-columns: 1fr;
}

/* 2 columns for medium screens */
@media (min-width: 600px) {
    .subject-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* 3 columns for larger screens */
@media (min-width: 900px) {
    .subject-grid {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

.subject-item {
   display: block;
   padding: 15px;
   background-color: #1c0d20;
   color: #fff;
   text-align: center;
   border-radius: 8px;
   font-weight: bold;
   font-size: 1.2em; /* Increase this value as needed */
   text-decoration: none;
   transition: background-color 0.3s ease;
}



.subject-item:hover {
    background-color: #375ab5;
}
#search-bar {
   padding: 19px;
   border: 1px solid #ccc;
   border-radius: 10px;
   margin-right: 11px;
   font-size: 18px;
   width: 700px;
   max-width: 5000px;
   box-sizing: border-box;
}

/* Large screens */
@media (min-width: 1200px) {
   #search-bar {
      font-size: 20px;
      width: 700px;
   }
}

/* Medium screens */
@media (max-width: 1199px) and (min-width: 768px) {
   #search-bar {
      font-size: 18px;
      width: 700px;
   }
}

/* Small screens (tablets and large phones) */
@media (max-width: 767px) and (min-width: 480px) {
   #search-bar {
      font-size: 16px;
      width: 100%;
   }
}

/* Extra small screens (small phones) */
@media (max-width: 479px) {
   #search-bar {
      font-size: 14px;
      width: 100%;
   }
}

button {
   background-color: #6a4f99;
   color: #000000;
   border: none;
   padding: 8px 16px;
   border-radius: 5px;
   cursor: pointer;
}

button:hover {
   background-color: #5a3f89;
}
body.dark .subject-selection,
body.dark .subject-grid {
    background-color: #000000; /* Dark background for dark mode */
    color: #130101; /* Light text color for dark mode */
}
.papers-section {
   max-width: 1200px;
   margin: 0 auto;
   padding: 2rem;
}

.year-section {
   margin-bottom: 2rem;
}

.session h4 {
   font-size: 1.8rem;
   color: var(--black);
   margin-bottom: 1rem;
}

.paper-options {
   display: flex;
   gap: 1rem;
   align-items: center;
   margin-bottom: 1rem;
}

.paper-options button {
   padding: 0.5rem 1rem;
   background-color: var(--main-color);
   color: #fff;
   border: none;
   border-radius: 100px;
   cursor: pointer;
}

.paper-options button:hover {
   background-color: var(--black);
   color: var(--white);
}

header {
   background-color: #64498b; /* Grayish purple */
   color: rgb(255, 255, 255);
   text-align: center;
   padding: .5px;
   border-radius: 90px;
}

h1 {
   margin: 0;
}

/* Donation section */
.donation-info {
   text-align: center;
   padding: 20px;
   background-color: #e8d1f5; /* Lighter grayish purple */
   margin: 20px auto;
   border-radius: 10px;
   max-width: 800px;
}

.donation-info h2 {
   color: #6a4e93;
}


.thank-you-message {
   margin-top: 30px;
   font-size: 1.2em;
}

footer {
   background-color: #6a4e93;
   color: white;
   text-align: center;
   padding: 10px;
   width: 100%;
   bottom: 0;
}
/* Apply a purple background color globally */
body {
    background-color: #d9cbdb; /* Light purple color */
    color: #333; /* Adjust text color for readability */
    margin: 0;
    font-family: Arial, sans-serif; /* Optional: consistent font */
}

/* Additional styling for content contrast */
footer {
    background-color: #ada8c2; /* Deep purple for header, sidebar, and footer */
    border-bottom-left-radius: 90px;
    border-top-left-radius: 90px;
    border-top-right-radius:90px ;
    border-bottom-right-radius: 90px;
    color: #fff; /* Ensure text is visible */
}

h2, a, .btn {
    color: #fff; /* Adjust text and link colors for consistency */
}

/* General Styling */
body {
   font-family: 'Arial', sans-serif;
   line-height: 1.6;
   margin: 0;
   padding: 0;
   background-color: #d6d3d8;
   color: #3a0909;
 }
 
 /* Content Container */
 .content-container {
   max-width: 800px;
   margin: 20px auto;
   padding: 20px;
 }
 
 /* Box Style for Sections */
 .content-box {
   background-color: #ffffff;
   border: 1px solid #ddd;
   border-radius: 8px;
   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
   padding: 20px;
   margin-bottom: 20px;
 }
 
 /* Heading Styles */

 h2 {
   font-size: 1.5rem;
   color: #856c8f;
   margin-bottom: 15px;
 }
 
 h3 {
   font-size: 1.2rem;
   color: #333;
   margin-bottom: 10px;
   font-weight: bold;
 }
 
 /* Paragraph Styling */
 p {
   font-size: 1.1rem;
   color: #000000;
   margin-bottom: 15px;
 }
 
 /* Content Highlight */
 p span {
   font-size: 2.1;
   color: #7f1bb9;
   font-weight: bold;
 }
 
 /* Responsive Design */
 @media (max-width: 768px) {
   .content-container {
     padding: 15px;
   }
 
   h2 {
     font-size: 2.7rem;
   }
 
   h3 {
     font-size: 2.8rem;
   }
 }
 .paper-options button::before {
   content: "";
   display: inline-block;
   width: 16px;
   height: 16px;
   background-image: url('https://upload.wikimedia.org/wikipedia/commons/8/87/PDF_file_icon.svg'); /* Red PDF icon */
   background-size: contain;
   background-repeat: no-repeat;
   margin-right: 6px;
   vertical-align: middle;
 }
 .pdf-overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   background-color: white;
   z-index: 9999;
   display: none;
   flex-direction: column;
}

.pdf-header {
   background-color: #8e44ad;
   color: white;
   padding: 10px 20px;
   display: flex;
   justify-content: flex-end;
   align-items: center;
}

.pdf-overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   background-color: rgba(0, 0, 0, 0.85); /* dark background */
   z-index: 9999;
   display: none;
   flex-direction: column;
   animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
   from { opacity: 0; }
   to { opacity: 1; }
}

.pdf-header {
   background-color: #ffffff;
   padding: 12px 20px;
   display: flex;
   justify-content: flex-end;
   align-items: center;
   box-shadow: 0 4px 10px rgba(0,0,0,0.1);
   z-index: 1;
}

.pdf-overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   background-color: rgba(0, 0, 0, 0.8); /* subtle dark backdrop */
   z-index: 9999;
   display: none;
   flex-direction: column;
   animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
   from { opacity: 0; }
   to { opacity: 1; }
}

.pdf-header {
   background-color: #6a0dad; /* deep royal purple */
   padding: 10px;
   display: flex;
   justify-content: flex-end;
   align-items: center;
   box-shadow: 0 4px 10px rgba(0,0,0,0.1);
   z-index: 1;
   position: relative;
}

.glass-close-btn {
   background-color: rgba(255, 255, 255, 0.2); /* glass look */
   border: none;
   color: white;
   font-size: 18px;
   width: 32px;
   height: 32px;
   border-radius: 50%;
   cursor: pointer;
   transition: background-color 0.3s ease, transform 0.2s;
   display: flex;
   align-items: center;
   justify-content: center;
   backdrop-filter: blur(4px);
   box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.glass-close-btn:hover {
   background-color: rgba(255, 255, 255, 0.3);
   transform: scale(1.05);
}

.pdf-overlay iframe {
   flex: 1;
   width: 100%;
   border: none;
   background-color: white;
}


