@font-face {
    font-family: 'LatoRegular';
    src: url("fonts/Lato-Regular.ttf");
}

@font-face {
    font-family: "Roboto-Bold";
    src: url("fonts/Roboto-Bold.ttf");
}

@font-face {
    font-family: "Roboto-Medium";
    src: url("fonts/Roboto-Medium.ttf");
}

@font-face {
    font-family: "Roboto-Regular";
    src: url("fonts/Roboto-Regular.ttf");
}

@font-face {
    font-family: "RobotoSlab-VariableFont-wght";
    src: url("fonts/RobotoSlab-VariableFont_wght.ttf");
}

body,
html {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: LatoRegular;
    font-size: 16px;
}

.top-bar {
    font-size: 12px;
    font-family: LatoRegular;
    letter-spacing: 0.07em;
    z-index: 10;
}

.bg-cover {
    background: url('images/login-background-2.jpg') no-repeat center center;
    background-size: cover;
    width: 100%;
    min-height: 100vh; /* ensure background covers full viewport */
    position: relative;
    background-position: top;
    /* background-attachment: fixed; removed to avoid rendering gaps on some browsers */
}

.bg-cover::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgb(22 18 18 / 53%);
    z-index: 1;
    pointer-events: none;

}

.logo-img {
    width: 111px;
    height: 111px;
    object-fit: contain;
    margin: 10px 0px 30px 0px;
    background: transparent;
    z-index: 2;
    position: relative;
}

.login-card {
    position: relative;
    z-index: 2;
    width: 534px;
    min-height: 604px;
    background: #fff;
    border-radius: 30px;
    padding: 25px 0px 0px 0px;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.13);
    border: none;
}
.card-body{
        margin: 0px 6%;
    position: relative;
    display: block;
}
.welcome-title {
    font-size: 24px;
    font-family: Roboto-Bold;
    font-weight: bold;
}

hr {
    border-top: 2px solid #101417;
    margin: 0px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.input-style,
.input-style:focus,
.input-style:active {
    font-size: 13px;
    font-family: LatoRegular;
    color: #242121;
    text-shadow: 0px 0px 0px #242121;
    border: 2px solid #a39595;
    border-radius: 8px;
    padding: 0px 10px;
    box-shadow: none;
    letter-spacing: 1px;
    min-height: 50px;
    
}
.custom-select{
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent;
    background-image: url('images/gt7mEb01.svg');
    background-repeat: no-repeat;
    background-position-x: 100%;
    padding-right: 2rem;
    background-size: contain;
}

.login-btn {
    background-color: #ba1222 !important;
    color: #fff;
    border-radius: 7px;
    font-size: 13px;
    border: none;
    font-family: LatoRegular;
    letter-spacing: 0.25em;
    transition: background 0.18s;
}

.login-btn:hover,
.login-btn:focus {
    background-color: #ba1222 !important;
    color: #fff;
}

.remember-label {
    font-size: 14px;
    font-family: LatoRegular;
    color: #111;
}

.forgot-link {
    font-size: 14px;
    color: #222;
    text-decoration: underline;
    font-family: LatoRegular;
}

.need-help{
    font-size: 14px;
    font-family: LatoRegular;
    color: #222;
    margin: 20px 0px 40px 0px;
    display: block;
}

.click-here-link {
    color: #111;
    text-decoration: underline;
    font-size: 14px;
    font-family: LatoRegular;
}
.register-link {
    color: #111;
    text-decoration: underline;
    font-size: 16px;
    font-family: Roboto-Regular;
    font-weight: 600;
}

.new-user {
    font-size: 16px;
    font-family: RobotoSlab-VariableFont-wght;
    color: #222;
    font-weight: 500;
}

@media (max-width: 600px) {
    .login-card {
        padding: 18px 5vw 10px 5vw;
        width: 98vw;
    }

    .logo-img {
        width: 90px;
        height: 90px;
    }

    .welcome-title {
        font-size: 1.2rem;
    }
}

:root {
      --svg-eye-open: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj4gPHBhdGggZD0iTTEyIDRDNCA0IDEgMTIgMSAxMkMxIDEyIDQgMjAgMTIgMjBDMjAgMjAgMjMgMTIgMjMgMTJDMjMgMTIgMjAgNCAxMiA0IHogTSAxMiA3QzE0Ljc2MSA3IDE3IDkuMjM5IDE3IDEyQzE3IDE0Ljc2MSAxNC43NjEgMTcgMTIgMTdDOS4yMzkgMTcgNyAxNC43NjEgNyAxMkM3IDkuMjM5IDkuMjM5IDcgMTIgNyB6IE0gMTIgOSBBIDMgMyAwIDAgMCA5IDEyIEEgMyAzIDAgMCAwIDEyIDE1IEEgMyAzIDAgMCAwIDE1IDEyIEEgMyAzIDAgMCAwIDEyIDkgeiIgZmlsbD0iIzIxMjUyOWJmIiAvPjwvc3ZnPg==");

      --svg-eye-close: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNNC4yMDcwMzEyIDIuNzkyOTY4OEwyLjc5Mjk2ODggNC4yMDcwMzEyTDUuMDc2MTcxOSA2LjQ5MDIzNDRDMi4xOTkzNDQ3IDguODM4MjAwNSAxIDEyIDEgMTJDMSAxMiA0IDIwIDEyIDIwQzE0LjA3NTU2OCAyMCAxNS44MDYwMDMgMTkuNDU0NzMgMTcuMjQyMTg4IDE4LjY1NjI1TDE5Ljc5Mjk2OSAyMS4yMDcwMzFMMjEuMjA3MDMxIDE5Ljc5Mjk2OUw0LjIwNzAzMTIgMi43OTI5Njg4IHogTSAxMiA0QzEwLjc4OCA0IDkuNzA1Nzk2OSA0LjE5OTcxODcgOC43MTY3OTY5IDQuNTExNzE4OEwxMS4yNzczNDQgNy4wNzIyNjU2QzExLjUxNDM0NCA3LjAzNzI2NTYgMTEuNzUzIDcgMTIgN0MxNC43NjEgNyAxNyA5LjIzOSAxNyAxMkMxNyAxMi4yNDcgMTYuOTYyNzM0IDEyLjQ4NTY1NiAxNi45Mjc3MzQgMTIuNzIyNjU2TDIwLjM1NzQyMiAxNi4xNTIzNDRDMjIuMjA0NDIyIDE0LjEwMjM0NCAyMyAxMiAyMyAxMkMyMyAxMiAyMCA0IDEyIDQgeiBNIDcuODMzOTg0NCA5LjI0ODA0NjlMOS4yOTY4NzUgMTAuNzEwOTM4QzkuMTA4MTU5NSAxMS4xMDA4MjkgOSAxMS41MzY1NjYgOSAxMkM5IDEzLjY1NyAxMC4zNDMgMTUgMTIgMTVDMTIuNDYzNDM0IDE1IDEyLjg5OTE3MSAxNC44OTE4NCAxMy4yODkwNjIgMTQuNzAzMTI1TDE0Ljc1MTk1MyAxNi4xNjYwMTZDMTMuOTYyMDM5IDE2LjY4OTc1OCAxMy4wMTkyNzEgMTcgMTIgMTdDOS4yMzkgMTcgNyAxNC43NjEgNyAxMkM3IDEwLjk4MDcyOSA3LjMxMDI0MTUgMTAuMDM3OTYxIDcuODMzOTg0NCA5LjI0ODA0NjkgeiIgZmlsbD0iIzIxMjUyOWJmIiAvPjwvc3ZnPg==");
  }

  .input-group-text {
    display: flex;
    align-items: center;
    text-align: center;
    white-space: nowrap;
    font-size: 13px;
    font-family: LatoRegular;
    color: #242121;
    text-shadow: 0px 0px 0px #242121;
    border: 2px solid #a39595;
    border-radius: 8px;
    padding: 0px 10px;
    box-shadow: none;
    letter-spacing: 1px;
    min-height: 50px;
}

.btn-toggle-password-visibility {
  width: 21px;
  height: 21px;
  background-image: var(--svg-eye-close);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}

.form-floating + .input-group-text .btn-toggle-password-visibility,
.input-group-lg .btn-toggle-password-visibility {
  width: 28px;
  height: 28px;
}

.input-group:has(input:not([type="password"])) .btn-toggle-password-visibility {
  background-image: var(--svg-eye-open);
}
