#UI_background {
    max-width: 75%; /* No more than 75% of the screen */
}

h1 {
    color: #000;
    font-family: 'Roboto', sans-serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-align: center;
    padding: 24px;
}

.challenge-header {
    text-align: left;
    padding: 20px;
    width: 100%;
    position: absolute; /* Position the header absolutely */
    top: -0px; /* Align to the top of the container */
}

h2 {
    color: #000;
    font-family: 'Roboto', sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    padding: 24px;
    margin: 0;
}

#UM_logo {
    width: 20%;
    height: auto;
    flex-shrink: 0;
    aspect-ratio: 216/187;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

p {
    color: #000;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    padding: 24px;
}

#button_group {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 24px;
}

#oldcap {
    background-color: #F5EFF7;
    color: #65558F;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-style: bold;
    font-weight: 600;
    line-height: normal;
    padding: 12px 24px;
    margin: 0 12px;
    border: 2px solid #65558F;
    border-radius: 4px;
    cursor: pointer;
}

#oldcap:hover {
    background-color: #dccfff;
    color: #65558F;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-style: bold;
    font-weight: 600;
    line-height: normal;
    padding: 12px 24px;
    margin: 0 12px;
    border: 2px solid #65558F;
    border-radius: 4px;
    cursor: pointer;
}

#newcap {
    background-color: #65558F;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-style: bold;
    font-weight: 600;
    line-height: normal;
    padding: 12px 24px;
    margin: 0 12px;
    border: 2px solid #65558F;
    border-radius: 4px;
    cursor: pointer;
}

#newcap:hover {
    background-color: #463b64;
    color: #FFF;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-style: bold;
    font-weight: 600;
    line-height: normal;
    padding: 12px 24px;
    margin: 0 12px;
    border: 2px solid #352c4b;
    border-radius: 4px;
    cursor: pointer;
}

ol {
    color: #000;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.form-container {
    display: flex;
    justify-content: center;
    /* align-items: center;*/
    padding: 40px;
    height: 100vh; /* Full height of the viewport */
}

.captcha-container {
    display: flex;
    justify-content: center;
    align-items: center; /* Center items vertically */
    padding: 40px;
    
}

#UI_background {
    position: relative;
    background-color: #fff; /* White background */
    padding: 16px; /* Padding inside the card */
    border: 1px solid rgba(0, 0, 0, 0.5); /* Light gray border */
    border-radius: 8px; /* Rounded corners */
    width: 100%; /* Full width up to the max-width */
    max-width: 600px; /* Maximum width of the card */
    margin: 24px; /* Margin around the card */
}

#challenge_container {
    position: relative;
    display: flex;
    background-color: #ececec; /* Light grey background */
    justify-content: center;
    align-items: center; /* Center items vertically */
    padding: 40px;
    margin-top: 84px; /* Margin from the top to avoid overlap with the header */
    margin-bottom: 84px; /* Margin from the bottom */
    height: 50vh;
    border:none; /* No border */
    border-radius: 4px; /* Rounded corners */

}

#reset_button {
    position: absolute;
    margin-bottom: 20px; /* Space below the button */
    top: 50px;
    color: #65558F;
    font-weight: bold;
    padding: 10px 20px; /* Button padding */
    cursor: pointer; /* Pointer cursor on hover */
    background-color: transparent;
    border: none; /* No border */
}
#reset_button i {
    margin-right: 8px; /* Space between icon and text */
}

#help_button {
    position: absolute; /* Position the button absolutely */
    top: 60px;
    right: 10px; /* Position from the right */
    background-color: transparent; /* Transparent background */
    border: none; /* No border */
    color: #007bff; /* Icon color */
    font-size: 24px; /* Icon size */
    cursor: pointer; /* Pointer cursor on hover */
}

#help_button i {
    margin-right: 8px; /* No margin needed for the icon */
}
.captcha-footer {
    position: absolute; /* Position the footer absolutely */
    bottom: 50px; /* Position 10px below the challenge container */
    display: flex; /* Use flexbox to align items horizontally */
    justify-content: space-between; /* Space between items */
    width: 100%; /* Full width of the container */
}

#captcha_logo {
    width: 150px; /* Fixed width for the logo */
    height: auto; /* Maintain aspect ratio */
    margin-right: 10px; /* Space between the logo and the button */
}

#submit_button {
    background-color: #007bff; /* Button background color */
    color: #fff; /* Button text color */
    border: none; /* No border */
    padding: 10px 20px; /* Button padding */
    border-radius: 5px; /* Rounded corners */
    cursor: pointer; /* Pointer cursor on hover */
    font-size: 14px; /* Font size */
    font-weight: bold; /* Bold text */  
    margin-right: 30px;
}

.highlight {
    font-size: 1.2em; /* Increase font size */
    font-weight: 900; /* Make text bold */
}

.image-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Create a 3-column grid */
    gap: 4px; /* Add spacing between buttons */
    justify-content: center; /* Center the grid horizontally */
    align-items: center; /* Center the grid vertically */
    margin: 20px auto; /* Add some margin around the grid */
    max-width: 600px; /* Optional: Limit the grid's width */
  }
  
  .image-button {
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
    outline: none;
  }
  
  .image-button img {
    width: 100px; /* Set a fixed size for the images */
    height: 100px;
    object-fit: cover; /* Ensure the image fits within the button */
    border: 5px solid transparent; /* Default border */
    border-radius: 8px; /* Optional: Add rounded corners */
    transition: border-color 0.3s ease; /* Smooth transition for border color */
  }
  
  .image-button.selected img {
    border-color: #03dac6; /* Highlight border when selected */
  }

#home-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px; /* Space between buttons */
}

#home-buttons button {
    background-color: #fff;
    color: #000;
    border: 2px solid #007bff; /* Button border color */
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    transition: background-color 0.3s;
}

#home-buttons button:hover {
    background-color: #0056b3;
    color: #fff; /* Change text color on hover */
}

#reset_button {
    display: none; /* Hide the reset button by default */
}

#submit_button {
    display: none; /* Hide the submit button by default */
}

.audio-container {
  display: flex;
  justify-content: center; /* Center horizontally */
  align-items: center; /* Center vertically */
  height: 100%; /* Take up the full height of the container */
  position: relative; /* Ensure relative positioning for child elements */
}

.play-button {
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 20px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s, transform 0.3s;
}

.play-button:hover {
    background-color: #0056b3;
    transform: scale(1.1);
}

.play-button i {
    margin: 0;
}

.input-options {
  position: absolute; /* Position relative to the container */
  bottom: 20px; /* Position near the bottom */
  left: 50%; /* Center horizontally */
  transform: translateX(-50%); /* Adjust for centering */
  display: flex;
  flex-direction: column; /* Stack elements vertically */
  align-items: center; /* Center horizontally */
  gap: 15px; /* Add spacing between elements */
  width: 100%; /* Ensure it doesn't overflow */
  max-width: 400px; /* Optional: Limit the width */
}

#typed-answer {
  width: 80%; /* Make the input field take up 80% of the container width */
  max-width: 400px; /* Limit the maximum width */
  padding: 10px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 5px;
  text-align: center; /* Center the text inside the input */
}

.input-options input {
    margin: 10px 0;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    width: 100%;
    font-size: 16px;
}

.recording-controls {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.record-button, .stop-button {
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    transition: background-color 0.3s;
}

.record-button:hover, .stop-button:hover {
    background-color: #0056b3;
    color: #fff; /* Change text color on hover */
}

.hold-button {
    position: relative;
    width: 200px;
    height: 50px;
    background-color: #6200ea; /* Default background color */
    color: white;
    border: none;
    border-radius: 25px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    overflow: hidden;
    transition: background-color 0.3s ease; /* Smooth transition for color changes */
    display: flex;
    justify-content: center;
    align-items: center;
}

.progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: #fb0202;
    width: 0%;
    z-index: 1; /* Place the progress bar below the text */
    transition: width 0.1s linear;
}
  .hold-button:hover {
    background-color: #7e3ff2; /* Change color when hovered */
}

.hold-button:active {
    background-color: #4b00b5; /* Change color when clicked */
}

  .hold-button:active .progress-bar {
    animation: progress 5s linear forwards; /* Animation for the progress bar */
  }

  @keyframes progress {
    from {
      width: 0%;
    }
    to {
      width: 100%;
    }
  }
  .hold-button:active {
    background-color: #4b00b5; /* Change color when clicked */
  }
  .hold-button:active .progress-bar {
    animation: progress 5s linear forwards; /* Animation for the progress bar */
  }
  .hold-button:active .progress-bar {
    animation: progress 5s linear forwards; /* Animation for the progress bar */
  }
  @keyframes progress {
    from {
      width: 0%;
    }
    to {
      width: 100%;
    }
  }
  .hold-button:active {
    background-color: #4b00b5; /* Change color when clicked */
  }
  .hold-button:active .progress-bar {
    animation: progress 5s linear forwards; /* Animation for the progress bar */
  }
  @keyframes progress {
    from {
      width: 0%;
    }
    to {
      width: 100%;
    }
  }
  .hold-button:active {
    background-color: #4b00b5; /* Change color when clicked */
  }
  .hold-button:active .progress-bar {
    animation: progress 5s linear forwards; /* Animation for the progress bar */
  }
  @keyframes progress {
    from {
      width: 0%;
    }
    to {
      width: 100%;
    }
  }

  .hold-button span {
    position: relative;
    z-index: 2; /* Place the text above the progress bar */
    pointer-events: none; /* Prevent the text from interfering with button clicks */
}

#puzzle-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Create 2 columns */
    grid-template-rows: repeat(2, 1fr); /* Create 2 rows */
    gap: 10px; /* Add spacing between puzzle pieces */
    justify-content: center; /* Center the grid horizontally */
    align-items: center; /* Center the grid vertically */
    width: 300px; /* Set a fixed width for the grid */
    margin: 0 auto; /* Center the grid on the page */
  }
  
  .puzzle-piece {
    position: relative;
    width: 145px; /* Make each piece fill its grid cell */
    height: auto; /* Maintain aspect ratio */
    cursor: pointer; /* Add a pointer cursor for interactivity */
    object-fit: contain; /* Ensure the image covers the entire cell */
    transform-origin: center;
    transform: rotate(90deg); /* Rotate the image */
    transition: transform 0.3s ease; /* Smooth rotation animation */
  }

  #piece3 {
    width: auto; /* Set the same width as the other pieces */
    height: 140px; /* Set the same height as the other pieces */
    object-fit: contain;
  }

  .modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1000; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgba(0, 0, 0, 0.5); /* Black background with opacity */
  }
  
  /* Modal content box */
  .modal-content {
    background-color: #fff;
    margin: 15% auto; /* 15% from the top and centered */
    padding: 20px;
    border-radius: 10px;
    width: 80%; /* 80% of the screen width */
    max-width: 500px; /* Limit the width */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    text-align: center;
  }
  
  /* Close button */
  .close-button {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
  }
  
  .close-button:hover,
  .close-button:focus {
    color: #000;
    text-decoration: none;
  }

/* Feedback Popup Container */
.feedback-popup {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #322f35;
  border: 1px solid transparent;
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  padding: 10px 20px; /* Reduce padding for smaller height */
  text-align: left; /* Align content to the left */
  width: 90%;
  max-width: 400px;
  z-index: 1000;
  display: flex; /* Use flexbox for layout */
  flex-direction: column; /* Stack items vertically */
  gap: 10px; /* Add spacing between items */
}

/* Feedback Content */
.feedback-content {
  display: flex;
  align-items: center; /* Center icon and text vertically */
  gap: 10px; /* Add spacing between the icon and text */
  color: #fff;
  font-family: 'Roboto', sans-serif;
}

/* Feedback Icon */
.feedback-icon {
  font-size: 24px; /* Smaller icon size */
  margin: 0; /* Remove extra margin */
}

/* Success Icon */
.success-icon {
  color: #4caf50; /* Green */
}

/* Failure Icon */
.failure-icon {
  color: #f44336; /* Red */
}

/* Feedback Text */
.feedback-text {
  font-size: 16px;
  margin: 0; /* Remove extra margin */
  color: #fff;
}

/* CTA Button */
.cta-button {
  color: #D0BCff;
  border: none;
  background: none;
  padding: 10px 20px; /* Increase padding for more room */
  font-size: 16px; /* Slightly larger font size */
  cursor: pointer;
  align-self: flex-end; /* Align the button to the right */
  text-align: right; /* Align text inside the button to the right */
  white-space: nowrap; /* Prevent text from wrapping */
}

#hoop {
  position: absolute;
  top: 50px;
  width: 200px;
  height: 150px;
  background-image: url('assets/hoop.png');
  background-size: contain;
  background-repeat: no-repeat;
  animation: moveHoop 5s linear infinite; /* Hoop moves side-to-side */
  z-index: 5; /* Ensure the hoop is behind the ball */
}

#ball {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 100px;
  background-image: url('assets/ball.png');
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
  z-index: 10; /* Ensure the ball is in front of the hoop */
}

@keyframes moveHoop {
  0% {
    left: 0;
  }
  50% {
    left: calc(100% - 200px); /* Move to the right edge */
  }
  100% {
    left: 0;
  }
}

 