You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nextcloud/apps/settings/css/settings.scss

1640 lines
24 KiB
SCSS

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/* Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
This file is licensed under the Affero General Public License version 3 or later.
See the COPYING-README file. */
@use 'variables';
@import 'functions';
input {
&#openid, &#webdav {
width: 20em;
}
}
/* PERSONAL */
.clear {
clear: both;
}
/* icons for sidebar */
.nav-icon-personal-settings {
@include icon-color('personal', 'settings', variables.$color-black);
}
.nav-icon-security {
@include icon-color('toggle-filelist', 'settings', variables.$color-black);
}
.nav-icon-clientsbox {
@include icon-color('change', 'settings', variables.$color-black);
}
.nav-icon-federated-cloud {
@include icon-color('share', 'settings', variables.$color-black);
}
.nav-icon-second-factor-backup-codes, .nav-icon-ssl-root-certificate {
@include icon-color('password', 'settings', variables.$color-black);
}
#personal-settings-avatar-container {
display: inline-grid;
grid-template-columns: 1fr;
grid-template-rows: 2fr 1fr 2fr;
vertical-align: top;
}
.profile-settings-container {
display: inline-grid;
grid-template-columns: 1fr 1fr 1fr;
}
.personal-show-container {
width: 100%;
}
.personal-settings-setting-box {
.section {
padding: 10px 30px;
.headerbar-label {
margin-bottom: 0;
}
input {
&[type='text'], &[type='email'], &[type='tel'], &[type='url'] {
width: 100%;
}
}
}
&-profile {
grid-row: 3/5;
}
&-detail {
grid-row: 5;
}
&-detail--without-profile {
grid-row: 3;
}
}
select {
&#timezone {
width: 100%;
}
}
#personal-settings {
display: grid;
padding: 20px;
max-width: 1700px;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
.section {
padding: 10px 10px;
border: 0;
h2 {
margin-bottom: 12px;
}
}
.personal-info {
margin-right: 10%;
margin-bottom: 12px;
margin-top: 12px;
}
.personal-info[class^='icon-'], .personal-info[class*=' icon-'] {
background-position: 0px 2px;
padding-left: 30px;
opacity: 0.7;
}
}
// Button for 'Reasons to use Nextcloud in your organization'
.development-notice {
text-align: center;
a:not(.link-button) {
text-decoration: underline;
&:hover {
background-color: var(--color-primary-element-hover);
}
}
}
.link-button {
display: inline-block;
margin: 16px;
padding: 14px 20px;
background-color: var(--color-primary);
color: #fff;
border-radius: var(--border-radius-pill);
border: 1px solid var(--color-primary);
box-shadow: 0 2px 9px var(--color-box-shadow);
&:active,
&:hover,
&:focus {
color: var(--color-primary);
background-color: var(--color-primary-text);
border-color: var(--color-primary) !important;
}
&.icon-file {
padding-left: 48px;
background-position: 24px;
}
}
.personal-settings-container {
display: inline-grid;
grid-template-columns: 1fr 1fr 1fr;
&:after {
clear: both;
}
> div {
h3 {
position: relative;
display: inline-flex;
flex-wrap: nowrap;
justify-content: flex-start;
width: 100%;
align-items: center;
gap: 8px;
> label {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
}
> form span {
&[class^='icon-checkmark'], &[class^='icon-error'] {
position: relative;
right: 8px;
top: -28px;
pointer-events: none;
float: right;
}
}
}
.verify {
position: relative;
left: 100%;
top: 0;
height: 0;
img {
padding: 12px 7px 6px;
}
}
.verify-action {
cursor: pointer;
}
input:disabled {
background-color: white;
color: black;
border: none;
opacity: 100;
}
}
/* verify accounts */
/* only show pointer cursor when popup will be there */
.verification-dialog {
display: none;
right: -9px;
top: 40px;
width: 275px;
p {
padding: 10px;
}
.verificationCode {
font-family: monospace;
display: block;
overflow-wrap: break-word;
}
}
.federation-menu {
position: relative;
cursor: pointer;
width: 44px;
height: 44px;
padding: 10px;
margin: 0;
background: none;
border: none;
&:hover,
&:focus {
background-color: var(--color-background-hover);
border-radius: var(--border-radius-pill);
.icon-federation-menu {
opacity: 0.8;
}
}
.icon-federation-menu {
padding-left: 16px;
background-size: 16px;
background-position: left center;
opacity: .3;
cursor: inherit;
.icon-triangle-s {
display: inline-block;
vertical-align: middle;
cursor: inherit;
}
}
.federationScopeMenu {
top: 44px;
&.popovermenu {
.menuitem {
// override h3 heading font size
font-size: 12.8px;
line-height: 1.6em;
.menuitem-text-detail {
opacity: .75;
}
&.active {
box-shadow: inset 2px 0 var(--color-primary);
.menuitem-text {
font-weight: bold;
}
}
&.disabled {
opacity: .5;
cursor: default;
* {
cursor: default;
}
}
}
}
}
}
.clientsbox img {
height: 60px;
}
#sslCertificate {
tr.expired {
background-color: rgba(255, 0, 0, 0.5);
}
td {
padding: 5px;
}
}
#displaynameerror,
#displaynamechanged {
display: none;
}
input#identity {
width: 20em;
}
#showWizard {
display: inline-block;
}
.msg {
&.success {
color: #fff;
background-color: #47a447;
padding: 3px;
}
&.error {
color: #fff;
background-color: #d2322d;
padding: 3px;
}
}
table.nostyle {
label {
margin-right: 2em;
}
td {
padding: 0.2em 0;
}
}
#security-password {
#passwordform {
display: flex;
flex-wrap: wrap;
flex-direction: column;
gap: 1rem;
.input-control {
display: flex;
flex-wrap: wrap;
flex-direction: column;
label {
margin-bottom: 0.5rem;
}
}
#pass1, .personal-show-container {
flex-shrink: 1;
width: 300px;
min-width: 150px;
}
// Extremely fragile code, to be replaced by PasswordField component soon
.personal-show-container {
#pass2 {
position: relative;
top: 0.5rem;
}
.personal-show-label {
top: 34px !important;
margin-right: 0;
margin-top: 0 !important;
right: 3px;
}
}
#pass2 {
width: 100%;
}
.password-state {
display: inline-block;
}
.strengthify-wrapper {
position: absolute;
left: 0;
width: 100%;
border-radius: 0 0 2px 2px;
margin-top: 5px;
overflow: hidden;
height: 3px;
}
}
}
/* Two-Factor Authentication (2FA) */
#two-factor-auth {
h3 {
margin-top: 24px;
}
li > div {
margin-left: 20px;
}
.two-factor-provider-settings-icon {
width: 16px;
height: 16px;
vertical-align: sub;
filter: var(--background-invert-if-dark);
}
}
/* USERS */
.isgroup {
.groupname {
width: 85%;
display: block;
overflow: hidden;
text-overflow: ellipsis;
}
&.active .groupname {
width: 65%;
}
}
li.active {
.delete,
.rename {
display: block;
}
}
.app-navigation-entry-utils {
.delete,
.rename {
display: none;
}
}
#usersearchform {
position: absolute;
top: 2px;
right: 0;
input {
width: 150px;
}
label {
font-weight: bold;
}
}
/* display table at full width */
table.grid {
width: 100%;
th {
height: 2em;
color: #999;
border-bottom: 1px solid var(--color-border);
padding: 0 .5em;
padding-left: .8em;
text-align: left;
font-weight: normal;
}
td {
border-bottom: 1px solid var(--color-border);
padding: 0 .5em;
padding-left: .8em;
text-align: left;
font-weight: normal;
}
}
td, th {
&.name {
padding-left: .8em;
min-width: 5em;
max-width: 12em;
text-overflow: ellipsis;
overflow: hidden;
}
&.password {
padding-left: .8em;
> img {
visibility: hidden;
}
}
&.displayName > img {
visibility: hidden;
}
&.password,
&.mailAddress {
min-width: 5em;
max-width: 12em;
cursor: pointer;
span {
width: 90%;
display: inline-block;
text-overflow: ellipsis;
overflow: hidden;
}
}
&.mailAddress {
cursor: pointer;
}
&.password > span {
margin-right: 1.2em;
color: #C7C7C7;
}
}
span.usersLastLoginTooltip {
white-space: nowrap;
}
/* APPS */
#app-content > svg.app-filter {
float: left;
height: 0;
width: 0;
}
#app-category-app-bundles {
margin-bottom: 20px;
}
.appinfo {
margin: 1em 40px;
}
#app-navigation {
/* Navigation icons */
img {
margin-bottom: -3px;
margin-right: 6px;
width: 16px;
}
li span.no-icon {
padding-left: 32px;
}
ul li.active > span.utils {
.delete, .rename {
display: block;
}
}
.appwarning {
background: #fcc;
}
&.appwarning:hover {
background: #fbb;
}
.app-external {
color: var(--color-text-maxcontrast);
}
}
span.version {
margin-left: 1em;
margin-right: 1em;
color: var(--color-text-maxcontrast);
}
.app-version {
color: var(--color-text-maxcontrast);
}
.app-level {
span {
color: var(--color-text-maxcontrast);
background-color: transparent;
border: 1px solid var(--color-text-maxcontrast);
border-radius: var(--border-radius);
padding: 3px 6px;
}
a {
padding: 10px;
margin: -6px;
white-space: nowrap;
}
.official {
background-position: left center;
background-position: 5px center;
padding-left: 25px;
}
.supported {
border-color: var(--color-success);
background-position: left center;
background-position: 5px center;
padding-left: 25px;
color: var(--color-success);
}
}
.app-score {
position: relative;
top: 4px;
opacity: .5;
}
.app-settings-content {
#searchresults {
display: none;
}
}
#apps-list.store {
.section {
border: 0;
}
.app-name {
display: block;
margin: 5px 0;
}
.app-name, .app-image * {
cursor: pointer;
}
.app-summary {
opacity: .7;
}
.app-image-icon .icon-settings-dark {
width: 100%;
height: 150px;
background-size: 45px;
opacity: 0.5;
}
.app-score-image {
height: 14px;
}
.actions {
margin-top: 10px;
}
}
#app-sidebar #app-details-view {
h2 {
.icon-settings-dark,
svg {
display: inline-block;
width: 16px;
height: 16px;
margin-right: 10px;
opacity: .7;
}
}
.app-level {
clear: right;
width: 100%;
.supported,
.official {
vertical-align: top;
}
.app-score-image {
float: right;
}
}
.app-author, .app-licence {
color: var(--color-text-maxcontrast);
}
.app-dependencies {
margin: 10px 0;
}
.app-description p {
margin: 10px 0;
}
.close {
position: absolute;
top: 0;
right: 0;
padding: 14px;
opacity: 0.5;
z-index: 1;
width: 44px;
height: 44px;
}
.actions {
display: flex;
align-items: center;
.app-groups {
padding: 5px;
}
}
.appslink {
text-decoration: underline;
margin-right: 5px;
}
.app-level,
.actions,
.documentation,
.app-dependencies,
.app-description {
margin: 20px 0;
}
}
@media only screen and (min-width: 1601px) {
.store .section {
width: 25%;
}
.with-app-sidebar .store .section {
width: 33%;
}
}
@media only screen and (max-width: 1600px) {
.store .section {
width: 25%;
}
.with-app-sidebar .store .section {
width: 33%;
}
}
@media only screen and (max-width: 1400px) {
.store .section {
width: 33%;
}
.with-app-sidebar .store .section {
width: 50%;
}
}
@media only screen and (max-width: 900px) {
.store .section {
width: 50%;
}
.with-app-sidebar .store .section {
width: 100%;
}
}
@media only screen and (max-width: variables.$breakpoint-mobile) {
.store .section {
width: 50%;
}
}
@media only screen and (max-width: 480px) {
.store .section {
width: 100%;
}
}
/* hide app version and level on narrower screens */
@media only screen and (max-width: 900px) {
.apps-list.installed {
.app-version, .app-level {
display: none !important;
}
}
}
@media only screen and (max-width: 500px) {
.apps-list.installed .app-groups {
display: none !important;
}
}
.section {
margin-bottom: 0;
/* section divider lines, none needed for last one */
&:not(:last-child) {
border-bottom: 1px solid var(--color-border);
}
/* correctly display help icons next to headings */
h2 {
margin-bottom: 22px;
.icon-info {
padding: 6px 20px;
vertical-align: text-bottom;
display: inline-block;
}
}
}
.followupsection {
display: block;
padding: 0 30px 30px 30px;
}
.app-image {
position: relative;
height: 150px;
opacity: 1;
overflow: hidden;
}
.app-name, .app-version, .app-score, .app-level {
display: inline-block;
}
.app-description-toggle-show, .app-description-toggle-hide {
clear: both;
padding: 7px 0;
cursor: pointer;
opacity: .5;
}
.app-description-container {
clear: both;
position: relative;
top: 7px;
}
.app-description {
clear: both;
}
#app-category-1 {
margin-bottom: 18px;
}
/* capitalize 'Other' category */
#app-category-925 {
text-transform: capitalize;
}
.app-dependencies {
color: #ce3702;
}
.missing-dependencies {
list-style: initial;
list-style-type: initial;
list-style-position: inside;
}
.apps-list {
$toolbar-padding: 8px;
$toolbar-height: 44px + $toolbar-padding * 2;
.section {
cursor: pointer;
}
.app-list-move {
transition: transform 1s;
}
#app-list-update-all {
margin-left: 10px;
}
.toolbar {
height: $toolbar-height;
padding: $toolbar-padding;
// Leave room for app-navigation-toggle
padding-left: $toolbar-height;
width: 100%;
background-color: var(--color-main-background);
position: sticky;
top: 0;
z-index: 1;
display: flex;
align-items: center;
}
&.installed {
.apps-list-container {
display: table;
width: 100%;
height: auto;
margin-top: $toolbar-height;
}
margin-bottom: 100px;
.section {
display: table-row;
padding: 0;
margin: 0;
> * {
display: table-cell;
height: initial;
vertical-align: middle;
float: none;
border-bottom: 1px solid var(--color-border);
padding: 6px;
box-sizing: border-box;
}
&.selected {
background-color: var(--color-background-dark);
}
}
.groups-enable {
margin-top: 0;
label {
margin-right: 3px;
}
}
.app-image {
width: 44px;
height: auto;
text-align: right;
}
.app-image-icon svg,
.app-image-icon .icon-settings-dark {
margin-top: 5px;
width: 20px;
height: 20px;
opacity: .5;
background-size: cover;
display: inline-block;
}
.actions {
text-align: right;
.icon-loading-small {
display: inline-block;
top: 4px;
margin-right: 10px;
}
}
}
&:not(.installed) .app-image-icon svg {
position: absolute;
bottom: 43px;
/* position halfway vertically */
width: 64px;
height: 64px;
opacity: .1;
}
display: flex;
flex-wrap: wrap;
align-content: flex-start;
&.hidden {
display: none;
}
.section {
position: relative;
flex: 0 0 auto;
h2.app-name {
display: block;
margin: 8px 0;
}
&:hover {
background-color: var(--color-background-dark);
}
}
.app-description {
p {
margin: 10px 0;
}
ul {
list-style: disc;
}
ol {
list-style: decimal;
ol, ul {
padding-left: 15px;
}
}
> {
ul, ol {
margin-left: 19px;
}
}
ul {
ol, ul {
padding-left: 15px;
}
}
}
/* Bundle header */
.apps-header {
display: table-row;
position: relative;
div {
display: table-cell;
height: 70px;
}
h2 {
display: table-cell;
position: absolute;
padding-left: 6px;
padding-top: 15px;
.enable {
position: relative;
top: -1px;
margin-left: 12px;
}
+ .section {
margin-top: 50px;
}
}
}
}
#apps-list-search {
.section {
h2 {
margin-bottom: 0;
}
}
}
/* LOG */
#log {
white-space: normal;
margin-bottom: 14px;
}
#lessLog {
display: none;
}
table.grid td.date {
white-space: nowrap;
}
#log-section p {
margin-top: 20px;
}
#security-warning-state-ok,
#security-warning-state-warning,
#security-warning-state-failure,
#security-warning-state-loading {
span {
vertical-align: middle;
&.message {
padding: 12px;
}
&.icon {
width: 32px;
height: 32px;
background-position: center center;
display: inline-block;
border-radius: 50%;
}
&.icon-checkmark-white {
background-color: var(--color-success);
}
&.icon-error-white {
background-color: var(--color-warning);
}
&.icon-close-white {
background-color: var(--color-error);
}
}
}
#shareAPI {
p {
padding-bottom: 0.8em;
}
input#shareapiExpireAfterNDays {
width: 40px;
}
.indent {
padding-left: 28px;
}
.double-indent {
padding-left: 56px;
}
.nocheckbox {
padding-left: 20px;
}
}
#shareApiDefaultPermissionsSection label {
margin-right: 20px;
}
#fileSharingSettings h3 {
display: inline-block;
}
#publicShareDisclaimerText {
width: calc(100% - 23px);
/* 20 px left margin, 3 px right margin */
max-width: 600px;
height: 150px;
margin-left: 20px;
box-sizing: border-box;
}
/* correctly display help icons next to headings */
.icon-info {
padding: 11px 20px;
vertical-align: text-bottom;
opacity: .5;
}
#two-factor-auth h2,
#shareAPI h2,
#mail_general_settings h2 {
display: inline-block;
}
.mail_settings p {
label:first-child {
display: inline-block;
width: 300px;
text-align: right;
}
select:nth-child(2),
input:not([type='button']) {
width: 143px;
}
}
#mail_smtpport {
width: 60px;
}
.cronlog {
margin-left: 10px;
}
.status {
display: inline-block;
height: 16px;
width: 16px;
vertical-align: text-bottom;
&.success {
border-radius: 50%;
}
}
#selectGroups select {
box-sizing: border-box;
display: inline-block;
height: 36px;
padding: 7px 10px;
}
#log .log-message {
word-break: break-all;
min-width: 180px;
}
span {
&.success {
background-color: var(--color-success);
border-radius: var(--border-radius);
}
&.error {
background-color: var(--color-error);
}
&.indeterminate {
background-color: var(--color-warning);
border-radius: 40% 0;
}
}
/* OPERA hack for strengthify*/
doesnotexist:-o-prefocus, .strengthify-wrapper {
left: 185px;
width: 129px;
}
.trusted-domain-warning {
color: #fff;
padding: 5px;
background: #ce3702;
border-radius: 5px;
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
#postsetupchecks {
ul {
margin-left: 44px;
list-style: disc;
li {
margin: 10px 0;
}
ul {
list-style: circle;
}
}
.loading {
height: 50px;
background-position: left center;
}
.errors, .errors a {
color: var(--color-error);
}
.warnings, .warnings a {
color: var(--color-warning);
}
.hint {
margin: 20px 0;
}
}
#security-warning {
a {
text-decoration: underline;
}
.extra-top-margin {
margin-top: 12px;
}
}
#admin-tips li {
list-style: initial;
a {
display: inline-block;
padding: 3px 0;
}
}
#warning {
color: red;
}
.settings-hint {
margin-top: -12px;
margin-bottom: 12px;
opacity: .7;
}
/* USERS LIST -------------------------------------------------------------- */
#body-settings {
$grid-row-height: 60px;
$grid-col-min-width: 160px;
#app-content.user-list-grid {
display: grid;
grid-column-gap: 20px;
grid-auto-rows: minmax(60px, max-content);
.row {
// TODO replace with css4 subgrid when available
// fallback for ie11 no grid
display: flex;
display: grid;
min-height: $grid-row-height;
grid-row-start: span 1;
grid-gap: 3px;
align-items: center;
/* let's define the column until storage path,
what follows will be manually defined */
grid-template-columns:
44px
minmax($grid-col-min-width + 30px, 1fr) // username, displayname
minmax($grid-col-min-width, 1fr) // password
minmax($grid-col-min-width, 1fr) // email
minmax(1.5*$grid-col-min-width, 1fr) // groups
minmax(1.5*$grid-col-min-width, 1fr) // group admins
repeat(auto-fit, minmax($grid-col-min-width, 1fr));
border-bottom: var(--color-border) 1px solid;
&.disabled {
opacity: .5;
}
/* grid col width */
.name,
.password,
.mailAddress,
.languages,
.storageLocation,
.userBackend,
.lastLogin {
min-width: $grid-col-min-width;
doesnotexist:-o-prefocus, .strengthify-wrapper {
color: var(--color-text-dark);
vertical-align: baseline;
text-overflow: ellipsis;
}
}
&:not(.row--editable) {
&.name,
&.password,
&.displayName,
&.mailAddress,
&.userBackend,
&.languages {
overflow: hidden;
}
}
// Scroll if too much groups
&:not(.row--editable) {
.groups,
.subadmins {
overflow: auto;
max-height: 100%;
}
}
.groups,
.subadmins,
.quota {
min-width: $grid-col-min-width;
.multiselect {
width: 100%;
color: var(--color-text-dark);
vertical-align: baseline;
}
progress {
max-width: 95%;
}
}
.obfuscated {
width: 400px;
opacity: .7;
}
.userActions {
display: flex;
justify-content: flex-end;
position: sticky;
right: 0px;
min-width: 88px;
background-color: var(--color-main-background);
}
&.row--editable .userActions {
z-index: 10;
}
.subtitle {
color: var(--color-text-maxcontrast);
vertical-align: baseline;
}
/* various */
&#grid-header {
position: sticky;
align-self: normal;
background-color: var(--color-main-background);
z-index: 100; /* above multiselect */
top: 0;
&.sticky {
box-shadow: 0 -2px 10px 1px var(--color-box-shadow);
}
}
&#grid-header {
color: var(--color-text-maxcontrast);
border-bottom-width: thin;
#headerDisplayName,
#headerPassword,
#headerAddress,
#headerGroups,
#headerSubAdmins,
#theHeaderUserBackend,
#theHeaderLastLogin,
#headerQuota,
#theHeaderStorageLocation,
#headerLanguages {
/* Line up header text with column content for when theres inputs */
padding-left: 7px;
text-transform: none;
color: var(--color-text-maxcontrast);
vertical-align: baseline;
}
}
&:hover {
input:not([type='submit']):not(:focus):not(:active) {
border-color: var(--color-border) !important;
}
&:not(#grid-header) {
box-shadow: 5px 0 0 var(--color-primary-element) inset;
}
}
> form {
width: 100%;
}
> div,
> .displayName > form,
> form {
grid-row: 1;
display: inline-flex;
color: var(--color-text-lighter);
flex-grow: 1;
> input:not(:focus):not(:active) {
border-color: transparent;
cursor: pointer;
}
> input:focus, > input:active {
+ .icon-confirm {
display: block !important;
}
}
/* inputs like mail, username, password */
&:not(.userActions) > input:not([type='submit']) {
width: 100%;
min-width: 0;
}
&.name {
word-break: break-all;
}
&.displayName,
&.mailAddress {
> input {
text-overflow: ellipsis;
flex-grow: 1;
}
}
&.name,
&.userBackend {
/* better multi-line visual */
line-height: 1.3em;
max-height: 100%;
overflow: hidden;
/* not supported by all browsers
so we keep the overflow hidden
as a fallback */
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
&.name .subtitle {
color: var(--color-main-text);
}
&.quota {
display: flex;;
justify-content: left;
white-space: nowrap;
position: relative;
progress {
width: 150px;
margin-top: 35px;
height: 3px;
}
}
.icon-confirm {
flex: 0 0 auto;
cursor: pointer;
&:not(:active) {
display: none;
}
}
&.avatar {
height: 32px;
width: 32px;
margin: 6px;
img {
display: block;
}
}
&.userActions {
display: flex;
justify-content: flex-end;
#newsubmit {
width: 100%;
}
.toggleUserActions {
position: relative;
display: flex;
align-items: center;
background-color: var(--color-main-background);
.icon-more {
width: 44px;
height: 44px;
opacity: .5;
cursor: pointer;
&:focus,
&:hover,
&:active {
opacity: .7;
background-color: var(--color-background-dark)
}
}
}
.feedback {
display: flex;
align-items: center;
white-space: nowrap;
transition: opacity 200ms ease-in-out;
.icon-checkmark {
opacity: .5;
margin-right: 5px;
}
}
}
/* Fill the grid cell */
.multiselect.multiselect-vue {
min-width: 100%;
width: 100%;
}
}
}
.infinite-loading-container {
display: flex;
align-items: center;
justify-content: center;
grid-row-start: span 4;
}
.users-list-end {
opacity: .5;
user-select: none;
}
}
}
.animated {
animation: blink-animation 1s steps(5, start) 4;
}
@keyframes blink-animation {
to {
opacity: 0.6;
}
}
@-webkit-keyframes blink-animation {
to {
opacity: 1;
}
}