body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(135deg, #71da7a, #424242);
    color: #ffffff;
  height: 100vh; /* Full viewport height */
  margin: 0;
  padding: 0;
  overflow: auto; /* Prevent main content from scrolling */
}

/* Loading Screen */
#loadingContainer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #282c34;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999; /* Ensure it's on top of everything */
}

#logoContainer {
  text-align: center;
}

#loadingLogo {
  width: 150px;
  height: auto;
  margin-bottom: 20px;
}

#progressBar {
  width: 80%;
  background-color: #ddd;
  height: 10px;
  border-radius: 5px;
  overflow: hidden;
}

#progress {
  height: 100%;
  width: 0;
  background-color: green;
  transition: width 1s;
}

/* Hide the loading container when content is ready */
.hidden {
  display: none;
}



/* Quiz Section Styling */
.quiz-section {
  position: fixed;
  bottom: 60px;
  width: 100%;
  height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  z-index: 100;
}

/* Left-aligned Take Quiz button */
#quiz-button-container {
  flex: 0 0 auto;  /* Ensure the button stays at its natural size */
  margin-left: 10px;
}

#quiz-button {
  width: 100%;
  max-width: 200px;
  padding: 10px;
  background-color: #28a745;
  color: #fff;
  font-weight: bold;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-bottom: 10px;
}

#quiz-button:hover {
  background-color: #218838;
}

/* General Quiz Container Styling */
#quiz-container {
  display: none; /* Hidden by default, shown when quiz starts */
  background-color: #f9f9f9;
  padding: 20px;
  border-radius: 50px;
  width: 60%;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  height: auto; /* Adjust height dynamically based on content */
  max-height: 90%; /* Allow scrolling if content overflows */
  overflow-y: auto; /* Enable vertical scrolling */
  z-index: 101; /* Ensure it stays on top */
  
  /* Flexbox and positioning for centering */
  position: fixed; /* To keep it at the center when the page scrolls */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Center the container */
}


.quiz-question {
  margin-bottom: 20px;
  padding: 10px;
  border-bottom: 1px solid #ddd;
}

.quiz-answer {
  display: block;
  margin: 10px 0;
  font-size: 16px;
}

.quiz-answer input[type="radio"] {
  margin-right: 10px;
}

button {
  background-color: #4CAF50;
  color: white;
  padding: 10px 20px;
  font-size: 18px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

button:hover {
  background-color: #45a049;
}

/* Feedback styling */
#quiz-container p {
  font-size: 16px;
  line-height: 1.6;
}

#quiz-container p strong {
  font-size: 18px;
}

#quiz-container p.correct {
  color: green;
}

#quiz-container p.incorrect {
  color: red;
}

/* Result message styling */
#quiz-container .result-message {
  font-size: 20px;
  font-weight: bold;
  color: #333;
  text-align: center;
  margin-bottom: 20px;
}

/* Intro Slides Styling */
#introSlides {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  color: #fff;
  text-align: center;
  overflow: hidden;
}

.slide {
  display: none;
  width: 80%;
  margin: 10% auto;
  padding: 20px;
  background: #fff;
  color: #000;
  border-radius: 10px;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slide.active {
  display: block;
  opacity: 1;
}
header {
  display: flex;
  justify-content: center;
  position: fixed;
  top: 0;
  width: 100%;
 
  z-index: 1000; /* Ensures the header stays on top of other content */

  padding: 10px;
}
.center {
  width: fit-content;
  margin: auto;
}

.border {
  border: 2px solid;
  padding: 100px;
  border-radius: 10px;
}

button {
  padding: 10px 20px;
  font-size: 16px;
  color: #ffffff;
  background-color: #007bff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 20px;
}

button:hover {
  background-color: #0056b3;
}

.addCation {
  background-color: #1cadad;
  color: white;
  font-size: 20px;
}

.done {
  background-color: #1898a3;
  color: white;
}

#add-reagent-btn {
  background-color: #1898a3;
  color: white;
}

#cation {
  background: white;
  bottom: 0px;
  display: none;
  height: 7px;
  left: 25%;
  position: absolute;
  text-align: center;
  width: 20px;
  z-index: 1;
}

.aligned {
  display: flex;
  align-items: center;
  justify-content: center;
  height: fit-content;
  margin: auto;
}

.left {
  margin-right: 10px;
}

.greyboxhidden {
  background: #F0F0F0;
  border-radius: 5px;
  border: solid black 2px;
  padding-left: 5px;
  padding-right: 5px;
  text-align: center;
}

button {
  border-radius: 5px;
  font-size: 20px;
}

.btnadd {
  background-color: rgb(100, 168, 121);
  color: white;
}

.btnfun {
  background-color: rgb(148, 73, 73);
  color: white;
  margin: 5px 0px;
}
#IcePlate {
  position: relative;
}

#testtube {
  border: solid red 2px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  width: 50px;
  height: 150px;
  background: silver;
  overflow: hidden;
  backface-visibility: hidden;
  position: relative;
  transition: all 2s;
  margin: 10px;
}

.CationHideOptions {
  display: none;
  font-size: 20px;
  background: lightgrey;
  height: fit-content;
  transition-duration: 500ms;
  position: absolute;
  top: 0;
  left: 0;
}

.CationShowOptions {
  display: block;
  font-size: 20px;
  background: lightgrey;
  height: fit-content;
  transition: all 0.5s linear;
}

.ReagentHideOptions {
  display: none;
  opacity: 0;
  font-size: 20px;
  background: lightgrey;
  height: 0px;
  transition: all 0.5s linear;
}

.ReagentShowOptions {
  display: block;
  opacity: 1;
  font-size: 20px;
  background: lightgrey;
  height: fit-content;
  transition: all 0.5s linear;
}

.fill {
  height: 300px;
  width: 50px;
  background-color: Cyan;
  position: relative;
  top: 150px;
  transition: all 2s;
}


/* Thermometer */
#Thermometer {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: none; /* Hidden by default */
}

#thermometer-img {
  height: 100px;
}

#temperature-display {
  text-align: center;
  font-size: 10px;
  color: #333;
}
.precipitate {
  height: 300px;
  width: 50px;
  background: black;
  transition: background-color 2s ease;
  transform: translate(0, 150px);
  transition: all cubic-bezier(.2, .6, .8, .4) 1s;
}


.btn-container {
  position: relative;
}

.footer {
  display: flex;
  justify-content: space-between;
  margin: 10px;
}

.testtube-container {
  display: flex;
  justify-content: center;
}

button {
  margin: 10px;
  padding: 8px 16px;
  font-size: 16px;
}

#redoBtn {
  background-color: #ff6666;
  color: white;
  border: none;
  cursor: pointer;
}

#redoBtn:hover {
  background-color: #ff4c4c;
}

/* Footer Styling for Logo Positioned to Right 
footer {
  width: 100%;
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 10px;
  text-align: right;
}

.logo-container {
  margin: 0;
}

.logo {
  width: 120px;
  height: auto;
} */
#logo {
  position: fixed;
  top: 20px;
  left: 20px;
  width: 80px;
  height: auto;
  opacity: 0.9;
  z-index: 10;
}
