﻿/* Sign-in form */
.form-signin {
    width: 100%;
    max-width: 420px;
    padding: 15px;
    margin: auto;
}

@media only screen and (min-width: 768px) and (prefers-color-scheme: light) {
    html {
        background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 50%, #cbd5e1 100%) !important;
        background-attachment: fixed !important;
        min-height: 100vh !important;
    }
}

@media only screen and (min-width: 768px) and (prefers-color-scheme: dark) {
    html {
        background: linear-gradient(180deg, #0f172a 0%, #1e293b 50%, #334155 100%) !important;
        background-attachment: fixed !important;
        min-height: 100vh !important;
    }
}

/* Setup for the login-page */
@media only screen and (min-width: 768px) {
    body {
        background: none !important;
        color: var(--dark);
    }

    main.login-page,
    body main.login-page {
        margin-left: auto !important;
        margin-right: auto !important;
        border: none;
        min-height: unset;
    }

    body main.login-page {
        background: var(--body-bg-login);
        backdrop-filter: blur(5px);
    }

    main.login-page,
    body main.login-page {
        width: 600px;
        margin-top: 5rem;
        box-shadow: 0 5px 10px rgba(0, 0, 0, .25);
        border: 2px solid rgba(255, 255, 255, .25);
        border-radius: 15px;
    }

    main.login-page input,
    main.login-page .form-control:not([readonly]):not([disabled]):not(.is-invalid),
    main.login-page .form-control-color:not([readonly]):not([disabled]):not(.is-invalid) {
        box-shadow: none;
        color: var(--dark);
    }

    @media (prefers-color-scheme: light) {
        main.login-page input,
        main.login-page .form-control:not([readonly]):not([disabled]):not(.is-invalid),
        main.login-page .form-control-color:not([readonly]):not([disabled]):not(.is-invalid) {
            background: rgba(255, 255, 255, .25);
        }
    }
    @media (prefers-color-scheme: dark) {
        main.login-page input,
        main.login-page .form-control:not([readonly]):not([disabled]):not(.is-invalid),
        main.login-page .form-control-color:not([readonly]):not([disabled]):not(.is-invalid) {
            background: rgba(125, 125, 125, .25);
        }
    }

    main.login-page input:focus,
    main.login-page .form-control:not([readonly]):not([disabled]):not(.is-invalid):focus,
    main.login-page .form-control-color:not([readonly]):not([disabled]):not(.is-invalid):focus {
        border: 1px solid var(--primary);
    }

    main.login-page input,
    main.login-page .form-control:not([readonly]):not([disabled]):not(.is-invalid),
    main.login-page .form-control-color:not([readonly]):not([disabled]):not(.is-invalid) {
        border-radius: .5rem;
        padding-left: 1rem;
        border: none;
    }

    main.login-page input::placeholder {
        font-weight: 300;
        color: var(--input-placeholder);
    }

    main.login-page .form-label-group label {
        margin-bottom: 0;
        margin-left: 1rem;
        font-size: calc(var(--font-size-base) * .9);
    }

    main.login-page .btn {
        border-radius: .5rem;
    }

    main.login-page .checkbox {
        margin-top: 1rem;
        position: relative;
    }

    main.login-page .checkbox input {
        margin-left: 1rem !important;
    }

    main.login-page .checkbox input,
    main.login-page .checkbox .checkmark {
        margin-top: 0 !important;
    }

    main.login-page .checkbox input:not(:hover):not(:focus) ~ .checkmark {
        border: 2px solid var(--checkbox-border) !important;
    }

    main.login-page .checkbox input:hover ~ .checkmark,
    main.login-page .checkbox input:focus ~ .checkmark {
        border: 2px solid var(--gray) !important;
    }

    main.login-page .checkbox .lbl {
        left: 45px;
        top: 0;
        position: absolute;
    }

    main.login-page .mt-5.mb-3.text-muted {
        border-top: 1px solid rgba(255, 255, 255, .5);
        margin-top: 2rem !important;
        text-align: center;
    }
}

/* Mobile devices */
@media only screen and (max-width: 768px) {
    body, main {
        background: var(--light);
        color: var(--dark);
    }

    main.login-page input,
    main.login-page .form-control:not([readonly]):not([disabled]):not(.is-invalid),
    main.login-page .form-control-color:not([readonly]):not([disabled]):not(.is-invalid) {
        box-shadow: none;
        color: var(--dark);
    }

    @media (prefers-color-scheme: light) {
        main.login-page input,
        main.login-page .form-control:not([readonly]):not([disabled]):not(.is-invalid),
        main.login-page .form-control-color:not([readonly]):not([disabled]):not(.is-invalid) {
            background: rgba(255, 255, 255, .25);
        }
    }
    @media (prefers-color-scheme: dark) {
        main.login-page input,
        main.login-page .form-control:not([readonly]):not([disabled]):not(.is-invalid),
        main.login-page .form-control-color:not([readonly]):not([disabled]):not(.is-invalid) {
            background: rgba(125, 125, 125, .25);
        }
    }
}

/* Auto-hide non relevant labels */
.form-label-group {
    margin-top: .5rem;
}

.form-label-group label:not(.show) {
    display: none;
}