body {
  font-family: Arial, sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100vh;
  margin: 0;
  background-color: #f2f2f2;
  position: fixed;
  width: 100%;
}

.dropdown-container {
  /* Positioning, adjust as needed */
  top: 5vh;
  left: 5vw;
  z-index: 1000; /* Ensure it appears above other elements */
}

.hideDropdown {
  display: none; /* Hidden by default */
}

.showDropdown {
  display: block;
}

/* Optionally, adjust the dropdown inside the modal */
.modal-content .dropdown-container {
  text-align: center; /* Center the dropdown within the modal */
  margin-bottom: 1.25rem; /* Add space below the dropdown */
}

#puzzleDropdown {
  padding: 0.625rem; /* Converted from 10px */
  font-size: 1em;
  border-radius: 0.3125rem; /* Converted from 5px */
  border: 0.125rem solid #836c8b; /* Converted from 2px */
  background-color: #fff;
  color: #333;
}

#logo {
  display: none; /* Hidden by default, show when needed */
  position: fixed;
  top: 1vh; /* Adjust as needed */
  left: 25vw; /* Adjust as needed */
  margin: 0;
}

#website {
  display: none; /* Hidden by default, show when needed */
  position: fixed;
  top: 1vh; /* Adjust as needed */
  right: 25vw; /* Adjust as needed */
  margin: 0;
  color: #734e80;
  text-decoration: none; /* Remove underline from the link */
}

#contact {
  position: fixed;
  left: 50%; /* Position from the left edge of the viewport */
  transform: translateX(-50%); /* Shift left by 50% of its width to center it */
  font-size: 1em; /* Adjust font size as needed */
  font-weight: normal; /* Ensures text is not bold */
  text-align: center; /* Center text horizontally */
}

#date {
  position: fixed;
  top: 1vh; /* Distance from the top of the viewport */
  left: 50%; /* Position from the left edge of the viewport */
  transform: translateX(-50%); /* Shift left by 50% of its width to center it */
  font-size: 1em; /* Adjust font size as needed */
  font-weight: normal; /* Ensures text is not bold */
}

.popup {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  left: 0;
  top: 0;
  z-index: 1001;
  width: 100vw; /* Full width */
  height: 100vh; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0, 0, 0); /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}

.popup-content {
  background-color: #fefefe;
  padding: 1.25rem; /* Converted from 20px */
  padding-top: 1rem;
  padding-bottom: 1rem; /* Converted from 70px */
  border: 0.0625rem solid #888; /* Converted from 1px */
  width: 80%; /* Could be more or less, depending on screen size */
  max-width: 37.5rem; /* Converted from 600px */
  position: fixed; /* Stay in place */
  border-radius: 0.625rem; /* Converted from 10px */
  text-align: center; /* Center the text */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Center the modal */
  border-color: #cfa1c4;
  box-shadow: 0 0 0.3125rem #cfa1c4; /* Converted from 0 0 5px */
}

.popup-content-loading {
  background-color: #fefefe;
  padding: 1.25rem; /* Converted from 20px */
  padding-bottom: 1rem; /* Converted from 70px */
  border: 0.0625rem solid #888; /* Converted from 1px */
  width: 80%; /* Could be more or less, depending on screen size */
  max-width: 37.5rem; /* Converted from 600px */
  position: fixed; /* Stay in place */
  border-radius: 0.625rem; /* Converted from 10px */
  text-align: center; /* Center the text */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Center the modal */
  border-color: #cfa1c4;
  box-shadow: 0 0 0.3125rem #cfa1c4; /* Converted from 0 0 5px */
}

.popup-congrats {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  left: 0;
  top: 0;
  z-index: 1001;
  width: 100vw; /* Full width */
  height: 100vh; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0, 0, 0); /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}

.popup-content-congrats {
  background-color: #fefefe;
  padding: 1.25rem; /* Converted from 20px */
  padding-bottom: 1rem; /* Converted from 70px */
  border: 0.0625rem solid #888; /* Converted from 1px */
  width: 80%; /* Could be more or less, depending on screen size */
  max-width: 37.5rem; /* Converted from 600px */
  position: fixed; /* Stay in place */
  border-radius: 0.625rem; /* Converted from 10px */
  text-align: center; /* Center the text */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Center the modal */
  border-color: #cfa1c4;
  box-shadow: 0 0 0.3125rem #cfa1c4; /* Converted from 0 0 5px */
}

#congrats {
  font-size: 2em; /* Larger text */
  color: Black; /* A refreshing sea green */
  animation: pulse 1.5s infinite; /* Adds a bouncing animation */
  text-align: center;
  margin: 20px 0;
}

.large-font {
  font-size: 1.3em; /* Larger font size */
  color: #333; /* Darker gray for emphasis */
  margin: 15px 0; /* Space around the elements */
}

.select-mode {
  font-size: 1.5em; /* Larger font size */
}

.venntastic {
  font-size: 1.5em;
  font-weight: bold;
  color: #000;
  background: linear-gradient(90deg, #734e80, #ff929f, #734e80);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: pinkFlow 3s linear infinite;
}

@keyframes pinkFlow {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

#final-time {
  font-size: 2em; /* Larger text */
  color: #734e80;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

/* Start Button */
#startPC-button {
  position: fixed;
  bottom: 1.25rem; /* Converted from 20px */
  left: 35%;
  padding: 0.625rem 1.25rem; /* Converted from 10px 20px */
  background-color: #836c8b;
  color: white;
  border: none;
  border-radius: 0.3125rem; /* Converted from 5px */
  cursor: pointer;
}

#startPC-button:hover {
  background-color: #734e80;
}

/* Start Button */
#startMobile-button {
  position: fixed;
  bottom: 1.25rem; /* Converted from 20px */
  left: 50%;
  transform: translateX(-50%);
  padding: 0.625rem 1.25rem; /* Converted from 10px 20px */
  background-color: #836c8b;
  color: white;
  border: none;
  border-radius: 0.3125rem; /* Converted from 5px */
  cursor: pointer;
}

#startMobile-button:hover {
  background-color: #734e80;
}

.show-grid {
  display: grid;
}

#timer-container {
  position: fixed;
  text-align: center;
  display: flex;
  justify-content: center; /* Centers horizontally */
  margin-top: 2rem; /* Increased margin to push it down */
}

#timer {
  display: none;
  font-size: 1.5em;
  color: black;
  margin: 0; /* Remove the existing margin */
}

.grid-container {
  display: none;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.625rem; /* Converted from 10px */
  background-color: #d2cccc;
  border-radius: 0.625rem; /* Converted from 10px */
  position: relative;
  padding: 0.625rem; /* Converted from 10px */
  margin-top: 2.1875rem; /* Converted from 35px */
  width: 40%;
  position: fixed; /* Change to fixed to allow centering */
  top: 80%; /* Center vertically */
  left: 50%; /* Center horizontally */
  transform: translate(
    -50%,
    -50%
  ); /* Translate to center based on element's size */
}

#venn-container {
  display: none; /* Hidden by default */
  width: 50%; /* Default width for larger screens */
  height: 50%;
  position: fixed; /* Change to fixed to allow centering */
  top: 43%; /* 40*/
  left: 50%; /* Center horizontally */
  transform: translate(
    -50%,
    -50%
  ); /* Translate to center based on element's size */
  /*border: 2px solid red;  /* Red border around the entire container */
  max-height: 400px; /* Set a maximum height for the grid container */
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  .grid-container {
    width: 60%; /* same as before */
    margin-top: 1.5625rem; /* 25px converted */
  }

  #venn-container {
    width: 70%;
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  .grid-container {
    width: clamp(50%, 60%, 70%); /* min 50%, preferred 60%, max 70% */
    margin-top: clamp(1rem, 1.5vw, 2rem); /* responsive top margin */
  }

  #venn-container {
    width: clamp(60%, 70%, 80%); /* min 60%, preferred 70%, max 80% */
  }
}

/* Large screen adjustments */
@media (min-width: 1025px) {
  .grid-container {
    width: 45%; /* Slightly increase width on large screens */
    margin-top: 2.5rem; /* Slightly increase margin for more spacing */
  }
  #venn-container {
    width: 55%; /* Slightly increase Venn container width */
  }
}

/* Show the grid container when needed */
.grid-container.show-grid {
  display: grid;
}

/* Show the Venn container when needed */
#venn-container.show-venn {
  display: block;
}

.grid-item {
  text-align: center;
  line-height: 1.2;
  font-size: 0.6em;
  width: auto;
  height: auto;
  min-width: 1.75rem; /* Converted from 28px */
  min-height: 1.75rem; /* Converted from 28px */
  border: 0.125rem solid #836c8b; /* Converted from 2px */
  border-radius: 0.3125rem; /* Converted from 5px */
  cursor: pointer;
  background-color: #836c8b;
  color: white;
  transition: all 0.3s ease;
  white-space: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem; /* Converted from 4px */
  box-sizing: border-box;
}

.grid-item.clicked {
  background-color: white;
  border-color: #836c8b;
  color: #836c8b;
}

.grid-item.disabled {
  pointer-events: none;
}

.grid-item.winner-1 {
  background-color: #ffc6e1;
  border-color: #ffc6e1;
  color: black;
}

.grid-item.winner-2 {
  background-color: #cfa1c4;
  border-color: #cfa1c4;
  color: black;
}

.grid-item.winner-3 {
  background-color: #ff929f;
  border-color: #ff929f;
  color: black;
}

.grid-item.shake {
  animation: shake 0.5s;
}

@keyframes shake {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-0.625rem);
  } /* Converted from -10px */
  50% {
    transform: translateX(0.625rem);
  } /* Converted from 10px */
  75% {
    transform: translateX(-0.625rem);
  } /* Converted from -10px */
  100% {
    transform: translateX(0);
  }
}

.new-line {
  display: block;
}

.messages-container {
  text-align: center;
  margin-top: 1.25rem; /* Converted from 20px */
}

.hidden {
  display: none;
}

#verification-container {
  text-align: center; /* Center all inline and inline-block elements inside */
  margin-top: 1.25rem; /* Converted from 20px */
  height: 6.25rem; /* Converted from 100px */
  position: relative; /* Allow fixed positioning of children */
  top: 80%;
}

.hint-message {
  position: fixed; /* Allows precise positioning within the container */
  left: 55%;
  text-align: center; /* Center all inline and inline-block elements inside */
  transform: translateX(-50%);
  padding: 0.625rem 1.25rem; /* Converted from 10px 20px */
  font-size: 1.2em;
  border-radius: 0.3125rem; /* Converted from 5px */
  top: 89%;
  width: 12%;
  font-weight: bold;
  color: #5dade2;
  display: none; /* Hidden by default */
}

#hint-button {
  background-color: white; /* Button background color */
  cursor: pointer;
  position: fixed; /* Allows precise positioning within the container */
  right: 40%;
  padding: 0.625rem 1.25rem; /* Converted from 10px 20px */
  font-size: 1.2em;
  border: none;
  top: 92%;
  width: 8%;
  border: #5dade2; /* Remove default border */
  border-radius: 8px; /* Add rounded corners */
  border: 2px solid #5dade2; /* Original border color */
  color: #5dade2; /* Button text color */
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3); /* Add shadow effect */
  transition: all 0.3s ease; /* Smooth transition for hover effects */
}

#giveup-button {
  background-color: white;
  cursor: pointer;
  position: fixed; /* Allows precise positioning within the container */
  left: 40%;
  padding: 0.625rem 1.25rem; /* Converted from 10px 20px */
  font-size: 1.2em;
  border: none;
  top: 92%;
  width: 8%;
  border: #e2925d; /* Remove default border */
  border-radius: 8px; /* Add rounded corners */
  border: 2px solid #e2925d; /* Original border color */
  color: #e2925d; /* Button text color */
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3); /* Add shadow effect */
  transition: all 0.3s ease; /* Smooth transition for hover effects */
}

#verification-input {
  margin-right: 0.625rem; /* Converted from 10px */
  padding: 0.625rem; /* Converted from 10px */
  font-size: 1.2em;
  border: 0.125rem solid #836c8b; /* Converted from 2px */
  border-radius: 0.3125rem; /* Converted from 5px */
  outline: none;
  transition: border-color 0.3s ease;
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3); /* Add shadow effect */
  transition: all 0.3s ease; /* Smooth transition for hover effects */
}

#verification-input:focus {
  border-color: #cfa1c4; /* Change border color on focus */
}

#verify-button {
  padding: 0.625rem 1.25rem; /* Converted from 10px 20px */
  font-size: 1.2em;
  border-radius: 8px; /* Add rounded corners */
  background-color: #734e80; /* #836c8b; Button background color */
  color: white;
  border: none;
  cursor: pointer;
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3); /* Add shadow effect */
  transition: all 0.3s ease; /* Smooth transition for hover effects */
}

#verify-button:hover {
  background-color: #734e80; /* Slightly darker background on hover */
}

#verification-message {
  margin-top: 0.625rem; /* Converted from 10px */
  font-size: 1.2em;
}

#category1,
#category2,
#category3 {
  font-size: 1.5em; /* Converted from 24px */
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 50rem) {
  /* 50rem ≈ 800px */
  #verification-container {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  #verification-input,
  #verify-button {
    width: 100%;
    margin: 0.3125rem 0; /* 5px converted */
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  #verification-container {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  #verification-input,
  #verify-button {
    width: clamp(
      200px,
      25%,
      300px
    ); /* min 200px, preferred 25% of container, max 300px */
    margin: clamp(0.2rem, 0.5vw, 0.5rem) 0; /* responsive vertical margin */
  }
}

.category-message {
  margin: 0.625rem 0; /* Converted from 10px 0 */
  font-size: 1.5em; /* Converted from 24px */
  color: black;
}

#no-hint {
  display: none;
  font-size: 1.3em;
}

/* Default Circle Styles */
.circle {
  position: fixed;
  width: 25vw; /* 25% of the viewport width */
  height: 25vw; /* Maintain a square aspect ratio */
  max-width: 250px; /* Ensure it does not exceed 250px */
  max-height: 250px; /* Ensure it does not exceed 250px */
  border-radius: 50%;
  opacity: 0.5;
  box-shadow: 0 0.5vw 1vw rgba(0, 0, 0, 0.1); /* Drop shadow adjusted with viewport units */
}

/* Circle1 Styles (Top Center) */
.circle1 {
  border: 5px solid #ffc6e1;
  background-color: transparent; /* Adjust color as needed */
  position: fixed; /* Allows precise positioning within the container */
  width: 25vw; /* Relative width, adjust as needed */
  height: 25vw; /* Relative height, adjust as needed */
  max-width: 250px; /* Ensure it does not exceed 250px */
  max-height: 250px; /* Ensure it does not exceed 250px */
  border-radius: 50%; /* Make it a circle */
  top: 0; /* Align the top edge of the circle to the top edge of the container */
  left: 50%; /* Center horizontally within the container */
  transform: translateX(
    -50%
  ); /* Offset by half of the circle's width to center it */
  opacity: 0.5;
  box-shadow: 0 0.5vw 1vw rgba(0, 0, 0, 0.1); /* Drop shadow adjusted with viewport units */
}

/* Circle2 Styles (Bottom Left) */
.circle2 {
  border: 5px solid #ff929f;
  position: fixed; /* Allows precise positioning within the container */
  width: 25vw; /* Relative width, adjust as needed */
  height: 25vw; /* Relative height, adjust as needed */
  max-width: 250px; /* Ensure it does not exceed 250px */
  max-height: 250px; /* Ensure it does not exceed 250px */
  border-radius: 50%; /* Make it a circle */
  top: 50%; /* 52 Align the top edge of the circle to the top edge of the container */
  left: 43%; /*43 Position to the left within the container */
  transform: translate(
    -50%,
    -25%
  ); /* Center horizontally and adjust vertically */
  opacity: 0.5;
  box-shadow: 0 0.5vw 1vw rgba(0, 0, 0, 0.1); /* Drop shadow adjusted with viewport units */
}

/* Circle3 Styles (Bottom Right) */
.circle3 {
  border: 5px solid #cfa1c4;
  background-color: transparent; /* Adjust color as needed */
  position: fixed; /* Allows precise positioning within the container */
  width: 25vw; /* Relative width, adjust as needed */
  height: 25vw; /* Relative height, adjust as needed */
  max-width: 250px; /* Ensure it does not exceed 250px */
  max-height: 250px; /* Ensure it does not exceed 250px */
  border-radius: 50%; /* Make it a circle */
  top: 50%; /* 52 Align the top edge of the circle to the top edge of the container */
  left: 57%; /*57 Position to the right within the container */
  transform: translate(
    -50%,
    -25%
  ); /* Center horizontally and adjust vertically */
  opacity: 0.5;
  box-shadow: 0 0.5vw 1vw rgba(0, 0, 0, 0.1); /* Drop shadow adjusted with viewport units */
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  .circle {
    width: 40vw; /* Keep your original sizing */
    height: 40vw;
  }

  .circle1 {
    top: 38%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .circle2 {
    top: 58%;
    left: 35%;
    transform: translate(-50%, -50%);
  }

  .circle3 {
    top: 58%;
    left: 65%;
    transform: translate(-50%, -50%);
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  .circle {
    width: clamp(50px, 12vw, 350px); /* min 200px, preferred 35vw, max 350px */
    height: clamp(50px, 12vw, 350px);
  }

  .circle1 {
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .circle2 {
    top: 58%;
    left: 42%;
    transform: translate(-50%, -50%);
  }

  .circle3 {
    top: 58%;
    left: 57%;
    transform: translate(-50%, -50%);
  }
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  .grid-container {
    width: 90%; /* Keep your original sizing */
    margin-top: 1.5625rem; /* 25px converted */
  }

  #venn-container {
    width: 90%;
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  .grid-container {
    width: clamp(600px, 60%, 800px); /* min 600px, preferred 60%, max 800px */
    margin-top: 1.5625rem;
  }

  #venn-container {
    width: clamp(600px, 70%, 800px); /* min 600px, preferred 70%, max 800px */
  }
}

/* Large screen adjustments */
@media (min-width: 1025px) {
  .grid-container {
    width: 45%; /* Slightly increase width on large screens */
    margin-top: 2.5rem; /* Slightly increase margin for more spacing */
  }
  #venn-container {
    width: 55%; /* Slightly increase Venn container width */
  }
}

/* Style for the clone after it reaches the target */
.clone-reached-circle1 {
  background-color: #f4aecf !important;
  color: white !important;
  transition: all 0.5s ease;
  pointer-events: none; /* Prevents any interaction */
  user-select: none; /* Prevents text selection */
  cursor: default; /* Ensures the cursor does not change */
  z-index: 1000; /* Ensure this is higher than the clone buttons */
}

.clone-reached-circle2 {
  background-color: #ff929f !important;
  color: white !important;
  transition: all 0.5s ease;
  pointer-events: none; /* Prevents any interaction */
  user-select: none; /* Prevents text selection */
  cursor: default; /* Ensures the cursor does not change */
  z-index: 1000; /* Ensure this is higher than the clone buttons */
}

.clone-reached-circle3 {
  background-color: #cfa1c4 !important;
  color: white !important;
  transition: all 0.5s ease;
  pointer-events: none; /* Prevents any interaction */
  user-select: none; /* Prevents text selection */
  cursor: default; /* Ensures the cursor does not change */
  z-index: 1000; /* Ensure this is higher than the clone buttons */
}

.circle-text1,
.circle-text2,
.circle-text3 {
  position: fixed;
  z-index: 9999;
  transform: translateZ(0);
  will-change: transform;
  display: none; /* Hidden initially */
  font-size: 1.6em; /* Adjust font size */
  color: Black;
  font-weight: bold;
  border: 2px solid #836c8b; /* Darker border for contrast */
  background-color: rgba(
    255,
    255,
    255,
    0.8
  ); /* Slightly transparent white background for readability */
  padding: 8px; /* Adjust padding */
  border-radius: 10px; /* Rounded corners for a softer look */
  text-align: center; /* Center the text within the box */
  pointer-events: none; /* Ensure it's not interactable */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Subtle shadow for a raised effect */
  /* transition: all 1s ease; */
  z-index: 9999; /* Ensure text is above circles */
  white-space: nowrap;
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  .circle-text1,
  .circle-text2,
  .circle-text3 {
    font-size: 1em; /* Keep your smaller font size for phones */
    padding: 6px;
    border-radius: 8px;
    white-space: normal;
    width: 35%; /* circle-text1 slightly wider handled separately below */
    left: 10%;
    top: 5%;
  }

  .circle-text1 {
    width: 40%; /* Slightly wider for text1 */
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  .circle-text1,
  .circle-text2,
  .circle-text3 {
    font-size: clamp(
      0.9em,
      2vw,
      1.2em
    ); /* Scale with screen width, limits set */
    padding: 6px;
    border-radius: 8px;
    white-space: normal;
    width: clamp(120px, 35%, 200px); /* Scale width but within min/max */
    left: 10%;
    top: 5%;
  }

  .circle-text1 {
    width: clamp(140px, 40%, 220px); /* Slightly wider for text1 */
  }
}

.venn-word {
  position: fixed;
  display: none; /* Hidden initially */
  font-size: 2.4em; /* Adjust font size */
  color: #836c8b;
  font-weight: bold;
  border: 2px solid #836c8b; /* Darker border for contrast */
  background-color: rgba(
    255,
    255,
    255,
    0.8
  ); /* Slightly transparent white background for readability */
  padding: 8px; /* Adjust padding */
  border-radius: 10px; /* Rounded corners for a softer look */
  text-align: center; /* Center the text within the box */
  pointer-events: none; /* Ensure it's not interactable */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Subtle shadow for a raised effect */
  transition: all 1s ease;
  z-index: 9999; /* Ensure venn-word is above circle-text */
  animation: fadeInScale 0.5s ease-out;
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  .venn-word {
    font-size: 1.8em; /* Keep your smaller font size for phones */
    padding: 6px;
    border-radius: 8px;
    animation: fadeInScale 0.5s ease-out;
    position: fixed;
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  .venn-word {
    font-size: clamp(
      1.5em,
      2vw,
      2em
    ); /* Scale with screen width but within min/max */
    padding: 6px;
    border-radius: 8px;
    animation: fadeInScale 0.5s ease-out;
    position: fixed;
  }
}

@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* CSS for responsive image */
#logo {
  text-align: center; /* Center the logo horizontally */
  margin: 0 auto; /* Center the logo block */
}

#logo-image,
#logo-image2,
#logo-image3 {
  max-width: 100%; /* Ensure the image scales down but does not exceed container width */
  height: auto; /* Maintain aspect ratio */
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  #logo {
    top: 0%;
    left: 0%;
    width: 25%;
  }
  #logo-image,
  #logo-image3 {
    top: 0%;
    left: 0%;
    width: 25%;
  }

  #logo-image2 {
    top: 0%;
    left: 0%;
    width: 45% !important;
  }

  #website {
    top: 0%;
    right: 0%;
    width: 25%;
    font-size: 0.55em;
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  #logo {
    top: 0%;
    left: 20%;
    width: clamp(1%, 10vw, 10%); /* Scale logo width but within limits */
  }
  #logo-image,
  #logo-image3 {
    top: 0%;
    left: 0%;
    width: clamp(20%, 25vw, 30%);
  }

  #logo-image2 {
    top: 0%;
    left: 0%;
    width: 30% !important;
  }

  #website {
    top: 0%;
    right: 5%;
    width: clamp(20%, 25vw, 30%);
    font-size: clamp(0.5em, 1vw, 0.6em); /* Scale font but stay readable */
  }
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 48rem) {
  #verification-container {
    top: 60%;
    flex-direction: column;
    align-items: center;
  }

  #verification-input {
    width: 75%;
    max-width: none;
    margin-bottom: 0.625rem;
    font-size: 1rem;
    padding: 0.5rem;
  }

  #verify-button {
    width: 40%;
    max-width: none;
    font-size: 1.2rem;
    padding: 0.625rem 1rem;
    margin-bottom: 0.625rem;
  }

  #hint-button {
    width: 30%;
    max-width: none;
    font-size: 1rem;
    padding: 0.5rem 1rem;
    white-space: nowrap;
    margin-bottom: 0.625rem;
    text-align: center;
    top: 90%;
    right: 10%;
  }

  #giveup-button {
    width: 30%;
    max-width: none;
    font-size: 1rem;
    padding: 0.5rem 1rem;
    white-space: nowrap;
    margin-bottom: 0.625rem;
    text-align: center;
    top: 90%;
    left: 10%;
  }

  .hint-message {
    font-size: 1em;
    width: 42%;
    padding: 0.5rem 1rem;
    top: 88%;
    right: 0%;
    transform: translateX(-25%);
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  #verification-container {
    top: clamp(50%, 70vh, 90%); /*could use 75 if still not working*/
    flex-direction: column;
    align-items: center;
  }

  #verification-input {
    width: clamp(60%, 30vw, 75%);
    margin-bottom: 0.625rem;
    font-size: clamp(0.9rem, 1vw, 1rem);
    padding: clamp(0.4rem, 0.8vw, 0.5rem);
  }

  #verify-button {
    width: clamp(30%, 12vw, 40%);
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    padding: clamp(0.5rem, 1vw, 0.625rem) clamp(1rem, 2vw, 1rem);
    margin-bottom: 0.625rem;
  }

  #hint-button {
    width: clamp(10%, 5vw, 20%);
    font-size: clamp(0.9rem, 1vw, 1rem);
    padding: clamp(0.4rem, 0.8vw, 0.5rem) clamp(1rem, 2vw, 1rem);
    top: clamp(85%, 90vh, 95%);
    right: 30%;
  }

  #giveup-button {
    width: clamp(10%, 5vw, 20%);
    font-size: clamp(0.9rem, 1vw, 1rem);
    padding: clamp(0.4rem, 0.8vw, 0.5rem) clamp(1rem, 2vw, 1rem);
    top: clamp(85%, 90vh, 95%);
    left: 30%;
  }

  .hint-message {
    font-size: clamp(0.9em, 1vw, 1em);
    width: clamp(35%, 15vw, 42%);
    padding: clamp(0.4rem, 0.8vw, 0.5rem) clamp(1rem, 2vw, 1rem);
    top: clamp(85%, 88vh, 92%);
    right: 0%;
    transform: translateX(-25%);
  }
}

#footer {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(
    100% - 20px
  ); /* Adjust if needed to ensure padding doesn’t affect centering */
  padding: 10px;
  text-align: center;
  z-index: 1000;
  box-sizing: border-box;
}

/* Add your custom styles for ShareThis buttons if needed */
.sharethis-inline-share-buttons .st-btn {
  display: inline-block !important;
  margin: 0 5px;
  opacity: 1 !important;
}

.close-btn {
  position: fixed; /* fixed positioning relative to the popup */
  top: 1rem; /* Distance from the top */
  right: 1rem; /* Distance from the right */
  font-size: 1.5rem; /* Size of the 'X' */
  cursor: pointer; /* Pointer cursor on hover */
  color: #fff; /* Text color */
  background: #836c8b; /* Background color */
  border: none; /* Remove default border */
  border-radius: 0.3125rem;
  width: 1.5rem; /* Fixed width */
  height: 1.5rem; /* Fixed height */
  display: flex; /* Center content horizontally and vertically */
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Subtle shadow */
  transition: background-color 0.3s, transform 0.3s; /* Smooth transitions for background color and transform */
  padding: 0; /* Remove default padding */
  text-align: center;
  font-family: sans-serif; /* Consistent font */
}

.close-btn:hover {
  background-color: #734e80;
}

#version {
  position: fixed;
  left: 50%; /* Position from the left edge of the viewport */
  transform: translateX(-50%); /* Shift left by 50% of its width to center it */
  font-size: 1em; /* Adjust font size as needed */
  font-weight: normal; /* Ensures text is not bold */
  width: 50%;
  text-align: center; /* Center text horizontally */
}

#share-button,
#facebook-button {
  display: inline-block; /* Make it behave like an inline element */
  height: 2.8125rem; /* This matches the approximate height of the #share-button */
  width: auto; /* Maintain aspect ratio */
  background-color: #836c8b; /* Same background color as the share button */
  color: white;
  border: none;
  border-radius: 0.3125rem; /* Match the border-radius */
  cursor: pointer;
  padding: 0.625rem; /* Adjust padding to align with the height */
}

#share-button img,
#facebook-button img {
  height: 100%; /* Make the image fill the height of the button */
  width: auto; /* Maintain aspect ratio */
  vertical-align: middle; /* Align image vertically in the button */
}

#share-button:hover,
#facebook-button:hover {
  background-color: #734e80; /* Match hover effect */
}

#flaticon {
  display: none;
  position: fixed;
  bottom: 1vh; /* Distance from the top of the viewport */
  left: 50%; /* Position from the left edge of the viewport */
  transform: translateX(-50%); /* Shift left by 50% of its width to center it */
  font-size: 1em; /* Adjust font size as needed */
  font-weight: normal; /* Ensures text is not bold */
  width: 50%;
  text-align: center; /* Center text horizontally */
}

#copy-button {
  margin: 1rem;
  font-size: 1em;
  padding: 0.625rem 1.25rem;
  border: 2px solid #836c8b; /* Original border color */
  background-color: #836c8b;
  color: white;
  border-radius: 0.3125rem;
  cursor: pointer;
}

#copy-button:hover {
  background-color: #734e80;
}

.directions-text {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, opacity 0.5s ease;
}

/* Visible state */
.directions-text.show {
  max-height: 500px; /* Adjust based on content size */
  opacity: 1;
}

/* Basic styling for the modal and Flatpickr input */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 0.625rem; /* Converted from 10px */
}

.modal-content {
  background-color: #fefefe;
  margin: 15% auto;
  padding: 15px;
  border: 1px solid #888;
  width: 45%;
  text-align: center;
  border-radius: 0.625rem; /* Converted from 10px */
}
/*
/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  .modal-content {
    width: 65%; /* Keep your phone width exactly as-is */
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  .modal-content {
    width: clamp(50%, 65%, 80%); /* Scales nicely within min/max limits */
  }
}

.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

#flatpickr {
  display: none;
  font-size: 1.5em;
  padding: 10px;
  width: 80%;
  border-radius: 5px;
  border: 1px solid #ccc;
  text-align: center;
}

#start-game-btn {
  margin-top: 20px;
  padding: 10px;
  font-size: 16px;
  cursor: pointer;
}

/* Start Button */
#contact-popup-button,
#open-calendar-btn,
#toggle-directions,
#start-game-btn,
#classic-button,
#hard-button,
#classic-button2,
#hard-button2,
#exit-terms,
#close-kickstart,
#today-button {
  font-size: 1.2em; /* Increase font size */
  padding: 12px 24px; /* Increase button size */
  margin: 15px; /* Increase margin to add space between buttons */
  border: none; /* Remove default border */
  border-radius: 8px; /* Add rounded corners */
  background-color: #734e80; /* #836c8b; Button background color */
  color: white; /* Button text color */
  cursor: pointer; /* Change cursor to pointer */
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3); /* Add shadow effect */
  transition: all 0.3s ease; /* Smooth transition for hover effects */
}

#contact-popup-button,
#open-calendar-btn:hover,
#toggle-directions:hover,
#start-game-btn:hover,
#classic-button,
#hard-button,
#classic-button2,
#hard-button2,
#exit-terms,
#close-kickstart,
#today-button {
  background-color: #734e80; /* Darker background on hover */
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.4); /* Increase shadow on hover */
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  #contact-popup-button,
  #open-calendar-btn,
  #toggle-directions,
  #start-game-btn,
  #classic-button,
  #hard-button,
  #classic-button2,
  #hard-button2,
  #exit-terms,
  #close-kickstart,
  #today-button {
    font-size: 1em; /* Keep your phone size as-is */
    padding: 10px 20px; /* Keep your phone padding */
    margin: 10px; /* Keep your phone margin */
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  #contact-popup-button,
  #open-calendar-btn,
  #toggle-directions,
  #start-game-btn,
  #classic-button,
  #hard-button,
  #classic-button2,
  #hard-button2,
  #exit-terms,
  #close-kickstart,
  #today-button {
    font-size: clamp(0.9em, 1em, 1.2em); /* Scale between min/max */
    padding: clamp(8px, 10px, 16px) clamp(16px, 20px, 32px);
    margin: clamp(8px, 10px, 16px);
  }
}

#contact-popup-button,
#terms-popup-button {
  font-size: 1.2em; /* Increase font size */
  padding: 12px 24px; /* Increase button size */
  margin: 10px; /* Increase margin to add space between buttons */
  border: #836c8b; /* Remove default border */
  border-radius: 8px; /* Add rounded corners */
  border: 2px solid #836c8b; /* Original border color */
  background-color: white; /* Button background color */
  color: #836c8b; /* Button text color */
  cursor: pointer; /* Change cursor to pointer */
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3); /* Add shadow effect */
  transition: all 0.3s ease; /* Smooth transition for hover effects */
}

#contact-popup-button,
#terms-popup-button {
  background-color: white; /* Darker background on hover */
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.4); /* Increase shadow on hover */
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  #contact-popup-button,
  #terms-popup-button {
    font-size: 1em; /* Keep your phone size as-is */
    padding: 10px 20px; /* Keep your phone padding */
    margin: 5px; /* Keep your phone margin */
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  #contact-popup-button,
  #terms-popup-button {
    font-size: clamp(0.9em, 1em, 1.2em); /* Flexible font scaling */
    padding: clamp(8px, 10px, 16px) clamp(16px, 20px, 32px); /* Scaled padding */
    margin: clamp(4px, 5px, 10px); /* Scaled margin */
  }
}

#copy-button,
#refresh {
  margin: 0.5rem;
  font-size: 1em;
  padding: 0.625rem 1.25rem;
  border: 2px solid #836c8b; /* Original border color */
  background-color: #836c8b;
  color: white;
  border-radius: 0.3125rem;
  cursor: pointer;
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3); /* Add shadow effect */
}

#copy-button:hover,
#refresh:hover {
  background-color: #734e80;
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3); /* Add shadow effect */
}

#fanCredit {
  display: none;
}

#date,
#logo,
#website {
  position: fixed;
}

#logo-image4 {
  display: none;
}

/* Start Button */
#old-today-button {
  font-size: 1.2em; /* Increase font size */
  padding: 12px 24px; /* Increase button size */
  margin: 15px; /* Increase margin to add space between buttons */
  border: none; /* Remove default border */
  border-radius: 8px; /* Add rounded corners */
  background-color: #836c8b; /* Button background color */
  color: white; /* Button text color */
  cursor: pointer; /* Change cursor to pointer */
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3); /* Add shadow effect */
  transition: all 0.3s ease; /* Smooth transition for hover effects */
  animation: pulseAndColor 2s infinite 0.5s; /* shorthand with delay */
  animation-play-state: paused; /* initially paused */
}

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  #exit-contact {
    font-size: 1em; /* Keep your phone size as-is */
    padding: 10px 20px; /* Keep your phone padding */
    margin: 10px; /* Keep your phone margin */
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  #exit-contact {
    font-size: clamp(0.9em, 1em, 1.2em); /* Flexible font scaling */
    padding: clamp(8px, 10px, 16px) clamp(16px, 20px, 32px); /* Scaled padding */
    margin: clamp(5px, 10px, 15px); /* Scaled margin */
  }
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-20px);
  }
  60% {
    transform: translateY(-10px);
  }
}

@keyframes pulseAndColor {
  0% {
    transform: scale(1);
    background-color: #836c8b; /* Starting color */
  }
  50% {
    transform: scale(1.1);
    background-color: #ff929f; /* Midpoint color*/
  }
  100% {
    transform: scale(1);
    background-color: #836c8b; /* Return to starting color */
  }
}

/*'#FFC6E1', '#FF929F', '#CFA1C4',*/

/* =========================
   PHONES (small widths)
   ========================= */
@media (max-width: 600px) {
  #today-button {
    font-size: 1em; /* Keep your phone size as-is */
    padding: 10px 20px; /* Keep your phone padding */
    margin: 5px; /* Keep your phone margin */
  }
}

/* =========================
   CHROMEBOOKS (wide but short)
   ========================= */
@media (min-width: 769px) and (max-height: 650px) {
  #today-button {
    font-size: clamp(0.9em, 1em, 1.2em); /* Flexible font scaling */
    padding: clamp(8px, 10px, 16px) clamp(16px, 20px, 32px); /* Scaled padding */
    margin: clamp(3px, 5px, 10px); /* Scaled margin */
  }
}
