:root {
  --header-bar-height: 40px;
}

/* Define the Mouse Memoirs font */
@font-face {
  font-family: "Mouse Memoirs";
  src: url("assets/mouse-memoirs/MouseMemoirs-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

* {
  scroll-behavior: smooth;
}

html {
  font-size: 18px; /* Base font size for the document */
}

body,
html {
  height: 100%; /* Important for covering the whole page */
  margin: 0;
  padding: 0;
  font-family: "Mouse Memoirs", sans-serif;
  line-height: 1.5; /* Improved readability */
}

.background-image {
  background-image: url("assets/VINTAGE_GRUNGE_BACKGROUND\ v2.png"); /* Replace 'your-image.jpg' with your image path */
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover; /* This is the key to scale the background */
  height: 100%;
  display: flex;
  align-items: flex-start; /* This vertically centers the text inside the div */
  justify-content: center; /* This horizontally centers the text inside the div */
  position: fixed;
  overflow: auto;
}

h1 {
  color: #3a6959; /* Ensures text is visible on darker backgrounds */
  font-size: 2em;
}

a {
  color: #186249;
}

header {
  display: flex;
  align-items: center;
  justify-content: space-evenly; /* Center the contents of the header */
  color: white;
  padding: 10px 20px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 500;
}

#mute-button {
  min-width: 55px;
  padding: 8px;
  font-size: 16px;
  background-color: #3a6959;
  color: #ffffff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

#mute-button.muted {
  background-color: #ff6347;
}

.logo {
  flex-grow: 0;
}

.logo img {
  height: 9vw;
}

.navbar {
  display: inline-block; /* Make the navbar take only the necessary width */
  text-align: center;
  background: rgba(255, 255, 255, 0.7);
  color: #186249;
  padding: 15px 0;
  border-radius: 5px;
  border: 3px solid rgba(58, 105, 89, 0.7);
}

.navbar a {
  color: #186249;
  text-decoration: none;
  margin: 0 10px;
  font-size: 1.25em; /* Increased font size for navbar links */
}

.navbar a:hover {
  text-decoration: underline;
}

@media (max-width: 600px) {
  .navbar {
    padding: 8px 0;
  }

  .navbar a {
    margin: 0px 3px;
    font-size: 0.9em;
  }
}

.content-container {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap; /* Allows containers to wrap */
  gap: 10px; /* Optional: Adds space between containers */
  padding-top: calc(var(--header-bar-height));
}

.content-title {
  width: 100%;
  display: flex;
  align-items: center;
  justify-items: center;
}

.content-title img {
  width: 100%;
  position: relative;
  margin: auto;
}

.advert {
  display: flex;
  width: 100%;
  clear: both;
  overflow: hidden;
  justify-content: center;
  align-content: center;
}

.advert-child {
  position: relative;
  display: flex;
  justify-content: center;
  border-radius: 10px;
  font-size: 1.125em; /* Increased font size for section components */
  max-width: 1200px;
}

.advert-child > img {
  object-fit: cover;
  width: 100%;
}

.pink-sale-button {
  position: absolute;
  bottom: 40px;
  background-color: #63a331;
  -webkit-text-fill-color: #3a6959;
  -webkit-text-stroke: 0.5px white;
}

/* Styles for sub-containers */
.section-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1; /* Each sub-container takes up equal space */
  flex-wrap: wrap; /* Allows nested items to wrap within the sub-container */
  min-width: 300px; /* Minimum width before wrapping occurs */
  padding: 10px;
  margin: 5px;
  box-sizing: border-box;
  max-width: 600px;
}

.pie-chart {
  z-index: 20;
}

.wacky-cat {
  position: absolute;
  bottom: 13px;
  right: 0px;
  width: 270px;
}

/* Styles for nested containers */
.section-component {
  flex: 1 1 460px; /* Grows to fill the space, wraps if less than 100px wide */
  margin: 0px; /* Space between nested items */
  background: rgba(255, 255, 255, 0.7); /* Just for better visibility */
  color: #3a6959;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 10px;
  border-width: 3px;
  border-color: rgba(58, 105, 89, 0.7);
  border-style: solid;
  position: relative;
  max-width: 100%;
  font-size: 1.125em; /* Increased font size for section components */
}

.section-wrapper {
  position: relative; /* Ensure relative positioning for absolute child */
}

.banner-container {
  position: absolute;
  top: -10px; /* Adjust based on your preference */
  left: 20px; /* Adjust based on your preference */
}

.banner-image {
  max-width: 100px; /* Set maximum width for the banner */
}

@media (max-width: 600px) {
  .banner-image {
    max-width: 80px; /* Reduce size on smaller screens */
  }

  .section-component h1 {
    font-size: 1.5em; /* Adjust font size for smaller screens */
  }

  .section-component p {
    font-size: 1em; /* Adjust font size for smaller screens */
  }
  .banner-container {
    top: 5px; /* Adjust based on your preference */
  }
}

.style-component {
  background: rgba(255, 255, 255, 0.7); /* Just for better visibility */
  color: #3a6959;
  margin: 10px;
  padding: 10px;
  box-sizing: border-box;
  border-radius: 10px;
  border-width: 3px;
  border-color: rgba(58, 105, 89, 0.7);
  border-style: solid;
  font-size: 1.125em; /* Increased font size for section components */
  max-width: 1200px;
  position: relative; /* Ensure relative positioning for absolute child */
}

.banner-container-utility {
  position: absolute;
  top: -10px; /* Adjust based on your preference */
  right: -10px; /* Adjust based on your preference */
}

.banner-image-utility {
  max-width: 100px; /* Set maximum width for the banner */
}

@media (max-width: 600px) {
  .banner-image-utility {
    max-width: 80px; /* Reduce size on smaller screens */
  }

  .banner-container-utility {
    top: 10px; /* Adjust based on your preference */
    right: -9px; /* Adjust based on your preference */
  }
}

button {
  border-style: solid;
  border-radius: 5px;
  border-width: 3px;
  border-color: rgba(58, 105, 89, 0.7);
  background: rgba(255, 255, 255, 0.7); /* Just for better visibility */
  color: #186249;
  padding: 10px;
  font-family: "Mouse Memoirs", sans-serif;
  font-size: 1.125em; /* Increased font size for buttons */
  cursor: pointer;
}

.columns {
  display: flex; /* Activates flexbox */
  justify-content: center; /* Centers the flex items horizontally */
  align-items: center; /* Aligns the flex items vertically in the middle */
  gap: 20px; /* Optional: adds space between the flex items */
}

.column {
  flex: 1; /* Each flex item takes equal amount of space */
}

.column img {
  width: 100%; /* Makes the image responsive */
  max-width: 600px; /* Maximum width of the image */
  height: auto; /* Keeps the image aspect ratio */
}

#buy-button {
  position: relative;
}

#utility {
  display: flex;
  width: 100%;
  clear: both;
  overflow: hidden;
  justify-content: center;
}

#roadmap {
  display: flex;
  width: 100%;
  clear: both;
  overflow: hidden;
  justify-content: center;
}

footer {
  width: 100vw;
  height: 60px;
}

.site-footer {
  background-color: #333; /* Dark background for the footer */
  color: #fff; /* White text color */
  text-align: center; /* Center-aligns the text */
  font-size: 1.125em; /* Increased font size for footer text */
  display: flex;
  justify-content: space-between;
  align-items: center;
}

footer p {
  padding-left: 20px;
}

.footer-nav {
  display: flex;
  justify-content: center; /* Center items horizontally */
  align-items: center; /* Center items vertically */
  padding-right: 20px;
}

.footer-nav a {
  color: #fff; /* White text color for links */
  text-decoration: none; /* No underlines on links */
  margin: 0 10px; /* Spacing between links */
}

.footer-nav a:hover {
  text-decoration: underline; /* Underline on hover for better UX */
}

@media (max-width: 600px) {
  .site-footer {
    font-size: 0.6em; /* Increased font size for footer text */
  }

  .footer-nav a {
    margin: 0 5px; /* Spacing between links */
  }

  footer p {
    padding-left: 5px;
  }

  .footer-nav {
    display: flex;
    justify-content: center; /* Center items horizontally */
    align-items: center; /* Center items vertically */
    padding-right: 5px;
  }
}

.social-icons-container {
  display: flex;
  position: fixed;
  top: 30%;
  right: -50px; /* Hide the div initially */
  transform: translateY(-50%);
  transition: left 0.3s ease-in-out; /* Animation duration */
  animation: bounce 1s infinite;
  z-index: 501;
}

.social-icons-container:hover {
  right: 0; /* Slide the div into view */
  animation: none;
}

@media (max-width: 600px) {
  .social-icons-container {
    display: none;
  }
}

/* Define the keyframes for the bounce animation */
@keyframes bounce {
  0% {
  }

  20% {
    transform: translateX(-15px) translateY(-50%);
  }

  40% {
    transform: translateX(8px) translateY(-50%);
  }

  60% {
    transform: translateX(-3px) translateY(-50%);
  }

  90% {
    transform: translateX(0px) translateY(-50%);
  }

  100% {
    transform: translateX(0px) translateY(-50%);
  }
}

.vertical-text {
  writing-mode: vertical-rl; /* Text flows from top to bottom, right to left */
  text-orientation: upright; /* Keeps characters upright */
  position: absolute; /* Position the text absolutely within the container */
  left: 8px; /* Adjust the horizontal position as needed */
  transform: translateX(-50%); /* Center the text */
  top: 1px; /* Position the text at the top */
  padding: 5px;
  font-size: 0.8em; /* Increased font size for vertical text */
  font-weight: bold; /* Optional styling */
  color: #186249;
}

.social-icons {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-image: url("/assets/Pop\ Social\ right\ side\ background.png");
  background-size: cover;
  padding: 10px 10px 10px 20px;
}

.icon {
  margin-bottom: 10px;
  transition: transform 0.2s ease-in-out;
}

.icon:hover {
  transform: scale(1.1);
}

.icon img {
  width: 32px;
  height: 32px;
}

.footer-icon {
  transition: transform 0.2s ease-in-out;
}

.footer-icon:hover {
  transform: scale(1.1);
}

.footer-icon img {
  width: 32px;
  height: 32px;
}

@media (max-width: 600px) {
  .footer-icon img {
    width: 20px;
    height: 20px;
  }
}

/* Styles for the popup container */
.popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
  z-index: 1000; /* Ensure popup is on top of other content */
}

/* Styles for the popup content */
.popup-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  padding: 20px;
  text-align: center;
}

/* Styles for the play button */
#play-button {
  padding: 10px 20px;
  font-size: 1.25em;
  background-color: #186249; /* Blue color */
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#play-button:hover {
  background-color: #2cb386; /* Darker blue on hover */
}

/* Import Google font - Poppins */
/* @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap"); */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  display: flex;
  padding: 0 35px;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  background: #343f4f;
}
.wrapper {
  display: flex;
  max-width: 1190px;
  position: relative;
}
.wrapper i {
  top: 50%;
  height: 44px;
  width: 44px;
  color: #343f4f;
  cursor: pointer;
  font-size: 1.15rem;
  position: absolute;
  text-align: center;
  line-height: 44px;
  background: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: transform 0.1s linear;
}
.wrapper i:active {
  transform: translateY(-50%) scale(0.9);
}
.wrapper i:hover {
  background: #f2f2f2;
}
.wrapper i:first-child {
  left: -22px;
  display: none;
}
.wrapper i:last-child {
  right: -22px;
}
.wrapper .carousel {
  font-size: 0px;
  cursor: pointer;
  overflow: hidden;
  white-space: nowrap;
  scroll-behavior: smooth;
}
.carousel.dragging {
  cursor: grab;
  scroll-behavior: auto;
}
.carousel.dragging img {
  pointer-events: none;
}
.carousel img {
  height: 300px;
  object-fit: contain;
  user-select: none;
  margin-left: 0px;
  width: calc(100% / 4);
}
.carousel img:first-child {
  margin-left: 0px;
}

@media screen and (max-width: 900px) {
  .carousel img {
    width: calc(100% / 4);
  }
}

@media screen and (max-width: 550px) {
  .carousel img {
    width: calc(100% / 2);
  }
}

.roadmap {
  width: 100%;
}

.banner-gif {
  position: absolute;
  bottom: -8px;
  right: -50px;
}

.cat-gif {
  max-width: 300px; /* Set maximum width for the banner */
}

@media (max-width: 800px) {
  .cat-gif {
    max-width: 150px; /* Reduce size on smaller screens */
  }

  .banner-gif {
    right: -20px;
  }
}
