/* Nunito — local fonts from /assets/fonts/nunito */

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/Nunito-VariableFont_wght.ttf') format('truetype');
    font-weight: 200 1000;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/Nunito-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 200 1000;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/static/Nunito-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/static/Nunito-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/static/Nunito-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/static/Nunito-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/static/Nunito-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

:root {
    --font-family-base: 'Nunito', sans-serif;
    --bs-font-sans-serif: 'Nunito', sans-serif;
    --bs-body-font-family: 'Nunito', sans-serif;
}

body {
    font-family: 'Nunito', sans-serif;
}

.auth-brand-title {
    font-family: 'Nunito', sans-serif;
    font-size: 1.625rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.auth-brand-mark {
    width: 3rem;
    height: 3rem;
}

/* Auth form validation */
.auth-form .auth-form-alert {
    border-left: 3px solid var(--danger, #dc3545);
    background-color: rgba(220, 53, 69, 0.08);
    border-radius: 0.5rem;
}

.auth-form .auth-form-alert-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background-color: var(--danger, #dc3545);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}

.auth-form .auth-field-error {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--danger, #dc3545);
}

.auth-form .auth-field.auth-field-invalid .form-label {
    color: var(--danger, #dc3545);
}

.auth-form .auth-field.auth-field-invalid > .form-control,
.auth-form .auth-field.auth-field-invalid .form-control.is-invalid {
    border-color: var(--danger, #dc3545) !important;
    background-color: rgba(220, 53, 69, 0.04);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.12);
}

.auth-form .auth-field.auth-field-invalid .input-group-flat,
.auth-form .auth-field.auth-field-invalid .pass-group {
    border-radius: 0.375rem;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.12);
}

.auth-form .auth-field.auth-field-invalid .input-group-flat .form-control,
.auth-form .auth-field.auth-field-invalid .pass-group .form-control,
.auth-form .auth-field.auth-field-invalid .input-group-flat .input-group-text,
.auth-form .auth-field.auth-field-invalid .pass-group .input-group-text {
    border-color: var(--danger, #dc3545) !important;
    background-color: rgba(220, 53, 69, 0.04);
}
