/* Reset basic styling */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: 'IBM Plex Sans', sans-serif;
  line-height: 1.6;
}
/* Header styling */
header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end; /* Align items in the center */
  background-color: #334048;
  padding: 10px 250px;
  color: white;
  position: relative; /* Allow positioning of child elements */
  z-index: 10;
}
/* Navigation styles */
nav {
  margin-left: auto; /* Push nav to the right */
}
nav ul {
  list-style: none;
  display: flex; /* Flex for desktop view */
  margin: 0;
  padding: 0;
}
nav ul li {
  margin: 5px 15px 5px 15px; /* Space between menu items */
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: bold;
  font-size: 1em;
  text-transform: uppercase;
}
nav ul li a {
  color: white;
  text-decoration: none;
}
nav ul li a:hover, nav ul li a:active {
  color: goldenrod; /* Hover effect */
}

/* Burger menu icon for mobile */
.burger-menu {
  display: none; /* Hidden by default, visible only on mobile */
  cursor: pointer;
  padding: 8px;
  color: white;
  font-size: 24px;
}
/* Content styling */
.whitecontent {
  padding: 40px 250px;
  background-color: #ffffff;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 1em;
}
.greencontent {
  padding: 40px 250px;
  font-family: 'IBM Plex Sans', sans-serif;
  background-color: #DFECDB;
  font-size: 1em;
}
.whitecontent h1 {
  font-size: 35px;
  margin-bottom: 40px;
  text-align: left;
}
.greencontent h1 {
  font-size: 35px;
  margin-bottom: 40px;
  text-align: left;
}

.whitecontent h2 {
  font-size: 25px;
  margin-bottom: 10px;
	margin-top: 10px;
  text-align: left;
}
.greencontent h2 {
  font-size: 25px;
  margin-bottom: 10px;
	margin-top: 10px;
  text-align: left;
}

.whitecontent a:link {
  text-decoration: none; 
  color: #415E97;
}

.whitecontent a:visited {
  text-decoration: none; 
  color: #415E97;
}

.whitecontent a:hover, .whitecontent a:active {
  color: goldenrod; /* Hover effect */
}

.greencontent a:link {
  text-decoration: none;
  color: #415E97;
}
.greencontent a:visited {
  text-decoration: none;
  color: #415E97;
}

.greencontent a:hover, .greencontent a:active {
  color: goldenrod; /* Hover effect */
}

/* Footer styling */
.footer {
  padding: 40px 350px;
  font-family: 'IBM Plex Sans', sans-serif;
  background-color: #334048;
  font-size: 1em;
  color: #CCC;
}
.footer a {
  color: white;
  text-decoration: none;
}

/* Responsive styling for smaller screens */
@media (max-width: 1280px) {
  header {
    padding: 10px 150px; /* Adjust header padding for smaller screens */
  }
  .whitecontent {
    padding: 20px 150px; /* Adjust content and footer padding */
  }
  .greencontent {
    padding: 20px 150px; /* Adjust content and footer padding */
  }
  .footer {
    padding: 20px 150px; /* Adjust content and footer padding */
  }
}

/* Responsive styling for smaller screens */
@media (max-width: 1024px) {
  header {
    padding: 10px 100px; /* Adjust header padding for smaller screens */
  }
  .whitecontent {
    padding: 20px 100px; /* Adjust content and footer padding */
  }
  .greencontent {
    padding: 20px 100px; /* Adjust content and footer padding */
  }
  .footer {
    padding: 20px 100px; /* Adjust content and footer padding */
  }
	
	.whitecontent h1 {
  font-size: 25px;
  margin-bottom: 20px;
  text-align: left;
}
.greencontent h1 {
  font-size: 25px;
  margin-bottom: 20px;
  text-align: left;
}

.whitecontent h2 {
  font-size: 16px;
  margin-bottom: 8px;
	margin-top: 8px;
  text-align: left;
}
.greencontent h2 {
  font-size: 18px;
  margin-bottom: 8px;
	margin-top: 80px;
  text-align: left;
}

}
/* Tablet screens */
@media (max-width: 768px) {
  header {
    flex-direction: column; /* Stack header items */
    align-items: center; /* Center header items */
    padding: 10px 50px; /* Adjust padding */
  }
  .burger-menu {
    display: block; /* Show burger menu on tablet and mobile */
  }
  nav ul {
    display: none; /* Hide the menu initially */
    flex-direction: column; /* Stack menu items vertically */
    align-items: center; /* Center align items */
    width: 100%; /* Full width for mobile */
    position: absolute; /* Position the menu absolutely */
    top: 100%; /* Place it below the header */
    left: 0; /* Align to the left */
    background-color: #334048; /* Background color for menu */
    z-index: 2; /* Ensure it's above other content */
  }
  /* Show menu when 'menu-active' class is added */
  nav ul.menu-active {
    display: flex; /* Show the menu */
    padding: 10px 0; /* Add padding for spacing */
  }
  .whitecontent {
    padding: 20px 50px; /* Adjust content and footer padding */
  }
  .greencontent {
    padding: 20px 50px; /* Adjust content and footer padding */
  }
  .footer {
    padding: 20px 50px; /* Adjust content and footer padding */
  }
}
/* Mobile screens */
@media (max-width: 480px) {
  header {
    padding: 10px 20px; /* Adjust header padding */
  }
  .whitecontent {
    padding: 10px 20px; /* Adjust content padding */
  }
  .greencontent {
    padding: 10px 20px; /* Adjust content padding */
  }
  .footer {
    padding: 10px 20px; /* Adjust content padding */
  }
}
/* General styling for grid container2 */
.grid-container2 {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); /* Adaptive min width */
  max-width: 100%; /* Prevent overflow */
  box-sizing: border-box;
  padding: 10px;
}

.grid-item {
  display: flex;
  flex-direction: column; /* Ensure content is stacked vertically */
  justify-content: center; /* Vertically center the content */
  align-items: left; /* Horizontally center the content */
}

/* Responsive adjustment for the image */
.grid-item img {
  width: 100%;
  max-width: 500px;
  height: auto; /* Maintains aspect ratio */
  object-fit: contain; /* Adjusts to fill the grid */
  display: block; /* Allows margin to center the image */
  margin: auto; /* Centers the image horizontally */
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .grid-container2 {
    grid-template-columns: 1fr; /* Single column for small screens */
  }
}

/* General styling for grid container3 */
.grid-container3 {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Adaptive min width */
  max-width: 100%; /* Prevent overflow */
  box-sizing: border-box;
  padding: 10px;
}
/* Mobile responsiveness */
@media (max-width: 768px) {
  .grid-container3 {
    grid-template-columns: 1fr; /* Single column for small screens */
  }
}

/* Styling for footer grid */
.footer-grid {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* Adaptive min width */
  max-width: 100%; /* Prevent overflow */
  box-sizing: border-box;
  padding: 10px;
}
/* Mobile responsiveness */
@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr; /* Single column for small screens */
  }
}

/* General styling for grid container4 */

.grid-container4 {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* Adaptive min width */
  max-width: 100%; /* Prevent overflow */
  box-sizing: border-box;
  padding: 10px;
}
/* Mobile responsiveness */
@media (max-width: 1024px) {
  .grid-container4 {
    grid-template-columns: 1fr; /* Single column for small screens */
  }
}

.grid-item4 img {
    width: 100% !important; /* Ensure images take full width */
    height: auto !important; /* Maintain aspect ratio */
    object-fit: contain; /* Ensures they fill the grid */
  }
}

.grid-item4 {
    justify-content: center;
  }
}

/* Styling for footer grid */
.footer-grid {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* Adaptive min width */
  max-width: 100%; /* Prevent overflow */
  box-sizing: border-box;
  padding: 10px;
}
/* Mobile responsiveness */
@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr; /* Single column for small screens */
  }
}

/* Main book carousel container */
.book-carousel-div {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto; /* Centers the carousel horizontally */
    width: fit-content; /* Adjusts the width based on the content */
}

/* Center the carousel itself and add spacing for the controls */
.book-carousel {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 750px; /* Adjust if necessary */
    overflow: hidden;
    padding: 0 40px; /* Adds space on the sides for the controls */
    gap: 20px; /* Adds space between the carousel and the controls */
}

/* Carousel track styling */
.book-carousel-track {
    display: flex;
    transition: transform 0.4s ease-in-out;
    width: calc((150px + 30px) * 8); /* Adjust for the number of images */
}

/* Carousel images */
.book-carousel a {
    flex: 0 0 auto;
    margin-right: 30px; /* Space between images */
}

.book-carousel img {
    width: 100%;
    max-width: 120px;
    height: auto;
    object-fit: cover;
}

/* Controls on the left and right of the carousel */
.book-carousel-control {
    color: Grey;
    font-size: 40px;
    font-weight: bold;
    border: none;
    background: rgba(255, 255, 255, 1); /* transparency set to 0.5 instead of 1 for 50%*/
    cursor: pointer;
    position: absolute;
    top: 0;
    bottom: 0; /* Ensures the background covers the full height of the images */
    width: 50px; /* Set the width of the control button */
    z-index: 10; /* Ensure controls appear above the images */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Left control */
.book-carousel-control.prev {
    left: 0; /* Position the left control on the left side */
}

/* Right control */
.book-carousel-control.next {
    right: 0; /* Position the right control on the right side */
}

/* Mobile responsiveness */
@media (max-width: 1024px) {
  .book-carousel {
    max-width: 550px; /* Adjust if necessary */
    overflow: hidden;
    padding: 0 20px; /* Adds space on the sides for the controls */
    gap: 10px; /* Adds space between the carousel and the controls */
}
	.book-carousel img {
    max-width: 100px;
}
	.book-carousel a {
    margin-right: 10px; /* Space between images */
}
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .book-carousel {
    max-width: 350px; /* Adjust if necessary */
    overflow: hidden;
    padding: 0 15px; /* Adds space on the sides for the controls */
    gap: 10px; /* Adds space between the carousel and the controls */
}
	.book-carousel img {
    max-width: 60px;
}
	.book-carousel a {
    margin-right: 5px; /* Space between images */
}
}

.book-info h4 {
    text-align: left;
    border-bottom: 1px solid #ccc; /* Adds an underline the full width of the container */
    padding-bottom: 2px; /* Adds some space between the text and underline */
}

.book-info p {
    text-align: justify;
    padding-left: 200px; 
	padding-bottom: 10px;
}

/* Mobile responsiveness */
@media (max-width: 1024px) {

	.book-info p {
    padding-left: 100px;
}
}

/* Mobile responsiveness */
@media (max-width: 768px) {

	.book-info p {
    padding-left: 20px;
}
}