html,
body {
    height: -webkit-fill-available;
    height: 100vh; /* Works in most cases */
    margin: 0px;
}

.container {
    display: flex;
    align-items: center;
    height: -webkit-fill-available;
    height: 100vh; /* Works in most cases */
}

.left,
.right {
    width: 50%;
    display: flex;
    flex-direction: column;
    padding-left: 5rem;
    padding-right: 5rem;
    justify-content: center;
    align-items: center;
}
.left {
    gap: 1rem;
}

.under-logo-login {
    height: 20rem;
    
    display: flex;
    flex-direction: column;
    gap: 1rem;
}


.left h1 {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.left img {
    height: auto;
    width: 26rem;
}

.auth-btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    width: 63%;
    background-color: var(--text-color);
    border: 0.1rem solid var(--grey-lighter);
    color: var(--text-color-dark);
}
.auth-btn:hover {
    background-color: var(--grey-lighter);
}

.auth-btn .icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}
.authSpanDiv {
    display: flex;
    justify-content: center;
    width: 100%;
}
.authSpan {
}

.google-btn {
}

.google-btn:hover {
}

.microsoft-btn {
}
.microsoft-btn:hover {
}

.left p {
    font-size: 0.9rem;
    color: #666;
    width: 50%;
    display: flex;
    align-items: center;
    text-align: left;
    gap: 1rem;
}

.input-field {
    width: 100%;
    padding: 10px;
    margin-bottom: 1rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

.reset-input{
    width: calc(100% - 20px);
}

.right {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #3d3d3d;
    height: -webkit-fill-available;
    height: 100vh;
    background-image: var(--dark-gradient);
    background-size: 100%;
    background-repeat: no-repeat;
    gap: 0.8rem;
    /* For smoother transitions on different screen sizes */
    background-attachment: fixed;
}
.right .topMsg {
    font-size: 2.1rem;
    color: var(--text-color-light);
    font-weight: 700;
}
.right .bottomMsg {
    color: #a1a1a1;
    font-size: 1.9rem;
    font-weight: 600;
}

.toggle-group {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.toggle-btn {
    padding: 10px 20px;
    margin: 0 5px;
    border: none;
    background-color: #f0f0f0;
    cursor: pointer;
    font-size: 14px;
    border-radius: 5px;
    transition: background-color 0.3s;
    color: var(--text-color-dark);
}

.toggle-btn.active {
    background-color: var(--primary-button-color);
    color: white;
}

.toggle-btn:hover {
    background-color: var(--primary-button-color);
    color: white;
    opacity: 0.5;
}

.login-clicked {
    background-color: var(--primary-button-hover) !important;
}

.sign-in-elements {
    width: 80%;
}
.loginFoot {
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.signup-prompt {
    width: 100% !important;
}
.restore-prompt {
    width: 100% !important; 
    margin-top: 0rem;
}
.login-prompt {
    width: 100% !important; 
}

.buttonHolder {
    display: flex;

}

.signup-fields .login-prompt {
    width: 100% !important;
}

.restoreFoot {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: 1rem;
}

.restoreFoot .login-prompt {
    margin-top: 0rem;
}

.restoreBtnHolder {
    display: flex;
    justify-content: flex-start;
    width: 100%;
}

.loginSubText {
    width: 75% !important;
}


#login-loader-element,
#signup-loader-element {
    display: none;
    align-content: center;
}

.login-loader {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-top-color: var(--primary-button-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 60px auto;
  }
  
  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }



/* Extra small devices (portrait phones) */
@media screen and (min-width: 375px) and (max-width: 576px) {



    .under-logo-login {
    align-items: center;
    }


    /* Styles for screens 375px and wider */

    .container {
        flex-direction: column-reverse;
    }

    .right .topMsg {
        font-size: 1.4rem;
    }

    .right .bottomMsg {
        color: var(--primary-color-light-brighter);
        font-size: 1.3rem;
        font-weight: 600;
    }

    .left,
    .right {
        width: auto;
        height: -webkit-fill-available;
        height: 100vh;
        padding-left: 0rem;
    padding-right: 0rem;
    }

    .auth-btn {
      width: auto;
    }

    .left p {
      width: auto;

    
    }

    .left img {
        width: 16rem;
    }

    .sign-in-elements {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    .right {
   
    height: 30vh;
    padding-left: 3rem;
    padding-right: 3rem;
    }

    .left h1 {
    margin-top: 3rem;
}
}

/* Small devices (landscape phones) */
@media screen and (min-width: 576px) {
    /* Styles for screens 576px and wider */
}

/* Medium devices (tablets) */
@media screen and (min-width: 768px) {
    /* Styles for screens 768px and wider */
}

/* Large devices (desktops) */
@media screen and (min-width: 992px) {
    /* Styles for screens 992px and wider */
}

/* Extra large devices (large desktops) */
@media screen and (min-width: 1200px) {
    /* Styles for screens 1200px and wider */
}

/* Extra extra large devices (larger desktops) */
@media screen and (min-width: 1400px) {
    /* Styles for screens 1400px and wider */
    .ai-cards-list {
        margin-left: 10vw;
        margin-right: 10vw;
    }
}
