Refine 'drill-luxe' Keycloak theme with responsive design and style adjustments

- Updated CSS styles for improved responsiveness and visual consistency across the login interface.
- Introduced clamp functions for padding and gap properties to enhance adaptability on various screen sizes.
- Adjusted dimensions and spacing for various elements to improve layout integrity and user experience.
- Added media queries for better handling of smaller screen heights, ensuring a more user-friendly interface.
This commit is contained in:
Первов Артем
2026-04-08 12:30:51 +03:00
parent 8c8ff80383
commit 9333eb327c

View File

@@ -22,6 +22,7 @@
body.drill-login { body.drill-login {
margin: 0; margin: 0;
min-height: 100vh; min-height: 100vh;
min-height: 100dvh;
font-family: font-family:
"Georgia", "Georgia",
"Inter Variable", "Inter Variable",
@@ -42,11 +43,12 @@ body.drill-login {
.drill-login__shell { .drill-login__shell {
min-height: 100vh; min-height: 100vh;
min-height: 100dvh;
display: grid; display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(390px, 520px); grid-template-columns: minmax(0, 1.2fr) minmax(390px, 520px);
gap: 30px; gap: clamp(18px, 2vw, 30px);
align-items: stretch; align-items: stretch;
padding: 30px; padding: clamp(16px, 2.4vh, 30px) clamp(16px, 2vw, 30px);
} }
.drill-login__brand, .drill-login__brand,
@@ -64,11 +66,11 @@ body.drill-login {
} }
.drill-login__brand { .drill-login__brand {
padding: 50px; padding: clamp(28px, 3.8vh, 50px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
gap: 32px; gap: clamp(18px, 2.2vh, 32px);
} }
.drill-login__brand::before, .drill-login__brand::before,
@@ -86,8 +88,8 @@ body.drill-login {
content: ""; content: "";
position: absolute; position: absolute;
inset: auto -10% -16% auto; inset: auto -10% -16% auto;
width: 380px; width: 320px;
height: 380px; height: 320px;
border-radius: 50%; border-radius: 50%;
background: background:
radial-gradient(circle, rgba(185, 106, 51, 0.18) 0%, rgba(185, 106, 51, 0.04) 42%, transparent 70%); radial-gradient(circle, rgba(185, 106, 51, 0.18) 0%, rgba(185, 106, 51, 0.04) 42%, transparent 70%);
@@ -143,22 +145,22 @@ body.drill-login {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
gap: 18px; gap: 14px;
} }
.drill-login__brand-mark { .drill-login__brand-mark {
width: 78px; width: 70px;
height: 78px; height: 70px;
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
border-radius: 26px; border-radius: 24px;
background: background:
linear-gradient(145deg, rgba(185, 106, 51, 0.24), rgba(239, 214, 180, 0.1)), linear-gradient(145deg, rgba(185, 106, 51, 0.24), rgba(239, 214, 180, 0.1)),
rgba(255, 255, 255, 0.02); rgba(255, 255, 255, 0.02);
border: 1px solid rgba(210, 161, 112, 0.3); border: 1px solid rgba(210, 161, 112, 0.3);
color: var(--drill-accent-quaternary); color: var(--drill-accent-quaternary);
font-size: 2rem; font-size: 1.8rem;
font-weight: 700; font-weight: 700;
letter-spacing: 0.1em; letter-spacing: 0.1em;
box-shadow: box-shadow:
@@ -183,7 +185,7 @@ body.drill-login {
right: 14px; right: 14px;
top: 16px; top: 16px;
width: 8px; width: 8px;
height: 46px; height: 40px;
border-radius: 999px; border-radius: 999px;
background: linear-gradient(180deg, rgba(255, 241, 223, 0.88), rgba(210, 161, 112, 0.25)); background: linear-gradient(180deg, rgba(255, 241, 223, 0.88), rgba(210, 161, 112, 0.25));
box-shadow: 0 0 18px rgba(239, 214, 180, 0.24); box-shadow: 0 0 18px rgba(239, 214, 180, 0.24);
@@ -200,13 +202,13 @@ body.drill-login {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
min-height: 44px; min-height: 40px;
padding: 11px 18px; padding: 9px 16px;
border-radius: 999px; border-radius: 999px;
border: 1px solid rgba(210, 161, 112, 0.18); border: 1px solid rgba(210, 161, 112, 0.18);
background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025)); background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
color: var(--drill-accent-tertiary); color: var(--drill-accent-tertiary);
font-size: 0.76rem; font-size: 0.72rem;
letter-spacing: 0.18em; letter-spacing: 0.18em;
text-transform: uppercase; text-transform: uppercase;
white-space: nowrap; white-space: nowrap;
@@ -225,7 +227,7 @@ body.drill-login {
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.28em; letter-spacing: 0.28em;
font-size: 0.74rem; font-size: 0.74rem;
margin-bottom: 20px; margin-bottom: 14px;
} }
.drill-login__brand h1, .drill-login__brand h1,
@@ -239,8 +241,8 @@ body.drill-login {
.drill-login__brand h1 { .drill-login__brand h1 {
max-width: 760px; max-width: 760px;
font-family: Georgia, "Times New Roman", serif; font-family: Georgia, "Times New Roman", serif;
font-size: clamp(3.1rem, 6vw, 6rem); font-size: clamp(2.5rem, 4.8vw, 5.1rem);
line-height: 0.95; line-height: 0.92;
text-wrap: balance; text-wrap: balance;
} }
@@ -248,24 +250,24 @@ body.drill-login {
.drill-login__panel p, .drill-login__panel p,
.drill-login__feature-grid p { .drill-login__feature-grid p {
color: var(--drill-text-secondary); color: var(--drill-text-secondary);
line-height: 1.72; line-height: 1.55;
font-family: font-family:
"Inter Variable", "Inter Variable",
"Inter", "Inter",
"Segoe UI", "Segoe UI",
sans-serif; sans-serif;
font-size: 1.02rem; font-size: 0.95rem;
} }
.drill-login__metrics { .drill-login__metrics {
display: grid; display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px; gap: 14px;
} }
.drill-login__metrics div { .drill-login__metrics div {
position: relative; position: relative;
padding: 20px 22px; padding: 16px 18px;
border-radius: 26px; border-radius: 26px;
background: background:
linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.02)), linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.02)),
@@ -299,10 +301,10 @@ body.drill-login {
.drill-login__metrics strong { .drill-login__metrics strong {
display: block; display: block;
margin: 8px 0 10px; margin: 6px 0 8px;
color: var(--drill-accent-tertiary); color: var(--drill-accent-tertiary);
font-family: Georgia, "Times New Roman", serif; font-family: Georgia, "Times New Roman", serif;
font-size: 1.2rem; font-size: 1.08rem;
font-weight: 600; font-weight: 600;
letter-spacing: 0.03em; letter-spacing: 0.03em;
} }
@@ -310,24 +312,24 @@ body.drill-login {
.drill-login__metrics span { .drill-login__metrics span {
display: block; display: block;
color: var(--drill-text-secondary); color: var(--drill-text-secondary);
line-height: 1.55; line-height: 1.42;
font-family: font-family:
"Inter Variable", "Inter Variable",
"Inter", "Inter",
"Segoe UI", "Segoe UI",
sans-serif; sans-serif;
font-size: 0.95rem; font-size: 0.88rem;
} }
.drill-login__feature-grid { .drill-login__feature-grid {
display: grid; display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px; gap: 14px;
} }
.drill-login__feature-grid article { .drill-login__feature-grid article {
position: relative; position: relative;
padding: 22px; padding: 18px;
border-radius: 26px; border-radius: 26px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0.015)); background: linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0.015));
border: 1px solid rgba(210, 161, 112, 0.12); border: 1px solid rgba(210, 161, 112, 0.12);
@@ -357,22 +359,22 @@ body.drill-login {
display: inline-block; display: inline-block;
color: var(--drill-accent-secondary); color: var(--drill-accent-secondary);
font-size: 0.8rem; font-size: 0.8rem;
margin-bottom: 10px; margin-bottom: 8px;
} }
.drill-login__feature-grid strong { .drill-login__feature-grid strong {
display: block; display: block;
margin-bottom: 10px; margin-bottom: 8px;
font-family: font-family:
"Inter Variable", "Inter Variable",
"Inter", "Inter",
"Segoe UI", "Segoe UI",
sans-serif; sans-serif;
font-size: 1rem; font-size: 0.94rem;
} }
.drill-login__panel { .drill-login__panel {
padding: 38px 36px; padding: clamp(24px, 3.2vh, 38px) clamp(24px, 2vw, 36px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
@@ -384,8 +386,8 @@ body.drill-login {
.drill-login__panel-glow { .drill-login__panel-glow {
inset: -20% auto auto -30%; inset: -20% auto auto -30%;
width: 240px; width: 200px;
height: 240px; height: 200px;
border-radius: 50%; border-radius: 50%;
background: radial-gradient(circle, rgba(239, 214, 180, 0.12), transparent 68%); background: radial-gradient(circle, rgba(239, 214, 180, 0.12), transparent 68%);
filter: blur(10px); filter: blur(10px);
@@ -393,19 +395,19 @@ body.drill-login {
} }
.drill-login__panel-head { .drill-login__panel-head {
margin-bottom: 28px; margin-bottom: 22px;
} }
.drill-login__panel h2 { .drill-login__panel h2 {
font-family: Georgia, "Times New Roman", serif; font-family: Georgia, "Times New Roman", serif;
font-size: clamp(2.15rem, 4vw, 3.2rem); font-size: clamp(1.9rem, 3.2vw, 2.8rem);
margin-bottom: 14px; margin-bottom: 10px;
line-height: 0.98; line-height: 0.98;
} }
.drill-login__alert { .drill-login__alert {
margin-bottom: 18px; margin-bottom: 14px;
padding: 15px 16px; padding: 13px 14px;
border-radius: 20px; border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.04); background: rgba(255, 255, 255, 0.04);
@@ -431,13 +433,13 @@ body.drill-login {
.drill-login__form { .drill-login__form {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 18px; gap: 14px;
} }
.drill-login__field { .drill-login__field {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 8px; gap: 6px;
} }
.drill-login__field-row { .drill-login__field-row {
@@ -477,9 +479,9 @@ body.drill-login {
linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.025)), linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.025)),
rgba(255, 255, 255, 0.02); rgba(255, 255, 255, 0.02);
color: var(--drill-text-primary); color: var(--drill-text-primary);
padding: 17px 18px; padding: 14px 16px;
font: font:
500 0.98rem/1.3 "Inter Variable", 500 0.95rem/1.25 "Inter Variable",
"Inter", "Inter",
"Segoe UI", "Segoe UI",
sans-serif; sans-serif;
@@ -508,10 +510,10 @@ body.drill-login {
} }
.drill-login__submit { .drill-login__submit {
margin-top: 8px; margin-top: 4px;
border: none; border: none;
border-radius: 22px; border-radius: 22px;
padding: 17px 20px; padding: 15px 18px;
font: font:
700 0.96rem/1.2 "Inter Variable", 700 0.96rem/1.2 "Inter Variable",
"Inter", "Inter",
@@ -545,7 +547,7 @@ body.drill-login {
} }
.drill-login__footer { .drill-login__footer {
margin-top: 22px; margin-top: 16px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
gap: 12px; gap: 12px;
@@ -559,6 +561,110 @@ body.drill-login {
sans-serif; sans-serif;
} }
@media (max-height: 900px) {
.drill-login__shell {
gap: 16px;
padding: 16px;
}
.drill-login__brand,
.drill-login__panel {
border-radius: 28px;
}
.drill-login__brand {
padding: 24px;
gap: 14px;
}
.drill-login__brand-orbit--one {
width: 180px;
height: 180px;
top: -72px;
}
.drill-login__brand-orbit--two {
width: 320px;
height: 320px;
bottom: -180px;
left: -96px;
}
.drill-login__brand h1 {
font-size: clamp(2rem, 3.8vw, 3.8rem);
}
.drill-login__brand p,
.drill-login__panel p,
.drill-login__feature-grid p {
font-size: 0.88rem;
line-height: 1.45;
}
.drill-login__metrics div,
.drill-login__feature-grid article {
padding: 14px;
}
.drill-login__metrics strong {
font-size: 1rem;
}
.drill-login__metrics span {
font-size: 0.82rem;
}
.drill-login__feature-grid strong {
font-size: 0.9rem;
}
.drill-login__panel {
padding: 22px;
}
.drill-login__panel h2 {
font-size: clamp(1.7rem, 2.8vw, 2.3rem);
}
.drill-login__field input {
padding: 13px 15px;
}
.drill-login__submit {
padding: 14px 16px;
}
}
@media (max-height: 760px) {
.drill-login__brand-copy p {
display: none;
}
.drill-login__feature-grid article p {
display: none;
}
.drill-login__metrics,
.drill-login__feature-grid {
gap: 10px;
}
.drill-login__metrics div,
.drill-login__feature-grid article {
padding: 12px;
border-radius: 20px;
}
.drill-login__eyebrow {
margin-bottom: 10px;
}
.drill-login__footer {
margin-top: 12px;
font-size: 0.76rem;
}
}
.drill-login__footer a { .drill-login__footer a {
color: var(--drill-accent-secondary); color: var(--drill-accent-secondary);
text-decoration: none; text-decoration: none;