body {
  font-family: 'Arial', sans-serif;
  background: linear-gradient(to bottom, #2E2A47, #8B4513); /* Cool skies blending into desert ground */
  color: #D2B48C; /* Dimmed light sand beige */
  line-height: 1.6;
  margin: 0;
  padding: 0;
  animation: gradientAnimation 15s ease infinite; /* Add animation */
}

@keyframes gradientAnimation {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.container-fluid {
  padding: 20px;
}

#title {
  font-size: 36px;
  font-weight: bold;
  color: #D2B48C; /* Dimmed light sand beige to match dialogue */
  background-color: rgba(60, 80, 120, 0.9); /* Cool blue to match sky */
  padding: 20px;
  border-radius: 10px;
  margin: 20px 0;
}

#story, #character, #location {
  font-size: 18px;
  text-align: justify;
  text-indent: 20px;
  margin-bottom: 20px; /* Uniform spacing */
  padding: 10px; /* Added padding for readability */
}

#choices {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-bottom: 20px; /* Uniform spacing */
}

#choices li {
  font-size: 18px;
  margin-bottom: 15px;
  padding: 10px;
  background-color: rgba(60, 80, 120, 0.9); /* Cool blue */
  border: 1px solid rgba(30, 40, 60, 0.9); /* Darker cool blue */
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

#choices li:hover {
  background-color: rgba(30, 40, 60, 0.9); /* Darker cool blue */
  color: #fff;
  transform: scale(1.05);
}

#storyImage {
  width: 100%;
  border-radius: 10px;
  margin-top: 20px; /* Uniform spacing */
}

#footer {
  font-size: 16px;
  color: #D2B48C; /* Dimmed light sand beige */
  padding: 10px 0;
  text-align: center; /* Center-align the footer text */
  background-color: rgba(60, 80, 120, 0.9); /* Cool blue to match title background */
  border-radius: 5px;
  margin-top: 20px;
}

#footer a {
  color: #D2B48C;
  text-decoration: none;
  transition: color 0.3s ease;
}

#footer a:hover {
  color: #fff; /* Change color on hover */
}


/* Ensuring the image column is aligned with the top of the dialogue */
.row > .col-md-4, .col-md-8 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

img#storyImage {
  margin-top: 0; /* Remove any additional margin at the top */
}

@media (max-width: 768px) {
  .row > .col-md-4, .col-md-8 {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  img#storyImage {
    margin-top: 10px; /* Ensure margin on smaller screens */
  }

  #choices li {
    font-size: 16px;
    padding: 8px;
  }

  #title {
    font-size: 28px;
    padding: 15px;
  }

  #story, #character, #location {
    font-size: 16px;
    padding: 8px;
  }
}
