/* Color scheme */
:root {
  --yop-dark-gray: rgb(81, 81, 81);
  --yop-light-purple: rgba(236, 222, 255, 0.777);
  --yop-green: rgba(10, 145, 24, 0.9);
  --yop-dark-blue: rgba(44, 27, 79, 0.9);
}

/* Page styling */
body {
  background-image: url('./yopje.jpg');
  margin: 0;
  padding: 0;
  background-position: center; /* Center the background image */
  background-repeat: no-repeat; /* Do not repeat the image */
  min-height: 100vh; /* Minimum height to cover the viewport */
  min-width: 100vw; /* Minimum width to cover the viewport */
  background-size: cover; /* Cover the entire screen, allowing overflow */
}

.show {
  display: flex !important;
}
.hide {
  display: none !important;
}

/* Buttons */
.button-start {
  box-shadow: 1px 1px 5px 3px lightgray;
  border-radius: 10px;
  background-color: var(--yop-green);

  width: 100px;
  height: 100px !important;
  align-items: center;

  font-size: 20px !important;
  font-weight: bold;
  letter-spacing: 1px;
  color: white;

  margin-top: 25px;

  cursor: pointer;
}

.button-register,
.button-notifications {
  box-shadow: 1px 1px 5px 3px lightgray;
  border-radius: 5px;
  background-color: var(--yop-dark-blue);

  width: 160px;
  height: 28px !important;
  align-items: center;

  font-size: 12px !important;
  font-weight: 500;
  letter-spacing: 1px;
  color: white;

  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 20px; /* Optional: Add some margin from the bottom */

  cursor: pointer;
}

/************************************* User login & regsitration *********************************/
#user-login {
  padding-top: 75px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#user-login > input {
  height: 25px;
  width: 300px;
  border-radius: 5px;
  padding: 10px;
  background-color: var(--yop-light-purple);
  font-size: 18px;
  font-weight: 600;
  color: var(--yop-dark-gray);
  margin-bottom: 20px;
}
@media (max-width: 800px) {
  #user-login > input {
    width: 80%;
  }
}

.loader {
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#login-error {
  font-family: Arial, sans-serif;
  font-weight: bold;
  color: red;
  background-color: white;
  margin-bottom: 30px;
  padding: 6px;
  border-radius: 4px;
  width: 240px;
  text-align: center;
  display: none;
}

/* Prevent input field turn white when using autofill */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s;
  -webkit-text-fill-color: var(--yop-dark-gray);
}

/*************************************** User intent and response ********************************/
.intent {
  padding-top: 20px;
  padding-left: 10px;
  padding-right: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.intent-header {
  display: flex;
  flex-direction: row;
  width: 100%;
  justify-content: space-between;
  margin-bottom: 40px;
}
.intent-dialog {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
@media (min-width: 800px) {
  .intent-dialog {
    width: 50%;
  }
}

/*********** Intent header fields ***********/
#logout {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--yop-dark-gray);
  font-size: 20px;
}

.profile {
  display: flex;
  flex-direction: row;
  width: 100%;
  justify-content: right;
}
.user-name {
  font-size: 16px;
  color: rgb(38, 25, 76);
  padding-bottom: 2px;
  margin-left: 8px;
  align-self: flex-end;
}
.user-icon {
  font-size: 20px;
  font-weight: bold;
  color: rgb(38, 25, 76);
  margin-left: 8px;
}

/*********** Intent input field ***********/
.input-container {
  position: relative;
  width: 100%;
}

#intent-input {
  width: 100%;
  border-radius: 5px;
  border-width: 3px;
  border-color: rgb(81, 81, 81);
  padding: 6px;
  padding-right: 40px;
  background-color: var(--yop-light-purple);
  font-size: 14px;
  line-height: 1.5;
  color: rgb(38, 25, 76);
  box-sizing: border-box;
}
textarea {
  font-weight: bold;
}

.mic {
  position: absolute;
  right: 10px;
  top: 16%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: rgb(12, 5, 35);
  font-size: 20px;
}
.mic-active {
  color: rgb(15, 157, 15) !important;
}

.send-intent {
  width: 100%;
  border-radius: 5px;
  border-width: 3px;
  background: white;
  border: solid;
  border-color: rgb(81, 81, 81);
  cursor: pointer;
  color: white;
  letter-spacing: 1px;
  background-color: #f0768b;
  font-size: 20px;
  padding: 6px;
  margin-top: 10px;
}

/*********** Intent Output field ***********/
.output-container {
  width: 100%;
}

#intent-output {
  font-size: 16px;
  color: var(--yop-dark-gray);
  background-color: var(--yop-light-purple);
  height: 250px;
  padding: 4px;
  border-radius: 4px;
  border: solid;
  border-color: rgb(106, 106, 106);
  overflow-wrap: break-word;
  overflow-wrap: break-word;
  overflow-y: scroll;
  overflow-x: hidden;
}

/*********** Notifactions modal ***********/
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  color: rgb(148, 27, 167);
  font-size: 24px;
  font-weight: bold;
  z-index: 1000; /* Ensure the modal is on top of other elements */
}

.notifications-modal {
  background-color: white;
  padding: 20px;
  margin-top: 50px;
  border-radius: 5px;
  text-align: center;
  width: 70%;
}
@media (min-width: 800px) {
  .notifications-modal {
    width: 45%;
  }
}

.confirm-notifications-button > button {
  border-radius: 5px;
  border-width: 3px;
  border: solid;
  border-color: rgb(81, 81, 81);
  cursor: pointer;
  color: black;
  letter-spacing: 1px;
  background-color: #fbabb9;
  font-size: 20px;
  font-weight: bold;
  padding: 10px 20px;
  margin-top: 10px;
}
