﻿.login-control {
    grid-area: main;
    background-color: #ffffff;
    /*margin: 0 auto;*/
    /*margin: 30px auto auto auto;*/
    margin: 10px auto auto auto;
    /*width: 400px;*/
    width: 100%;
    /*height: 250px;*/
    box-shadow: var(--boxshadow-chained);
    border-radius: var(--border-radius);
    padding-left: 10px;
    padding-right: 10px;
}

@media (min-width: 1024px) {
    .login-control {
        margin: auto;
        width: 450px;
    }
}

.login-header {
    height: 40px;
    font-size: 24px;
    color: var(--font-dark);
    /*padding-left: 10px;
    padding-right: 10px;*/
    display: flex;
    align-content: center;
    align-items: center;
}

.login-header.language-selector-visible {
    justify-content: space-between;
}

.login-header > span {
    font-size: 24px;
    color: var(--font-dark);
}

.login-header > select {
    height: 30px;
    border: 1px solid var(--border-color-light);
    border-radius: var(--border-radius);
}

.login-message {
    width: 100%;
    min-height: 40px;
    background-color: var(--invalid-input);
    border-radius: var(--border-radius);
    color: var(--font-light);
    font-weight: bold;
    display: flex;
    flex-flow: row nowrap;
    align-content: center;
    align-items: center;
    padding-left: 10px;
    padding-right: 10px;
}

.login-message:not(.is-error) {
    background-color: var(--info-background);
    color: var(--font-dark);
    padding-top: 5px;
    padding-bottom: 5px;
}

.login-row {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    margin-top: 10px;

    /* for folding label*/
    position: relative;
    align-content: center;
    align-items: center;
    overflow: hidden;
}

@media (min-width: 1024px) {
    .login-row {
        flex-flow: row nowrap;
        justify-content: space-between;
        align-content: center;
        align-items: center;
    }
}

.login-row label {
    margin-bottom: 5px;

    /* for folding label */
    transition: background 0.2s, color 0.2s, top 0.2s, bottom 0.2s, right 0.2s, left 0.2s;
    position: absolute;
    color: #999999;
    padding: 7px 6px;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    order: 2;
}

@media (min-width: 1024px) {
    .login-row label {
        margin-bottom: 0;

        /* for folding label */
        width: 140px;
        transition: none;
        position: relative;
        padding: 0;
        color: #000000;
        order: 1;
    }
}

.login-row input {
    height: 40px;
    border: 1px solid var(--border-color-light);
    border-radius: var(--border-radius);
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;

    /* for folding label */
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    outline: 0;
    order: 1;
    background: none;
}

@media (min-width: 1024px) {
    .login-row input {
        width: calc(100% - 140px);

        /* for folding label */
        order: 2;
    }
}

/* for folding label */
.login-row input:focus + label,
.login-row input.has-input + label {
    /*background: gray;*/
    background: var(--theme-dark);
    color: #ffffff;
    font-size: 70%;
    padding: 1px 6px;
    z-index: 2;
    text-transform: uppercase;
    top: 100%;
    margin-bottom: 0;
    margin-top: -16px;
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}

@media (min-width: 1024px) {
    .login-row input:focus + label,
    .login-row input.has-input + label {
        background: transparent;
        font-size: 100%;
        padding: 0;
        text-transform: none;
        top: auto;
        color: #000000;
        margin-top: 0;
        border-radius: 0;
    }
}

.login-row input:focus,
.login-row input.has-input {
    padding: 4px 6px 20px 6px;
}

@media (min-width: 1024px) {
    .login-row input:focus,
    .login-row input.has-input {
        padding: 0 10px;
    }
}
/* end of folding label */

.login-buttons {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    margin-top: 10px;
    margin-bottom: 20px;
}

@media (min-width: 1024px) {
    .login-buttons {
        margin-top: 20px;
    }
}

.login-buttons button {
    width: calc((100% - 20px) / 2);
    max-width: 200px;
    height: 40px;
    border: 0;
    border-radius: var(--border-radius);
    cursor: pointer;
    background-color: var(--button-color-light);
    color: var(--button-font-dark);
    padding: 0;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    font-size: 17px;
    font-weight: bold;
}

.login-buttons button.perform-login {
    background-color: var(--button-color);
    color: var(--button-font-light);
}

.login-buttons button:disabled {
    opacity: var(--disabled-opacity);
}

/* FORGOT PASSWORD BUTTONS */
.login-control.forgotpassword-mode .login-buttons {
    flex-flow: row wrap;
    justify-content: space-between;
}

.login-control.forgotpassword-mode .login-buttons .perform-login {
    width: 100%;
    max-width: none;
}

@media (min-width: 1024px) {
    .login-control.forgotpassword-mode .login-buttons .perform-login {
        width: calc((100% -20px) / 2);
        max-width: 200px;
    }
}

.perform-login.backtologin-button {
    order: 2;
}

@media (min-width: 1024px) {
    .perform-login.backtologin-button {
        order: 1;
    }
}

.perform-login.requestnewpassword-button {
    order: 1;
    margin-bottom: 10px;
}

@media (min-width: 1024px) {
    .perform-login.requestnewpassword-button {
        order: 2;
        margin-bottom: 0;
    }
}

.login-buttons .perform-login.backtologin-button {
    background-color: transparent;
    border: 1px solid var(--button-color);
    color: var(--button-color);
}

.perform-login.backtologin-button > span {
    margin-left: 10px;
}

.perform-login.backtologin-button svg {
    transform: rotate(180deg);
    width: 16px;
    height: 16px;
    /*margin-right: 10px;*/
}

.perform-login.backtologin-button svg path {
    fill: var(--button-color);
}

.forgot-password-row {
    width: 100%;
    height: 40px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-content: center;
    align-items: center;
}

.forgot-password-button {
    background-color: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    text-decoration: underline;
    color: var(--button-font-dark);
    cursor: pointer;
}