:root {
  --grph-palette-carbon-10: #000000;
  --grph-palette-white-primary: #ffffff;
  --grph-var-button-border-primary: #0f7ac7;
  --bs-red: #dc3545;
  --grph-paletter-grey-white: #ffffff99;
  --primary-font: 'MCQ Global';
  --error-color: var(--color-icon-error, #ff9480);
  --focus-border-color: #45a3e5;
  --banner-bg-color: var(--color-background-banner-success, #1F4339);
  --banner-border-color: #3DD6A3;
  --banner-text-color: #FFFFFFF7;
}

body {
  overflow: auto;
  margin: 0;
  padding: 0;
}

html,
body {
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.main-container {
  width: 100%;
  height: 100%;

  .header-container {
    background-color: var(--grph-palette-carbon-10);
    width: 100%;
    height: 3rem;
    flex-direction: row;
    align-items: center;
    padding: 0rem 0rem 0rem 0.3rem;
    display: flex;
    position: relative;
    padding-left: 1.5rem;

    .header-logo {
      height: 100%;
      display: flex;
      align-items: center;
    }

    .header-logo-link {
      margin-top: 0.25rem;
      border-right: 1px solid #f0f0f0;
      padding-right: 0.75rem;
    }
    .logo-name {
      margin-left: 0.75rem;
    }

    .header-arrow {
      color: var(--grph-palette-white-primary);
      margin-left: 1.063rem;
      margin-right: 0.25rem;
      margin-top: 0rem;
    }

    .header-word {
      color: var(--grph-palette-white-primary);
      font-family: MCQ Global;
      font-size: 1.25rem;
      font-weight: 300;
      text-align: left;
    }
  }

  .body-container {
    display: flex;
    overflow: auto;
    padding-left: 5rem;
    flex-direction: column;
    justify-content: space-between;
    width: 100vw;
    background-image: linear-gradient(rgba(1, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
      url(background-img.jpg);
    height: calc(100% - 3rem);
    position: relative;
    background-repeat: no-repeat; /* Prevents the image from repeating */
    background-size: cover;  /* Makes the image cover the entire container */
    background-position: center;
    .text-frame-container {
      height: 10rem;
      width: 40rem;
      padding-top: 7rem;
      padding-bottom: 0%;
      display: flex;
      flex-direction: column;

      .login-text {
        color: var(--grph-palette-white-primary);
        font-family: MCQ Global;
        font-size: 1.25rem;
        font-weight: 355;
        text-align: left;
        flex-direction: column;
        margin-top: 0.55rem;
        padding-bottom: 0.25rem;
      }

      .melodi-text {
        font-family: MCQ Global;
        font-size: 2.563rem;
        font-weight: 400;
        line-height: 2.75rem;
        color: var(--grph-palette-white-primary);
        flex-direction: column;
        padding-bottom: 0.25rem;
      }

      .another-text {
        width: 100%;
        font-family: MCQ Global;
        font-size: 1.25rem;
        font-weight: 355;
        text-align: left;
        color: var(--grph-palette-white-primary);
        flex-direction: column;
      }
    }

    .token-login-container {
      height: 12rem;
      width: 40rem;

      .auth-form {
        input[type="text"] {
          opacity: 1;
          background: hsla(0, 0%, 100%, 0.19);
          border: none;
          width: 60%;
          margin-bottom: 0%;
          height: 2.2rem;
          padding-left: 0.4rem;
        }

        .login-input-container {
          min-height: 2.625rem;
        }

        .login-input-field {
          font-family: MCQ Global;
          font-size: 1rem;
          font-weight: 400;
          line-height: 1.5rem;
          text-align: left;
          opacity: 1;
          margin-bottom: 0;
        }

        .login-input-field.grph-icon-align-right {
          border: 0.125rem solid var(--color-icon-error, #ff9480);
        }

        input[type="password"] {
          opacity: 1;
          background: hsla(0, 0%, 100%, 0.19);
          border: none;
          width: 60%;
          font-family: MCQ Global;
          font-size: 1rem;
          font-weight: 400;
          height: 2.2rem;
          padding-left: 0.4rem;
        }

        .login-password-container {
          min-height: 2.625rem;
        }

        .login-password-field {
          font-family: MCQ Global;
          font-size: 1rem;
          font-weight: 400;
          line-height: 1.4rem;
          text-align: left;
          opacity: 1;
          background: var(--color-text-01-default, #fffffff7);
        }

        .login-password-field.grph-icon-align-right {
          border: 0.125rem solid var(--color-icon-error, #ff9480);
        }

        input:focus {
          outline: none;
          border: 0.163rem solid #45a3e5;
          padding-left: 0.375rem;
        }

        input:focus::placeholder {
          color: transparent;
        }

        ::placeholder {
          color: var(--color-text-disabled, #ffffff61);
        }

        input,
        select,
        textarea {
          color: var(--grph-palette-white-primary);
        }

        .login-access-error {
          min-height: 1.625rem;
          height: 2.125rem;
        }

        .password-access-error {
          min-height: 1.625rem;
          height: 2.125rem;
        }

        .error-message {
          color: var(--grph-paletter-grey-white);
          margin: 1.25rem;
          font-family: MCQ Global;
          font-weight: 400;
          font-size: 0.813rem;
          line-height: 1.4rem;
          text-align: left;
          opacity: 1;
          padding-top: 0.5%;
        }

        .error-icon-container {
          margin-bottom: 0%;
          display: flex;
          align-items: baseline;
          line-height: 1rem;
        }

        .error-icon {
          border: 0.5px solid #ff9480;
          background: var(--color-icon-error, #ff9480);
          border-radius: 50%;
          width: 0.813rem;
          font-size: 0.7rem;
          color: grey;
          height: 0.813rem;
          display: flex;
          margin-bottom: 0.5%;
          margin-right: 0.5%;
          align-items: center;
          justify-content: center;
        }

        #access-error {
          display: flex;
          flex-direction: column;
          width: 100%;
          margin-top: 0%;
          margin-left: 0;
        }

        #password-error {
          display: flex;
          flex-direction: column;
          width: 100%;
          margin-top: 0%;
          margin-left: 0;
        }

        .submit_btn {
          background-color: var(--grph-var-button-border-primary);
          color: var(--grph-palette-white-primary);
          font-family: MCQ Global;
          font-size: 1rem;
          font-weight: 350;
          line-height: 2rem;
          text-align: center;
          border: none;
          width: 5rem;
        }
      }
    }

    .footer-container {
      margin-bottom: 3%;
      padding-top: 5%;
      line-height: 0.821rem;
      text-align: left;
      width: 40rem;
      opacity: 1;
      display: flex;
      flex-direction: column;
      color: var(--grph-palette-white-primary);
      font-family: MCQ Global;
      font-weight: 400;
      opacity: 1;

      .footer-word {
        font-size: 0.8rem;
        font-weight: 400;
        padding-bottom: 1rem;
      }

      .footer-hyperlink {
        font-size: 0.7rem;
        font-weight: 400;
      }

      .important-information {
        color: var(--grph-palette-white-primary);
      }

      .privacy {
        color: var(--grph-palette-white-primary);
        margin-left: 0.625rem;
        margin-right: 0rem;
      }

      .security {
        color: var(--grph-palette-white-primary);
        margin-left: 0.625rem;
        margin-right: 0rem;
      }

      a {
        text-decoration: none;
        background-color: rgba(0, 0, 0, 0);

        &:hover {
          text-decoration: underline;
          text-decoration-color: 0.125rem solid black;
        }
      }
    }
  }
}

.retry-link {
  font-family: MCQ Global;
  font-size: 0.875rem;
  font-weight: 360;
  line-height: 1.5rem;
  text-align: left;
  color: #fffffff7;
}

.error-container {
  width: 25rem;
  height: 6.5rem;
  background: var(--color-background-banner-error, #4f3b37);
  box-shadow: 0.25rem 0rem 0rem 0rem #f17985 inset;
  padding-top: 0.8rem;
}

.error-message-icon {
  border: 0.063px solid #ff9480;
  background: var(--color-icon-error, #ff9480);
  border-radius: 50%;
  width: 0.833rem;
  font-size: 0.7rem;
  color: grey;
  height: 0.833rem;
  display: flex;
  margin-left: 2%;
  align-items: center;
  justify-content: center;
}

.error-content-container {
  margin-left: 1%;
}

.error-icon-content-container {
  font-family: MCQ Global;
  font-size: 0.875rem;
  font-weight: 360;
  line-height: 1.5rem;
  color: #fffffff7;
  display: flex;
  align-items: center;
}

.text-container {
  margin-left: 7%;
}

.another-locked-text {
  font-family: MCQ Global;
  font-size: 0.813rem;
  font-weight: 300;
  line-height: 1.5rem;
  text-align: left;
  color: #fffffff7;
}

.return_btn {
  background-color: var(--grph-var-button-border-primary);
  color: var(--grph-palette-white-primary);
  font-family: MCQ Global;
  font-size: 0.813rem;
  font-weight: 400;
  line-height: 1.5rem;
  text-align: center;
  border: none;
}

/* expired password screen css */
.body-container-expired-password {
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.5)),
    url(expired_password_background_img.jpg);
  height: calc(100% - 2.4rem);
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;

  .container {
    display: flex;
    width: 80rem;
    overflow: hidden;
    margin-left: 24%;

    .container-wrapper {
      padding-top: 7%;

      .text-frame-container {
        gap: 0.77rem;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        margin-left: 0%;
        margin-top: 20%;

        .password-expired-text,
        .sample-expired-text {
          font-family: var(--primary-font);
          color: var(--grph-palette-white-primary);
          text-align: left;
        }

        .password-expired-text {
          font-size: 1.44rem;
          font-weight: 700;
          flex-direction: column;
        }

        .sample-expired-text {
          font-size: 1rem;
          font-weight: 400;
          flex-direction: column;
          margin-bottom: 0.5rem;
          width: 31rem;
        }
      }

      .token-expired-container {
        height: 23rem;
        width: 40rem;
        display: flex;
        align-content: center;
        flex-direction: column;

        .another-text {
          width: 17.2rem;
          height: 2rem;
          font-family: var(--primary-font);
          font-size: 1rem;
          font-weight: 400;
          text-align: left;
          color: var(--grph-palette-white-primary);
          margin-bottom: 1rem;
          margin-top: 0.5rem;
        }

        .change-password-form {
          display: flex;
          flex-direction: column;

          .password-input-field.grph-icon-align-right {
            border: 0.125rem solid var(--color-icon-error, #ff9480);
          }

          .current-password-error-container,
          .new-password-error-container,
          .confirm-password-error-container {
            min-height: 1.625rem;
            height: 2.125rem;
          }

          input[type="password"] {
            color: var(--grph-palette-white-primary);
            opacity: 1;
            background: hsla(0, 0%, 100%, 0.2);
            border: none;
            width: 26rem;
            height: 2.21rem;
            padding-left: 0.4rem;
            font-family: var(--primary-font);
            font-size: 1rem;
            font-weight: 400;
            line-height: 2rem;
            text-align: left;
          }
        }

        input:focus {
          outline: none;
          border: 0.163rem solid #45a3e5;
          padding-left: 0.375rem;
        }

        input:focus::placeholder {
          color: transparent;
        }

        input::placeholder {
          color: var(--color-text-disabled, #FFFFFF61);
        }

        .current-password-input-field.grph-icon-align-right,
        .new-password-input-field.grph-icon-align-right,
        .confirm-new-password-field.grph-icon-align-right {
          border: 0.125rem solid var(--error-color);
        }

        .login-access-error {
          min-height: 1.625rem;
          height: 2.125rem;
        }

        .password-access-error {
          min-height: 1.625rem;
          height: 2.125rem;
        }

        .error-message {
          color: var(--grph-paletter-grey-white);
          margin: 1.25rem;
          font-family: var(--primary-font);
          font-weight: 400;
          font-size: 0.813rem;
          line-height: 1.4rem;
          text-align: left;
          opacity: 1;
          padding-top: 0.5%;
        }

        .error-icon-container {
          margin-bottom: 0%;
          display: flex;
          align-items: baseline;
          line-height: 1rem;
        }

        .regex-match {
          width: 64%;
        }

        .error-icon {
          border: 0.5px solid var(--error-color);
          background: var(--error-color);
          border-radius: 50%;
          width: 0.813rem;
          font-size: 0.7rem;
          color: grey;
          height: 0.813rem;
          display: flex;
          margin-bottom: 0.5%;
          margin-right: 0.5%;
          align-items: center;
          justify-content: center;
        }

        .new-password-container,
        .confirm-new-password-container,
        .button-container {
          margin-top: .9rem;
        }

        #current-password-error,
        #new-password-error,
        #confirm-password-error {
          display: flex;
          flex-direction: column;
          width: 100%;
          margin: 0;
        }

        .submit_btn {
          background-color: var(--grph-var-button-border-primary);
          color: var(--grph-palette-white-primary);
          font-family: var(--primary-font);
          font-size: 1rem;
          font-weight: 350;
          line-height: 2rem;
          text-align: center;
          border: none;
          width: 5rem;
        }
      }
    }
  }

  .alert-container {
    background: var(--banner-bg-color);
    box-shadow: 4px 0px 0px 0px var(--banner-border-color) inset;
    width: 23rem;
    height: 15rem;
    margin-left: 15rem;
    margin-top: 14rem;

    .alert-content {
      display: flex;
      align-items: center;
    }

    .password-access-icon {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      border: 3px solid var(--banner-border-color);
      text-align: center;
      color: var(--banner-border-color);
      line-height: 24px;
      margin-left: 1rem;
      margin-top: 1rem;
      font-size: 24px;
    }

    .password-expired-alert,
    .password-requirements {
      font-family: var(--primary-font);
      color: var(--banner-text-color);
    }

    .password-expired-alert {
      margin: 5% 0 0 5%;
      font-family: var(--primary-font);
      font-size: 13px;
      font-weight: 500;
      line-height: 24px;
      text-align: left;
    }

    .password-requirements {
      margin-left: 2.5rem;
      font-size: 12px;
      font-weight: 400;
      line-height: 24px;
      text-align: left;
    }
  }

  .footer-container {
    padding-top: 6%;
    line-height: 0.821rem;
    text-align: left;
    width: 40rem;
    opacity: 1;
    display: flex;
    flex-direction: column;
    color: var(--grph-palette-white-primary);
    font-family: var(--primary-font);
    font-weight: 400;
    opacity: 1;
    margin-left: 24%;


    .footer-word {
      font-size: 0.8rem;
      font-weight: 400;
      padding-bottom: 1rem;
    }

    .footer-hyperlink {
      font-size: 0.7rem;
      font-weight: 400;
    }

    .important-information {
      color: var(--grph-palette-white-primary);
    }

    .privacy {
      color: var(--grph-palette-white-primary);
      margin-left: 0.625rem;
      margin-right: 0rem;
    }

    .security {
      color: var(--grph-palette-white-primary);
      margin-left: 0.625rem;
      margin-right: 0rem;
    }

    a {
      text-decoration: none;
      background-color: rgba(0, 0, 0, 0);

      &:hover {
        text-decoration: underline;
        text-decoration-color: 0.125rem solid black;
      }
    }
  }
}

.body-container-logout-screen {
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(1, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url(logout.jpg);
  height: calc(100% - 2.4rem);
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;

  /* Updated CSS */
  .image-search-container {
    background: #FFFFFF30;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 128px;
    /* Adjust as needed */
    height: 128px;
    /* Adjust as needed */
    background-size: cover;
    border-radius: 50%;
    /* Makes the border circular */
    background-position: center;
  }

  .image-search {
    width: 80.64px;
    height: 78px;
  }

  .body-main-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Center horizontally */
    justify-content: center;
    /* Center vertically */
    height: 100%;
    /* Ensure the container takes full height */
  }

  .logout-text {
    margin-bottom: 10px;
    /* Add some space between the text elements */
    font-family: MCQ Global;
    font-size: 1.16rem;
    font-weight: 400;
    line-height: 24px;
    text-align: center;
    color: #FFFFFFF7;
    width: 328px;
  }

  .melodi-text {
    text-align: center;
    /* Center text within the span */
    margin-bottom: 10px;
    /* Add some space between the text elements */
    font-family: MCQ Global;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 24px;
    text-align: center;
    color: #FFFFFFF7;
  }

  .submit_btn {
    background-color: var(--grph-var-button-border-primary);
    color: var(--grph-palette-white-primary);
    font-family: var(--primary-font);
    font-size: 1rem;
    font-weight: 350;
    line-height: 2rem;
    text-align: center;
    border: none;
    width: 5rem;
  }
}
