for-legacy-web/src/pages/login/Login.module.scss

331 lines
7.2 KiB
SCSS

// Pure CSS hand wave - by https://jarv.is/notes/css-waving-hand-emoji/
@keyframes wave-animation {
0% {
transform: rotate(0deg);
}
10% {
transform: rotate(14deg);
} /* The following five values can be played with to make the waving more or less extreme */
20% {
transform: rotate(-8deg);
}
30% {
transform: rotate(14deg);
}
40% {
transform: rotate(-4deg);
}
50% {
transform: rotate(10deg);
}
60% {
transform: rotate(0deg);
} /* Reset for the last half to pause */
100% {
transform: rotate(0deg);
}
}
/*@keyframes shrink {
0% {
background-size: 140% 140%;
}
10% {
background-size: 150% 150%;
}
100% {
background-size: 100% 100%;
}
}*/
.login {
width: 100%;
height: 100%;
padding: 40px 35px;
display: flex;
user-select: none;
background: url("/src/pages/login/background.jpg");
background-position: center;
background-repeat: no-repeat;
background-size: cover;
/*animation: shrink 5s normal forwards;*/
.nav {
display: flex;
align-items: center;
.logo {
flex-grow: 1;
> img {
height: 24px;
}
}
}
.content {
display: flex;
flex-direction: column;
justify-content: space-between;
flex-grow: 1;
}
select {
max-width: 180px;
padding: 4px;
height: fit-content;
background-color: rgba(36, 36, 36, 0.75);
border: 2px solid rgba(128, 128, 128, 0.15);
backdrop-filter: blur(20px);
font-size: 13px;
}
.middle {
display: flex;
gap: 50px;
.loginQR {
background-color: rgba(36, 36, 36, 0.75);
border: 2px solid rgba(128, 128, 128, 0.15);
border-radius: 8px;
width: 330px;
}
}
.form {
background-color: rgba(36, 36, 36, 0.75);
border: 2px solid rgba(128, 128, 128, 0.15);
backdrop-filter: blur(20px);
max-width: 360px;
max-height: 600px;
padding: 30px 25px;
border-radius: 8px;
margin-inline-start: 50px;
margin-top: 20px;
margin-bottom: 20px;
box-shadow: 0 2px 10px 0 rgb(0 0 0 / 20%);
.captcha {
display: flex;
flex-direction: column;
gap: 10px;
font-size: 13px;
.title {
font-size: 20px;
font-weight: 600;
margin-bottom: 10px;
}
.checkbox {
display: flex;
align-items: center;
justify-content: center;
}
a {
cursor: pointer;
color: var(--accent);
}
}
.formModal {
display: flex;
flex-direction: column;
gap: 10px;
> span {
font-size: 13px;
word-break: keep-all;
a {
color: var(--accent);
white-space: nowrap;
}
}
.welcome {
font-size: 20px;
font-weight: 600;
margin-bottom: 10px;
.title {
display: flex;
align-items: center;
gap: 4px;
img {
animation-name: wave-animation;
animation-duration: 2.5s;
animation-iteration-count: 1;
transform-origin: 70% 70%;
height: 28px;
}
}
}
.subtitle {
display: flex;
align-items: center;
gap: 6px;
font-weight: 400;
font-size: 14px;
> div {
display: none;
margin-top: 1px;
font-size: 11px;
color: var(--secondary-foreground);
}
}
form {
display: flex;
flex-direction: column;
gap: 10px;
> div {
margin: 0;
margin-bottom: -4px;
font-size: 12px;
color: var(--secondary-foreground);
}
input {
background: var(--secondary-background);
/*border: 2px solid rgba(128, 128, 128, 0.15);*/
}
button {
padding: 8px;
background: var(--secondary-background);
margin-bottom: 15px;
}
}
}
}
a {
color: white;
&:hover {
text-decoration: underline;
}
}
.bottom {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
.links {
display: flex;
align-items: center;
gap: 15px;
.socials {
display: flex;
gap: 10px;
a {
transition: opacity 0.2s ease-in-out;
&:hover {
opacity: 0.7;
}
&:active {
opacity: 0.5;
}
}
}
.bullet {
height: 5px;
width: 5px;
background: grey;
border-radius: 50%;
}
.revolt {
display: flex;
gap: 10px;
a {
color: white !important;
}
}
}
}
}
.success {
display: flex;
flex-direction: column;
gap: 10px;
.title {
font-size: 20px;
font-weight: 600;
}
.subtitle {
font-weight: 400;
font-size: 14px;
margin-bottom: 10px;
}
button {
width: 100%;
background: var(--secondary-background);
margin-bottom: 8px;
}
a {
font-size: 13px;
color: var(--accent);
}
}
@media only screen and (max-width: 768px) {
.login {
padding: 30px 20px;
background-image: unset;
background-color: var(--primary-background);
.content {
.nav {
.logo {
img {
height: 24px;
}
}
}
.bottom {
flex-direction: column;
.links {
flex-direction: column;
gap: 10px;
}
.bullet,
.attribution {
display: none;
}
}
}
.form {
border: unset;
margin-inline-start: 0;
padding: 0;
max-width: unset;
box-shadow: unset;
}
.loginQR {
display: none;
}
}
}