snappymail/dev/Styles/Login.less

180 lines
2.9 KiB
Plaintext
Raw Normal View History

#V-Login, #V-AdminLogin {
2021-04-30 22:39:27 +08:00
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 100%;
min-width: 250px;
max-width: 600px;
transition: all 0.3s ease-out;
2021-04-30 22:39:27 +08:00
z-index: 5;
}
2021-04-22 19:37:43 +08:00
@glass-color: #fff;
@glass-error-color: #f76260;
@glass-m-color: rgba(255, 255, 255, .8);
2021-02-06 03:48:36 +08:00
.LoginView {
2021-04-22 19:37:43 +08:00
.descWrapper {
color: var(--loading-color, #000);
font-size: 30px;
margin-bottom: 10px;
text-align: center;
text-shadow: var(--loading-text-shadow);
}
2021-04-30 22:39:27 +08:00
form {
2021-04-22 19:37:43 +08:00
background-color: var(--login-bg-color, rgba(0, 0, 0, .5));
border: var(--login-border, 1px solid rgba(255, 255, 255, .2));
border-radius: var(--login-border-radius, 7px);
box-shadow: var(--login-box-shadow);
color: var(--login-color, @glass-m-color);
margin: 0;
2021-04-30 22:39:27 +08:00
padding: 40px 40px 20px 40px;
position: relative;
2021-04-22 19:37:43 +08:00
* {
2021-02-06 03:48:36 +08:00
color: var(--login-color, @glass-m-color);
}
.controls.error * {
color: @glass-error-color;
border-color: @glass-error-color;
2021-04-22 19:37:43 +08:00
}
2021-04-30 22:39:27 +08:00
&.submitting > * {
opacity: 0.3;
}
2021-02-06 03:48:36 +08:00
2021-04-30 22:39:27 +08:00
&.submitting::after{
content: '';
position: absolute;
width: 60px;
height: 60px;
top: 50%;
left: 50%;
margin-top: -30px;
margin-left: -30px;
border: 8px solid transparent;
border-top-color: var(--spinner-color, #fff);
animation: loginRotation 1s infinite ease-in-out;
border-radius: 50%;
z-index: 1052;
}
2021-04-22 19:37:43 +08:00
}
2021-02-06 03:48:36 +08:00
.controls, .control-group {
margin-bottom: 25px;
position: relative;
}
2021-04-22 19:37:43 +08:00
input {
font-size: 18px;
height: 40px;
padding-right: 30px;
&:placeholder {
2021-04-22 19:37:43 +08:00
color: @glass-color;
}
2021-02-06 03:48:36 +08:00
&:focus, &:hover {
border-color: @glass-color;
}
}
input, .btn {
2022-08-31 22:19:16 +08:00
background: none;
border: 1px solid @glass-m-color;
2021-04-22 19:37:43 +08:00
}
.fontastic + input {
padding-left: 30px;
2021-04-22 19:37:43 +08:00
}
.controls > .fontastic:first-child {
2021-04-22 19:37:43 +08:00
position: absolute;
font-size: 17px;
line-height: 38px;
left: 6px;
2021-04-22 19:37:43 +08:00
}
.btn {
text-transform: uppercase;
font-size: 13px;
&:hover, &:active {
border-color: @glass-color;
}
}
.buttonLogin {
margin: 0;
}
.alert {
position: absolute;
left: 0;
right: 0;
z-index: 1;
display: block;
opacity: 1;
transition: opacity 0.5s linear;
2022-04-29 05:10:21 +08:00
p {
font-family: var(--fontMono);
font-size: 90%;
}
}
.alert[hidden] {
opacity: 0;
}
.language-buttons {
flex-grow: 1;
text-align: right;
}
2020-09-25 23:42:40 +08:00
.language-button {
padding: 5px;
text-decoration: none;
}
.errorAnimated {
animation: login-form-shake 400ms ease-in-out;
}
.errorAnimated .buttonLogin {
color: #b94a48;
font-weight: bold;
}
}
2016-06-23 06:26:54 +08:00
@media screen and (max-width: 480px) {
.LoginView {
2021-04-30 22:39:27 +08:00
form {
padding: 30px 4vw 10px;
}
}
}
2016-06-23 06:26:54 +08:00
@keyframes loginRotation {
to {transform: rotate(1turn);}
}
@keyframes login-form-shake {
0% {transform: translateX(0);}
12.5% {transform: translateX(-6px)}
37.5% {transform: translateX(5px)}
62.5% {transform: translateX(-3px)}
87.5% {transform: translateX(2px)}
100% {transform: translateX(0)}
}
html.rl-started-trigger .LoginView {
opacity: 0.5;
}