﻿html {
    --min-offset: 5px;
    --double-offset: 10px;
    --tripple-offset: 15px;
    --min-line-height: 20px;
    --input-border-radius: 3px;
    --icon-size: 15px;
    --modal-width: 400px;
    --logo-height: 40px;
}

@font-face {
    font-family: 'LatoWeb';
    src: url('../../assets/fonts/Lato-Regular.eot'),
    url('../../assets/fonts/Lato-Regular.woff2') format('woff2');
    font-style: normal;
    font-weight: normal;
}

@font-face {
    font-family: 'Roboto';
    src: url('../../assets/fonts/Roboto.woff') format('woff'),
    url('../../assets/fonts/Roboto.woff2') format('woff2'),
    url('../../assets/fonts/Roboto.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
}

@font-face {
    font-family: 'LatoWebLight';
    src: url('../../assets/fonts/Lato-Light.eot');
    src: url('../../assets/fonts/Lato-Light.eot?#iefix') format('embedded-opentype'),
    url('../../assets/fonts/Lato-Light.woff2') format('woff2'),
    url('../../assets/fonts/Lato-Light.woff') format('woff'),
    url('../../assets/fonts/Lato-Light.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
}

* {
    margin: 0;
}

.body-frame {
    height: 100vh;
    width: 100vw;
    overflow-x: hidden;
    background: var(--background);
    color: var(--body-font-color);
}

.particles-js-canvas-el {
    position: absolute;
    top: 0;
    z-index: -1;
    background: linear-gradient(to bottom right, rgb(from var(--b50) r g b / 0%), rgb(from var(--gradient-color) r g b / 50%));
}

.logo {
    max-height: var(--logo-height);
    margin: var(--double-offset);
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
}

.auth-background-container {
    height: 100%;
    overflow: auto;
}

.auth-form-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.auth-form {
    background: var(--background-form);
    width: var(--modal-width);
    padding: calc(var(--min-offset) * 5);
    box-shadow: 0 16px 16px #0C0C0D1A, 0 4px 4px #0C0C0D0D;
    border-radius: var(--double-offset);
    box-sizing: border-box;
}

h2 {
    font-family: "Roboto", sans-serif;
    font-size: 1.25rem;
    margin-bottom: calc(var(--double-offset) * 2);
}

.forms {
    display: flex;
    flex-direction: column;
    gap: var(--tripple-offset);
}

button, input, p {
    font-family: "LatoWeb", "Roboto", sans-serif;
}

.i-input-group {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 3px;
    margin-bottom: calc(var(--double-offset) * 2);
}

.i-input-group label {
    font-family: "LatoWebLight", "LatoWeb", "Roboto", sans-serif;
    font-style: normal;
    font-size: var(--normal-font-size);
    font-size: .875rem;
}

.i-input-group .i-input {
    flex: 0 1 100%;
    height: var(--min-line-height);
    min-height: var(--min-line-height);
    border-style: none;
    padding: 0;
    background: var(--input-background-color);
    border-bottom: solid 1px var(--body-font-color);
    box-sizing: border-box;
    color: var(--body-font-color);
    outline: none;
    border-radius: 0 0 var(--input-border-radius) var(--input-border-radius);
    font-size: 1rem;
}

.i-input:hover {
    background: var(--input-background-hover);
    color: var(--input-font-hover);
}

.i-input:focus {
    border-color: var(--b600);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:active,
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 10px var(--background-form) inset;
    -webkit-text-fill-color: var(--body-font-color);
}

.i-input-group .password-container {
    display: flex;
    flex-direction: row;
    gap: var(--double-offset);
    align-items: end;
    height: var(--min-line-height);
}

.button.show-password {
    width: calc(var(--icon-size) + var(--double-offset));
    padding: var(--min-offset);
    line-height: var(--icon-size);
    height: calc(var(--icon-size) + var(--double-offset));
}

svg {
    width: var(--icon-size);
    height: var(--icon-size);
    fill: currentColor;
    flex-shrink: 0;
}

.button.show-password:active .show {
    display: none;
}

.button.show-password:not(:active) .hide {
    display: none;
}

.button {
    border: none;
    width: 100%;
    line-height: 1.5rem;
    padding: var(--min-offset) var(--double-offset);
    background: var(--button-background-color);
    color: var(--button-font-color);
    font-size: .875rem;
    cursor: pointer;
    border-radius: var(--min-offset);
}

.button:hover {
    background: var(--button-background-hover);
}

.button:active {
    background: var(--button-background-active);
}

.button.primary {
    background: var(--button-background-color-primary);
    color: var(--button-font-color-primary);
}

.button.primary:hover {
    background: var(--button-background-hover-primary);
}

.button.primary:active {
    background: var(--button-background-active-primary);
}

.error-message {
    display: flex;
    flex-direction: row;
    gap: var(--double-offset);
    color: var(--a-negative);
    margin-bottom: calc(var(--double-offset)* 2);
}

.separator-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--double-offset);
    width: 100%;
}

.separator-container p {
    font-size: .875rem;
    flex-shrink: 0;
}

.separator {
    border: none;
    border-top: 1px solid var(--separator-color);
    width: 100%;
}

.error-container {
    display: flex;
    flex-direction: column;
    margin-bottom: calc(var(--double-offset) * 2);
}

.status-code {
    font-family: monospace;
    font-size: 6rem;
    color: var(--status-code-color);
    font-weight: 400;
}

.error-container h4 {
    font-family: "Roboto", sans-serif;
    width: 100%;
    margin-bottom: var(--min-offset);
}

p {
    text-align: justify;
}

@media (max-width: 440px) {
    .body-frame {
        background: var(--background-form);
    }

    .auth-form {
        border-radius: 0;
        box-shadow: none;
        background: transparent;
        width: 100vw;
    }

    .particles-js-canvas-el {
        display: none;
    }
}

@media (max-height: 700px) and (orientation: landscape) {
    .logo {
        left: 0;
        transform: translate(0);
    }

    .from-401 {
        height: auto;
    }

    .auth-form {
        margin: calc(var(--double-offset) * 2) 0;
    }
}