mirror of https://github.com/glanceapp/glance.git
156 lines
3.1 KiB
CSS
156 lines
3.1 KiB
CSS
.login-bounds {
|
|
max-width: 500px;
|
|
padding: 0 2rem;
|
|
}
|
|
|
|
.form-label {
|
|
text-transform: uppercase;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.form-input {
|
|
transition: border-color .2s;
|
|
}
|
|
|
|
.form-input input {
|
|
border: 0;
|
|
background: none;
|
|
width: 100%;
|
|
height: 5.2rem;
|
|
font: inherit;
|
|
outline: none;
|
|
color: var(--color-text-highlight);
|
|
}
|
|
|
|
.form-input-icon {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
margin-top: -0.1rem;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.form-input input[type="password"] {
|
|
letter-spacing: 0.3rem;
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.form-input input[type="password"]::placeholder {
|
|
letter-spacing: 0;
|
|
font-size: var(--font-size-base);
|
|
}
|
|
|
|
.form-input:hover {
|
|
border-color: var(--color-progress-border);
|
|
}
|
|
|
|
.form-input:focus-within {
|
|
border-color: var(--color-primary);
|
|
transition-duration: .7s;
|
|
}
|
|
|
|
.login-button {
|
|
width: 100%;
|
|
display: block;
|
|
padding: 1rem;
|
|
background: none;
|
|
border: 1px solid var(--color-text-subdue);
|
|
border-radius: var(--border-radius);
|
|
color: var(--color-text-paragraph);
|
|
cursor: pointer;
|
|
font: inherit;
|
|
font-size: var(--font-size-h4);
|
|
display: flex;
|
|
gap: .5rem;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: all .3s, margin-top 0s;
|
|
margin-top: 3rem;
|
|
}
|
|
|
|
.login-button:not(:disabled) {
|
|
box-shadow: 0 0 10px 1px var(--color-separator);
|
|
}
|
|
|
|
.login-error-message:not(:empty) + .login-button {
|
|
margin-top: 2rem;
|
|
}
|
|
|
|
.login-button:focus, .login-button:hover {
|
|
outline: none;
|
|
border-color: var(--color-primary);
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
.login-button:disabled {
|
|
border-color: var(--color-separator);
|
|
color: var(--color-text-subdue);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.login-button svg {
|
|
width: 1.7rem;
|
|
height: 1.7rem;
|
|
transition: transform .2s;
|
|
}
|
|
|
|
.login-button:not(:disabled):hover svg, .login-button:not(:disabled):focus svg {
|
|
transform: translateX(.5rem);
|
|
}
|
|
|
|
.animate-entrance {
|
|
animation: fieldReveal 0.7s backwards;
|
|
animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
|
|
}
|
|
|
|
.animate-entrance:nth-child(1) { animation-delay: .1s; }
|
|
.animate-entrance:nth-child(2) { animation-delay: .2s; }
|
|
.animate-entrance:nth-child(4) { animation-delay: .3s; }
|
|
|
|
@keyframes fieldReveal {
|
|
from {
|
|
opacity: 0.0001;
|
|
transform: translateY(4rem);
|
|
}
|
|
}
|
|
|
|
.login-error-message {
|
|
color: var(--color-negative);
|
|
font-size: var(--font-size-base);
|
|
padding: 1.3rem calc(var(--widget-content-horizontal-padding) + 1px);
|
|
position: relative;
|
|
margin-top: 2rem;
|
|
animation: errorMessageEntrance 0.4s backwards cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
}
|
|
|
|
@keyframes errorMessageEntrance {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(1.1);
|
|
}
|
|
}
|
|
|
|
.login-error-message:empty {
|
|
display: none;
|
|
}
|
|
|
|
.login-error-message::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
border-radius: var(--border-radius);
|
|
background: var(--color-negative);
|
|
opacity: 0.05;
|
|
z-index: -1;
|
|
}
|
|
|
|
.footer {
|
|
animation-delay: .4s;
|
|
animation-duration: 1s;
|
|
}
|
|
|
|
.toggle-password-visibility {
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
}
|