331 lines
7.2 KiB
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;
|
|
}
|
|
}
|
|
}
|