/* Base Styles */
* {
  box-sizing: border-box; /* Prevent padding and border from increasing element's size */
}
/* Base Styles */
body {
  background: url("images/background.png") no-repeat center center fixed;
  background-size: cover;
  color: #000000;
  font-family: "Arial", sans-serif;
  margin: 0;
  padding: 0;
  overflow-x: hidden; /* Prevent horizontal scroll */
}

/* Prevent vertical scroll only on desktop */
@media (min-width: 768px) {
  body {
    overflow-y: hidden; /* Prevent vertical scroll on desktop */
  }
}

/* Allow vertical scrolling on mobile */
@media (max-width: 768px) {
  body {
    overflow-y: auto; /* Allow vertical scrolling on mobile */
  }
}

.container-fluid {
  padding: 0;
}
.main-section {
  min-height: auto; /* Changed from 100vh to remove extra space */
  height: auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 0.5rem;
}
.content-wrapper {
  width: 100%;
  max-width: 1400px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem; /* Reduced from 1rem */
  padding-top: 0.5rem; /* Added small top padding */
} /* Header Section */
.header-section {
  display: flex;
  flex-direction: column; /* Stack the button container above */
  text-align: center;
  margin-bottom: 0.5rem; /* Reduced from 1rem */
}
.logo-image {
  width: 320px;
  height: auto;
  margin-bottom: 2rem; /* Increased from 0.75rem */
}
h1 {
  font-size: 2.5rem;
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  margin-bottom: 1rem;
  color: #ffffff;
}
.lead {
  font-size: 1.5rem;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  margin-bottom: 1rem;
  color: #ffffff;
}
.reward-amount-text {
  color: #eb2027;
  font-weight: 700;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  font-size: 110%;
} /* Interactive Container */
.interactive-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0; /* Removed gap completely */
} /* Button Container */
.button-container {
  margin-bottom: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
} /* Action Button */
.action-button {
  background: linear-gradient(90deg, #ffd700 0%, #ffb300 100%);
  color: #fff;
  border: none;
  padding: 20px 40px;
  border-radius: 50px;
  font-weight: bold;
  font-size: 1.5rem;
  cursor: pointer;
  transition: all 0.3s ease;
  text-shadow:
    0 2px 8px rgba(0, 0, 0, 0.4),
    0 1px 0 #fff2b2;
  box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
  animation: buttonAttention 2s infinite;
  width: auto;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}

#activateButton2 {
  display: none;
}

.action-button:hover {
  transform: scale(1.1);
  box-shadow:
    0 8px 25px #fffbe6,
    0 0 30px #ffd700;
  background: linear-gradient(90deg, #ffe066 0%, #ffb300 100%);
}
.action-button:active {
  background: #e6be00;
  color: #222;
  transform: scale(0.95);
  box-shadow: 0 2px 10px rgba(0, 114, 255, 0.4);
}
.action-button::before {
  /* content: "👇"; */
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.5rem;
  animation: bounce 1s infinite;
}
.claim-button {
  background: #5bb450; /* Using the same green color as reward amount */
  color: #ffffff;
  border: none;
  padding: 15px 40px;
  border-radius: 25px;
  font-size: 1.2rem;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  margin-top: 1.5rem;
  animation: nudgeButton 2s infinite;
}
.claim-button:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
  background: linear-gradient(90deg, #ffe066 0%, #ffb300 100%);
}
.claim-button:active {
  transform: scale(0.95);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
@keyframes nudgeButton {
  0%,
  100% {
    transform: translateX(0);
  }
  5%,
  15% {
    transform: translateX(-5px);
  }
  10%,
  20% {
    transform: translateX(5px);
  }
  25% {
    transform: translateX(0);
  }
} /* Circle Container */
.circle-container {
  width: min(200vh, 200vw);
  height: min(200vh, 200vw);
  max-width: 750px;
  max-height: 750px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 0rem; /* Increased negative margin to pull circle up more */
}

.circle-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  animation: slowRotate 20s linear infinite;
}
@media (max-width: 768px) {
  .circle-image {
    width: 92%;
  }
}

.circle-pointer {
  position: absolute;
  top: -2%;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: auto;
  z-index: 20;
  animation: pointerPulse 1.5s ease-in-out infinite; /* Added animation */
  transform-origin: bottom; /* Make it pulse from the bottom point */
} /* General styles for the pointer */
.circle-pointer {
  position: absolute;
  top: -2%; /* Default position */
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: auto;
  z-index: 20;
  animation: pointerPulse 1.5s ease-in-out infinite;
  transform-origin: bottom; /* Make it pulse from the bottom point */
} /* Mobile-specific adjustments */
@media (max-width: 768px) {
  .circle-pointer {
    top: 0%; /* Move the pointer to the top */
    width: 70px; /* Adjust pointer size to 80% of the original (optional) */
  }
} /* Modal Styles */
.modal-content {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 20px;
  padding: 2rem;
  text-align: center;
  color: #333;
} /* Confetti Canvas Styles */
canvas#confetti-canvas {
  position: fixed !important;
  z-index: 10000 !important; /* Higher than modal and backdrop */
  pointer-events: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
} /* Ensure modal is below confetti */
.modal {
  z-index: 1050;
}
.modal-backdrop {
  z-index: 1040;
}
.modal-logo {
  width: 200px;
  margin-bottom: 1rem;
}
.congratulations {
  color: #333;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}
.reward-box {
  background: #000000;
  padding: 2rem;
  border-radius: 15px;
  color: white;
  box-shadow: 0 4px 20px rgba(0, 114, 255, 0.2);
}
.reward-amount {
  font-size: 3.5rem;
  font-weight: bold;
  margin: 1rem 0;
  color: #eb2027;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
.reward-text {
  font-size: 1.2rem;
  margin: 0.5rem 0;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}
.modal-content {
  position: relative;
  overflow: hidden; /* Add this to contain confetti */
}
.confetti-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.modal-body {
  position: relative;
  z-index: 2;
}
.confetti {
  position: absolute;
  top: -10px;
  will-change: transform;
  opacity: 0; /* Start invisible */
}
@keyframes confettiFall {
  0% {
    top: -10px;
    transform: rotate(0deg);
    opacity: 1;
  }
  100% {
    top: 100%;
    transform: rotate(360deg);
    opacity: 0;
  }
}
@keyframes confettiSway {
  0% {
    margin-left: -15px;
  }
  50% {
    margin-left: 15px;
  }
  100% {
    margin-left: -15px;
  }
}
.confetti.animate {
  animation:
    confettiFall var(--fall-duration, 1.5s) linear forwards,
    confettiSway var(--sway-duration, 0.5s) ease-in-out infinite;
  animation-delay: var(--fall-delay, 0s);
} /* Animations */
@keyframes slowRotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes buttonAttention {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes bounce {
  0%,
  100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(-5px);
  }
}
@keyframes pointerPulse {
  0% {
    transform: translateX(-50%) scale(1);
  }
  50% {
    transform: translateX(-50%) scale(1.2); /* Enlarge by 20% */
  }
  100% {
    transform: translateX(-50%) scale(1);
  }
} /* Social Footer */
.social-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 1rem;
  margin: 1rem 0;
}
.social-footer {
  display: inline-flex;
}
.social-icon {
  width: 50px;
  height: 50px;
}
.social-link {
  transition: transform 0.3s ease;
}
.social-link:hover {
  transform: scale(1.1);
}
.contact {
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  margin-top: 0;
  padding: 0;
}
.contact a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s ease;
  margin: 0;
  padding: 0;
}
.contact a:hover {
  color: #007bff;
} /* Features Container */
.feature-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 1.5rem;
  padding: 1rem;
  max-width: 300px;
}
.feature-item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  /* background: rgba(255, 255, 255, 0.6); */
  background: white;
  padding: 1rem;
  border-radius: 10px;
  transition: transform 0.3s ease;
  flex: 1;
  min-width: 450px;
  max-width: 450px;
  height: 100px;
}

@media (max-width: 768px) {
  .feature-item {
    min-width: 350px; /* Increase width on mobile */
    max-width: 350px; /* Ensure it doesn't exceed the new width */
  }
}
.feature-icon {
  font-size: 2rem;
  min-width: 40px;
  text-align: center;
}
.feature-text {
  color: black;
  flex: 1;
  min-width: 0;
}
.feature-text h3 {
  margin: 0;
  font-size: 1.1rem;
  color: #eb2027;
  font-weight: bold;
}
.feature-text p {
  margin: 0.25rem 0 0 0;
  font-size: 0.9rem;
  opacity: 0.9;
  text-shadow:
    0 2px 8px rgba(0, 0, 0, 0.45),
    0 1px 0 rgba(255, 242, 178, 0.55);
} /* Responsive Design - Desktop Screen */
@media (min-width: 1255px) {
  .logo-image {
    width: 480px;
    margin-bottom: 1rem;
  }
  h1 {
    font-size: 2rem;
    margin-bottom: 0.75rem;
  }
  .lead {
    font-size: 1.2rem;
    margin-bottom: 0.75rem;
  }
  .interactive-container {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2rem;
  }
  .feature-container {
    order: 2;
    padding-left: 2rem;
  }
  .circle-container {
    order: 1;
    width: min(440vh, 440vw);
    height: min(440vh, 440vw);
    max-width: 720px;
    max-height: 720px;
    margin-top: 0rem;
  }
  .circle-pointer {
    width: 50px;
    animation: pointerPulseMobile 1.5s ease-in-out infinite;
  }
  .button-container {
    width: 100%;
    max-width: 300px;
  }
  .action-button {
    padding: 15px 70px;
    font-size: 1.7rem;
  }
  .header-section {
    margin-bottom: 0.5rem;
  }
  .claim-button {
    padding: 12px 50px;
    font-size: 1.3rem;
    margin-top: 1rem;
  }
  .reward-amount {
    font-size: 2.8rem;
  }
  .reward-text {
    font-size: 1.1rem;
  }
  #activateButton2 {
    display: none;
  }
}

/* Responsive Design - Tablet Screen */
@media (max-width: 1255px) {
  .feature-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1rem;
  }
  #activateButton {
    display: none;
  } /* Responsive Design - Mobile */
  @media (max-width: 800px) {
    .feature-container {
      display: flex;
      flex-direction: column;
    }
    #activateButton2 {
      margin-top: 0;
      margin-bottom: 2rem;
    }
    .container-fluid {
      padding: 0;
      overflow-x: hidden;
    }
    .main-section {
      padding: 0.25rem;
    }
    .content-wrapper {
      padding: 0.25rem;
    }
    .logo-image {
      width: 90vw;
      max-width: 320px;
    }
    .circle-container {
      width: 300vw;
      height: 300vw;
      max-width: 400px;
      max-height: 400px;
    }
    .circle-pointer {
      width: 30px;
    }
    h1 {
      font-size: 1.5rem;
    }
    .lead {
      font-size: 1rem;
    }
  }
}
.wheel-text {
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    "Open Sans",
    "Helvetica Neue",
    sans-serif;
  color: #7f1e1f;
  font-size: 120px;
  text-shadow: -1px 5px #cda469;
  animation: blinkText 1.5s infinite;
}
@media (max-width: 768px) {
  .wheel-text {
    font-size: 44px;
    margin-top: 10px;
    text-shadow: -0.5px 3px #cda469;
  }
}

@keyframes blinkText {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

@media (max-width: 768px) {
  .main-section {
    display: flex;
    flex-direction: column; /* Stack header-section above feature-container */
  }
  .header-section {
    order: -1; /* Move the header-section above the feature-container */
  }
  .feature-container {
    order: 1; /* Keep the feature-container below the header-section */
  }
}

/* Base Styles for the feature-container */
.feature-container {
  display: flex;
  flex-direction: column; /* Stack feature items vertically */
  align-items: center; /* Center the feature items horizontally */
  justify-content: center; /* Center the feature items vertically */
  gap: 1.5rem;
  padding: 1rem;
  max-width: 300px; /* Adjust the max-width if needed */
  margin: 0 auto; /* Center the container itself horizontally */
}

/* Mobile-specific adjustments */
@media (max-width: 768px) {
  .feature-container {
    display: flex;
    flex-direction: column; /* Stack feature items vertically on mobile */
    align-items: center; /* Center align the feature items horizontally */
    justify-content: center; /* Center align the feature items vertically */
    width: 100%; /* Ensure the container takes full width */
    max-width: 100%; /* Prevent any width limitations */
    margin: 0 auto; /* Center the container itself */
    padding: 1rem; /* Adjust padding if necessary */
  }

  .feature-item {
    display: none !important;
  }

  #logo-img {
    width: 250px !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

/* Additional responsiveness for very small screens like iPhone SE */
@media (max-width: 375px) {
  /* For very small devices (like iPhone SE) */
  .feature-container {
    padding: 0.5rem; /* Adjust padding to avoid overcrowding */
  }

  .feature-item {
    min-width: 90%; /* Ensure feature items are appropriately sized */
    max-width: 350px; /* Ensure it doesn't exceed the max-width */
  }
}

/* Base Media Query for Tablet to Mobile screens */
@media (max-width: 1255px) {
  /* Mobile-specific adjustments for smaller screens (below 800px) */
  @media (max-width: 800px) {
    #activateButton2 {
      margin-top: 0;
      margin-bottom: 2rem;
      padding: 10px 50px; /* Optionally, increase padding for a wider button */
      font-size: 1.7rem; /* Optional: Increase font size for better readability */
    }
  }
}

@media (max-width: 768px) {
  .feature-text p {
    font-size: 16px;
    color: #eb2027;
    font-weight: bold;
  }
}

#soc-img {
  width: 350px;
  height: auto; /* Maintain aspect ratio */
}

#logo-img {
  width: 350px;
  height: auto; /* Maintain aspect ratio */
  margin-top: 20px;
  margin-bottom: 20px;
}

.primary-text {
  font-size: 50px;
  width: 100%;
  display: block;
  text-align: center;
  margin-top: -20px;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
  font-weight: 900;
  text-shadow:
    2px 2px 8px rgba(0, 0, 0, 0.35),
    0 1px 0 #fff2b2;
}

h1.primary-text {
  margin-bottom: 6px;
}

h2.primary-text {
  margin-top: 0;
}

h2 {
  font-size: 40px;
  color: white;
}

.mobile-primary-text {
  display: none;
}

@media (max-width: 768px) {
  .circle-pointer {
    margin-top: 20px !important;
  }
  .button-container {
    display: flex;
    flex-direction: column;
  }

  .desktop-primary-text {
    display: none;
  }

  .mobile-primary-text {
    display: block;
    order: 3;
  }
  .primary-text {
    font-size: 40px !important;
    text-align: center !important;
    white-space: normal !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  #activateButton2 {
    display: inline-block;
    order: 2 !important;
  }
  .pare-item,
  #para-item {
    order: 4 !important;
    font-size: 18px !important;
    margin-left: 0 !important;
  }
  #activateButton {
    display: none;
  }
  .mobile-btn {
    display: inline-block !important;
  }
  .desktop-btn {
    display: none !important;
  }
  #soc-img {
    width: 250px !important;
    height: auto !important;
    margin-top: -20px !important;
    margin-bottom: 20px !important;
  }
}

.pare-item {
  font-size: 36px;
  white-space: nowrap;
  width: 100%;
  display: block;
  margin-left: -160px;
  margin-right: auto;
  color: white;
}

.icon-item {
  padding-right: 15px;
}

.item-1 {
  color: #1f672f;
  font-size: 32px !important;
  font-weight: 400;
  line-height: 32px;
  text-align: right;
  text-shadow:
    2px 2px 6px rgba(0, 0, 0, 0.3),
    0 1px 0 #fff2b2;
}

.item-2 {
  color: black;
  font-size: 32px !important;
  font-weight: 400;
  line-height: 32px;
  text-align: right;
}

#activateButton3 {
  display: none;
}

@media (max-width: 768px) {
  #activateButton3 {
    display: inline-block !important;
  }
}

@media (min-width: 1024px) {
  #logo-img {
    margin-bottom: 0;
  }
}


#reward-text-1 {
  font-size: 50px; /* Adjust the size as needed */
  color: goldenrod;
  font-weight: 900;
