@vaadin/vaadin-lumo-styles
Version:
Lumo is a design system foundation for modern web applications, used by Vaadin components
190 lines (165 loc) • 4.67 kB
CSS
/**
* @license
* Copyright (c) 2017 - 2026 Vaadin Ltd.
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
*/
@media lumo_components_login-overlay-wrapper {
:host {
inset: 0;
font-family: var(--lumo-font-family);
font-size: var(--lumo-font-size-m);
line-height: var(--lumo-line-height-m);
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
[part='overlay'] {
outline: none;
background: none;
border-radius: 0;
box-shadow: none;
width: 100%;
height: 100%;
}
[part='card'] {
max-width: 100%;
box-sizing: border-box;
overflow: hidden;
display: flex;
flex-direction: column;
width: calc(var(--lumo-size-m) * 10);
background: var(--lumo-base-color) linear-gradient(var(--lumo-tint-5pct), var(--lumo-tint-5pct));
border-radius: var(--lumo-border-radius-l);
box-shadow: var(--lumo-box-shadow-s);
margin: var(--lumo-space-s);
height: auto;
}
[part='brand'] {
box-sizing: border-box;
overflow: hidden;
flex-grow: 1;
flex-shrink: 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: var(--lumo-space-l) var(--lumo-space-xl) var(--lumo-space-l) var(--lumo-space-l);
background-color: var(--lumo-primary-color);
color: var(--lumo-primary-contrast-color);
min-height: calc(var(--lumo-size-m) * 5);
}
::slotted([slot='title']) {
color: inherit;
margin: 0;
font-size: var(--lumo-font-size-xxxl);
font-weight: 600;
line-height: var(--lumo-line-height-xs);
}
[part='backdrop'] {
background: var(--lumo-base-color) linear-gradient(var(--lumo-shade-5pct), var(--lumo-shade-5pct));
}
[part='description'] {
line-height: var(--lumo-line-height-s);
color: var(--lumo-tint-70pct);
margin: 0.5em 0 0;
}
[part='content'] {
height: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
}
::slotted(vaadin-login-form-wrapper) {
min-height: 100%;
max-width: 100%;
}
/* Small screen */
@media only screen and (max-width: 500px) {
[part='overlay'],
[part='content'] {
height: 100%;
}
[part='content'] {
min-height: 100%;
background: var(--lumo-base-color);
align-items: flex-start;
}
[part='card'],
[part='overlay'] {
width: 100%;
border-radius: 0;
box-shadow: none;
margin: 0;
}
/* RTL styles */
:host([dir='rtl']) [part='brand'] {
padding: var(--lumo-space-l) var(--lumo-space-l) var(--lumo-space-l) var(--lumo-space-xl);
}
}
/* Landscape small screen */
@media only screen and (max-height: 600px) and (min-width: 600px) and (orientation: landscape) {
[part='card'] {
flex-direction: row;
align-items: stretch;
max-width: calc(var(--lumo-size-m) * 16);
width: 100%;
}
[part='brand'],
[part='form-wrapper'] {
flex: auto;
flex-basis: 0;
box-sizing: border-box;
}
[part='brand'] {
justify-content: flex-start;
}
[part='form-wrapper'] {
padding: var(--lumo-space-l);
overflow: auto;
}
::slotted(vaadin-login-form-wrapper) {
flex: 1;
padding: 2px;
}
}
/* Landscape really small screen */
@media only screen and (max-height: 500px) and (min-width: 600px) and (orientation: landscape),
only screen and (max-width: 600px) and (min-width: 600px) and (orientation: landscape) {
[part='content'] {
height: 100vh;
}
[part='card'] {
margin: 0;
width: 100%;
max-width: none;
height: 100%;
flex: auto;
border-radius: 0;
box-shadow: none;
}
[part='form-wrapper'] {
height: 100%;
overflow: auto;
}
}
/* Handle iPhone X notch */
@media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) {
[part='card'] {
padding-right: env(safe-area-inset-right);
padding-left: env(safe-area-inset-left);
}
[part='brand'] {
margin-left: calc(env(safe-area-inset-left) * -1);
padding-left: calc(var(--lumo-space-l) + env(safe-area-inset-left));
}
/* RTL styles */
:host([dir='rtl']) [part='card'] {
padding-left: env(safe-area-inset-right);
padding-right: env(safe-area-inset-left);
}
:host([dir='rtl']) [part='brand'] {
margin-right: calc(env(safe-area-inset-left) * -1);
padding-right: calc(var(--lumo-space-l) + env(safe-area-inset-left));
}
}
}