3 .notifications-container {
5 inset-block-end: calc(em(24) + env(safe-area-inset-bottom));
6 inset-inline-start: 50%;
7 z-index: map.get($z-indexes, 'notifications');
8 transform: translateX(-50%);
9 filter: drop-shadow(var(--shadow-lifted));
13 transform: translateX(50%);
18 inset-block-end: calc(var(--shift-custom-y) + env(safe-area-inset-bottom));
25 inset-block-end: var(--top-custom);
28 border-radius: var(--border-radius-lg);
29 background-color: var(--background-invert);
30 color: var(--text-invert);
31 inline-size: max-content;
32 max-inline-size: min(#{em(400)}, calc(100vw - 2em));
34 padding-inline: em(12) em(4);
35 transform: translateX(-50%);
36 transition: inset-block-end 0.35s easing(ease-out-quad);
40 transform: translateX(50%);
45 --button-default-text-color: inherit;
46 --button-hover-text-color: inherit;
47 --button-active-text-color: inherit;
57 margin-inline: 0 em(8);
64 padding-inline-end: em(8);
65 word-break: break-word;
69 word-break: break-word;
73 .notification__button {
76 margin-inline: em(8) em(-6);
79 // spacing between two buttons
81 margin-inline-start: em(2);
86 // make sure the loader is the last child or 2nd to last in case
87 // the "loading" text for screen readers is added
93 margin-inline-start: em(8);
97 .notification__button + .circle-loader {
98 margin-inline-start: em(16);
102 &:not(#{&}--has-close-button) &__content {
104 margin-inline-end: em(-8);
113 animation-duration: 0.35s;
114 animation-fill-mode: both;
115 animation-timing-function: easing(ease-in-out);
116 animation-name: anime-notification-in;
120 animation-duration: 0.3s;
121 animation-fill-mode: both;
122 animation-timing-function: easing(ease-in-out);
123 animation-name: anime-notification-out;
127 animation-duration: 0.3s;
128 animation-fill-mode: both;
129 animation-timing-function: easing(ease-in-out);
130 animation-name: anime-notification-out-duplicate;
135 background-color: var(--signal-danger);
136 color: var(--signal-danger-contrast);
140 @keyframes anime-notification-in {
143 transform: translateY(60%);
148 transform: translateY(0);
152 @keyframes anime-notification-out {
155 transform: translateY(0);
160 transform: translateY(-20%);
164 @keyframes anime-notification-out-duplicate {
167 transform: translateY(0);
172 transform: translateY(0);
177 z-index: map.get($z-indexes, 'notifications');