123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- @mixin login-fullscreen-background() {
- @at-root {
- :root {
- --w-login-fullscreen-background: radial-gradient(
- 100% 300.28% at 100% 0%,
- theme('colors.primary.DEFAULT') 0%,
- theme('colors.primary.DEFAULT') 32.94%,
- theme('colors.primary.DEFAULT') 49.9%,
- theme('colors.primary.DEFAULT') 50.2%,
- theme('colors.secondary.DEFAULT') 100%
- );
- }
- }
- // support older browsers that do not support radial gradient 'at' usage
- background: theme('colors.surface-menus');
- /* stylelint-disable-next-line declaration-block-no-duplicate-properties */
- background: var(
- --w-login-fullscreen-background,
- theme('colors.primary.DEFAULT')
- );
- }
- .login {
- @include login-fullscreen-background;
- color: theme('colors.text-label');
- .wrapper {
- align-items: center;
- display: flex;
- flex-direction: column;
- height: auto;
- justify-content: center;
- padding: min(theme('spacing.4'), 5vh) min(theme('spacing.4'), 5vw);
- min-height: 100vh;
- }
- .messages {
- background: none;
- margin-bottom: theme('spacing.8');
- ul {
- @include unlist();
- li {
- border-radius: theme('borderRadius.sm');
- margin-bottom: theme('spacing.2');
- }
- }
- }
- .content-wrapper {
- // border style needed in forced color mode
- border: 3px solid transparent;
- height: auto;
- float: none;
- padding: theme('spacing.10') theme('spacing.12');
- background: theme('colors.surface-page');
- box-shadow: theme('boxShadow.md');
- border-radius: theme('borderRadius.md');
- margin-bottom: 15vh; // should appear slightly above centre
- max-width: calc(theme('spacing.32') * 3.15);
- @include media-breakpoint-up(sm) {
- max-width: calc(theme('spacing.32') * 3.5);
- padding: theme('spacing.12') theme('spacing.14');
- }
- }
- h1 {
- @apply w-h1;
- margin-top: 0;
- margin-bottom: theme('spacing.8');
- text-align: center;
- }
- .button,
- .w-field__label {
- width: 100%;
- font-size: theme('fontSize.16');
- font-weight: theme('fontWeight.bold');
- }
- .w-field__input {
- padding: 0; // reset padding for field not used inside the admin interface
- }
- .w-field__wrapper {
- margin-bottom: theme('spacing.6');
- }
- .skiplink {
- width: auto;
- }
- .reset-password {
- display: block;
- // bring in reset password link tight to the form
- margin: calc(-1 * theme('spacing.4')) 0 theme('spacing.8');
- }
- .remember-me {
- margin: theme('spacing.4') 0;
- }
- .form-actions {
- // no need for margin bottom due to padding on content-wrapper
- margin-top: theme('spacing.8');
- text-align: center;
- .button-longrunning {
- &-active {
- justify-content: center;
- }
- }
- }
- .login-form .w-field__errors {
- // for the login form, we rely on the non-field error only.
- display: none;
- }
- .login-logo {
- margin: theme('spacing.8') auto 0;
- width: theme('spacing.8');
- }
- @media (forced-colors: active) and (prefers-color-scheme: dark) {
- .login-logo-img {
- filter: invert(100%);
- }
- }
- }
|