diff options
Diffstat (limited to 'core/css')
95 files changed, 5694 insertions, 3672 deletions
diff --git a/core/css/animations.css b/core/css/animations.css new file mode 100644 index 00000000000..02266e8c4ca --- /dev/null +++ b/core/css/animations.css @@ -0,0 +1,4 @@ +/*! + * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}/*# sourceMappingURL=animations.css.map */ diff --git a/core/css/animations.css.map b/core/css/animations.css.map new file mode 100644 index 00000000000..2be95d42b12 --- /dev/null +++ b/core/css/animations.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["animations.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAIA,0BACC,KACC,+BACA,uBAED,GACC,iCACA,0BAGF,kBACC,KACC,+BACA,uBAED,GACC,iCACA","file":"animations.css"}
\ No newline at end of file diff --git a/core/css/animations.css.map.license b/core/css/animations.css.map.license new file mode 100644 index 00000000000..bb22bd8f46a --- /dev/null +++ b/core/css/animations.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/animations.scss b/core/css/animations.scss new file mode 100644 index 00000000000..c3aac5ec753 --- /dev/null +++ b/core/css/animations.scss @@ -0,0 +1,24 @@ +/*! + * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +@-webkit-keyframes rotate { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes rotate { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} diff --git a/core/css/apps.css b/core/css/apps.css index de40c40dfc5..5964eb1817a 100644 --- a/core/css/apps.css +++ b/core/css/apps.css @@ -1,707 +1,11 @@ -/* APP STYLING -------------------------------------------------------------- */ - - -#app { - height: 100%; - width: 100%; -} -#app * { - box-sizing: border-box; -} - - - - - -/* APP-NAVIGATION ------------------------------------------------------------*/ - - -/* Navigation: folder like structure */ -#app-navigation { - width: 250px; - height: 100%; - float: left; - box-sizing: border-box; - background-color: #fff; - padding-bottom: 44px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border-right: 1px solid #eee; -} -#app-navigation > ul { - position: relative; - height: 100%; - width: inherit; - overflow: auto; - box-sizing: border-box; -} -#app-navigation li { - position: relative; - width: 100%; - box-sizing: border-box; -} - -#app-navigation .active.with-menu > a, -#app-navigation .with-counter > a { - padding-right: 50px; -} - -#app-navigation .active.with-menu.with-counter > a { - padding-right: 90px; -} - -#app-navigation .with-icon a, -#app-navigation .app-navigation-entry-loading a { - padding-left: 44px; - background-size: 16px 16px; - background-position: 14px center; - background-repeat: no-repeat; -} - -#app-navigation li > a { - display: block; - width: 100%; - line-height: 44px; - min-height: 44px; - padding: 0 12px; - overflow: hidden; - box-sizing: border-box; - white-space: nowrap; - text-overflow: ellipsis; - color: #000; - opacity: .57; -} -#app-navigation .active, -#app-navigation .active a, -#app-navigation li:hover > a, -#app-navigation li:focus > a, -#app-navigation a:focus, -#app-navigation .selected, -#app-navigation .selected a { - opacity: 1; -} - -#app-navigation .collapse { - display: none; /* hide collapse button intially */ -} -#app-navigation .collapsible > .collapse { - position: absolute; - height: 44px; - width: 44px; - margin: 0; - padding: 0; - background: none; background-image: url('../img/actions/triangle-s.svg'); - background-size: 16px; background-repeat: no-repeat; background-position: center; - border: none; - border-radius: 0; - outline: none !important; - box-shadow: none; -} -#app-navigation .collapsible:hover > a, -#app-navigation .collapsible:focus > a { - background-image: none; -} -#app-navigation .collapsible:hover > .collapse, -#app-navigation .collapsible:focus > .collapse { - display: block; -} - -#app-navigation .collapsible .collapse { - -webkit-transform: rotate(-90deg); - -ms-transform:rotate(-90deg); - transform: rotate(-90deg); -} -#app-navigation .collapsible.open .collapse { - -webkit-transform: rotate(0); - -ms-transform:rotate(0); - transform: rotate(0); -} - -/* Second level nesting for lists */ -#app-navigation > ul ul { - display: none; -} -#app-navigation > ul ul li > a { - padding-left: 32px; -} -#app-navigation > .with-icon ul li > a, -#app-navigation > .with-icon ul li.app-navigation-entry-loading > a { - padding-left: 68px; - background-position: 44px center; -} - -#app-navigation .collapsible.open { - background-image: linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%); - background-image: -webkit-linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%); - background-image: -ms-linear-gradient(top, rgb(238,238,238) 0%, rgb(245,245,245) 100%); -} - -#app-navigation > ul .collapsible.open:hover, -#app-navigation > ul .collapsible.open:focus { - box-shadow: inset 0 0 3px #ddd; -} - -#app-navigation > ul .collapsible.open ul { - display: block; -} - - -/* Deleted entries with undo button */ -#app-navigation .app-navigation-entry-deleted { - display: inline-block; - height: 44px; - width: 100%; -} - - #app-navigation .app-navigation-entry-deleted-description { - padding-left: 12px; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: inline-block; - width: 201px; /* fallback for IE8 */ - width: calc(100% - 49px); - line-height: 44px; - float: left; - } - - #app-navigation .app-navigation-entry-deleted-button { - margin: 0; - height: 44px; - width: 44px; - line-height: 44px; - border: 0; - display: inline-block; - background-color: transparent; - opacity: .5; - } - - #app-navigation .app-navigation-entry-deleted-button:hover, - #app-navigation .app-navigation-entry-deleted-button:focus { - opacity: 1; - } - -/* counter and actions, legacy code */ -#app-navigation .utils { - position: absolute; - padding: 7px 7px 0 0; - right: 0; - top: 0; - bottom: 0; - font-size: 12px; -} - #app-navigation .utils button, - #app-navigation .utils .counter { - width: 44px; - height: 44px; - padding-top: 12px; - } - - -/* drag and drop */ -#app-navigation .drag-and-drop { - -webkit-transition: padding-bottom 500ms ease 0s; - transition: padding-bottom 500ms ease 0s; - padding-bottom: 40px; -} -#app-navigation .error { - color: #dd1144; -} - -#app-navigation .app-navigation-separator { - border-bottom: 1px solid #ddd; -} - -/** - * App navigation utils, buttons and counters for drop down menu - */ -#app-navigation .app-navigation-entry-utils { - position: absolute; - top: 0; - right: 0; - z-index: 105; -} - - #app-navigation .app-navigation-entry-utils ul { - display: block !important; - } - - - #app-navigation .app-navigation-entry-utils li { - float: left; - width: 44px !important; - height: 44px; - line-height: 44px; - } - - #app-navigation .active > .app-navigation-entry-utils li { - display: inline-block; - } - - #app-navigation .app-navigation-entry-utils button { - height: 38px; - width: 38px; - line-height: 38px; - float: left; - } - - #app-navigation .app-navigation-entry-utils-menu-button { - display: none; - } - #app-navigation .app-navigation-entry-utils-menu-button button { - border: 0; - opacity: .5; - background-color: transparent; - background-repeat: no-repeat; - background-position: center; - background-image: url('../img/actions/more.svg'); - } - - #app-navigation .app-navigation-entry-utils-menu-button:hover button, - #app-navigation .app-navigation-entry-utils-menu-button:focus button { - background-color: transparent; - opacity: 1; - } - - #app-navigation .app-navigation-entry-utils-counter { - overflow: hidden; - text-overflow: hidden; - text-align: right; - font-size: 9pt; - width: 38px; - line-height: 44px; - padding: 0 10px; - } - - #app-navigation .app-navigation-entry-utils ul, - #app-navigation .app-navigation-entry-menu ul { - list-style-type: none; - } - -/* menu bubble / popover */ -.bubble, -#app-navigation .app-navigation-entry-menu { - position: absolute; - background-color: #fff; - color: #333; - border-radius: 3px; - border-top-right-radius: 0; - z-index: 110; - margin: -5px 14px 5px 10px; - right: 0; - -webkit-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); - -moz-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); - -ms-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); - -o-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); - filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); -} - -.ie .bubble, -.ie #app-navigation .app-navigation-entry-menu, -.ie .bubble:after, -.ie #app-navigation .app-navigation-entry-menu:after, -.edge .bubble, -.edge #app-navigation .app-navigation-entry-menu, -.edge .bubble:after, -.edge #app-navigation .app-navigation-entry-menu:after { - border: 1px solid #eee; -} -.ie8 .bubble { - margin-top: 18px; -} -.ie8 .bubble:after { - display: none; -} -/* miraculous border arrow stuff */ -.bubble:after, -#app-navigation .app-navigation-entry-menu:after { - bottom: 100%; - right: 0; /* change this to adjust the arrow position */ - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none; -} -.bubble:after, -#app-navigation .app-navigation-entry-menu:after { - border-color: rgba(238, 238, 238, 0); - border-bottom-color: #fff; - border-width: 10px; - margin-left: -10px; -} -.bubble .action { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)" !important; - filter: alpha(opacity=50) !important; - opacity: .5 !important; -} -.bubble .action:hover, -.bubble .action:focus { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" !important; - filter: alpha(opacity=100) !important; - opacity: 1 !important; -} - -#app-navigation .app-navigation-entry-menu { - display: none; -} - -#app-navigation .app-navigation-entry-menu.open { - display: block; -} - - /* list of options for an entry */ - #app-navigation .app-navigation-entry-menu ul { - display: block !important; - } - - #app-navigation .app-navigation-entry-menu li { - float: left; - width: 38px !important; - } - - #app-navigation .app-navigation-entry-menu li button { - float: right; - width: 36px !important; - height: 36px; - line-height: 36px; - border: 0; - opacity: .5; - background-color: transparent; - } - - #app-navigation .app-navigation-entry-menu li button:hover, - #app-navigation .app-navigation-entry-menu li button:focus { - opacity: 1; - background-color: transparent; - } - -/* editing an entry */ -#app-navigation .app-navigation-entry-edit { - padding-left: 5px; - padding-right: 5px; - display: inline-block; - height: 39px; - width: 100%; -} - - #app-navigation .app-navigation-entry-edit input { - border-bottom-right-radius: 0; - border-top-right-radius: 0; - width: 204px; /* fallback for IE8 */ - width: calc(100% - 36px); - padding: 5px; - margin-right: 0; - height: 38px; - float: left; - border: 1px solid rgba(190,190,190,.9); - } - - #app-navigation .app-navigation-entry-edit button, - #app-navigation .app-navigation-entry-edit input[type="submit"] { - width: 36px; - height: 38px; - float: left; - } - - #app-navigation .app-navigation-entry-edit .icon-checkmark { - border-bottom-left-radius: 0; - border-top-left-radius: 0; - border-left: 0; - margin-right: 0; - } - - -/* APP-CONTENT ---------------------------------------------------------------*/ - - -/* Part where the content will be loaded into */ -#app-content { - position: relative; - height: 100%; - overflow-y: auto; -} - -#app-content-wrapper { - min-width: 100%; - min-height: 100%; -} - -/* APP-SIDEBAR ----------------------------------------------------------------*/ - -/* - Sidebar: a sidebar to be used within #app-content - have it as first element within app-content in order to shrink other - sibling containers properly. Compare Files app for example. -*/ -#app-sidebar { - position: fixed; - top: 45px; - right: 0; - left: auto; - bottom: 0; - width: 27%; - min-width: 300px; - display: block; - background: #fff; - border-left: 1px solid #eee; - -webkit-transition: margin-right 300ms; - transition: margin-right 300ms; - overflow-x: hidden; - overflow-y: auto; - visibility: visible; - z-index: 500; -} - -#app-content.with-app-sidebar { - margin-right: 27%; -} - -#app-sidebar.disappear { - visibility: hidden; -} - -/* APP-SETTINGS ---------------------------------------------------------------*/ - -/* settings area */ -#app-settings { - position: fixed; - width: 250px; /* change to 100% when layout positions are absolute */ - bottom: 0; - z-index: 140; -} -#app-settings.opened #app-settings-content { - display: block; -} -#app-settings-content { - display: none; - padding: 10px; - background-color: #fff; -} -#app-settings.open #app-settings-content { - display: block; - /* restrict height of settings and make scrollable */ - max-height: 300px; - overflow-y: auto; -} -#app-settings-content, -#app-settings-header { - border-right: 1px solid #eee; -} - -/* display input fields at full width */ -#app-settings-content input[type='text'] { - width: 93%; -} - -.settings-button { - display: block; - height: 44px; - width: 100%; - padding: 0; - margin: 0; - background-color: #fff; - background-image: url('../img/actions/settings.svg'); - background-position: 14px center; - background-repeat: no-repeat; - box-shadow: none; - border: 0; - border-radius: 0; - text-align: left; - padding-left: 42px; - font-weight: normal; -} -.settings-button:hover, -.settings-button:focus { - background-color: #fff; -} -.settings-button.opened:hover, -.settings-button.opened:focus { - background-color: #fff; -} - -/* buttons */ -button.loading { - background-image: url('../img/loading.gif'); - background-position: right 10px center; background-repeat: no-repeat; - background-size: 16px; - padding-right: 30px; -} - -/* general styles for the content area */ -.section { - display: block; - padding: 30px; - color: #555; - margin-bottom: 24px; -} -.section.hidden { - display: none !important; -} -.sub-section { - position: relative; - margin-top: 10px; - margin-left: 27px; - margin-bottom: 10px; -} -/* no top border for first settings item */ -#app-content > .section:first-child { - border-top: none; -} - -/* heading styles */ -h2 { - font-size: 20px; - font-weight: 300; - margin-bottom: 12px; -} -h3 { - font-size: 15px; - font-weight: 300; - margin: 12px 0; -} - -/* slight position correction of checkboxes and radio buttons */ -.section input[type="checkbox"], -.section input[type="radio"] { - vertical-align: -2px; - margin-right: 4px; -} -.appear { - opacity: 1; - transition: opacity 500ms ease 0s; - -moz-transition: opacity 500ms ease 0s; - -ms-transition: opacity 500ms ease 0s; - -o-transition: opacity 500ms ease 0s; - -webkit-transition: opacity 500ms ease 0s; -} -.appear.transparent { - opacity: 0; -} - - -/* do not use italic typeface style, instead lighter color */ -em { - font-style: normal; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; - opacity: .5; -} - -/* generic dropdown style */ -.dropdown { - background:#eee; - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; - box-shadow:0 1px 1px #777; - display:block; - margin-right: 0; - position:absolute; - right:0; - width:420px; - z-index:500; - padding:16px; -} - -/* generic tab styles */ -.tabHeaders { - margin: 15px; -} -.tabHeaders .tabHeader { - float: left; - padding: 5px; - cursor: pointer; -} -.tabHeaders .tabHeader, .tabHeaders .tabHeader a { - color: #888; -} -.tabHeaders .tabHeader.selected { - font-weight: 600; -} -.tabHeaders .tabHeader.selected, -.tabHeaders .tabHeader:hover { - border-bottom: 1px solid #333; -} -.tabHeaders .tabHeader.selected, -.tabHeaders .tabHeader.selected a, -.tabHeaders .tabHeader:hover, -.tabHeaders .tabHeader:hover a { - color: #000; -} -.tabsContainer { - clear: left; -} -.tabsContainer .tab { - padding: 15px; -} - -/* popover menu styles (use together with "bubble" class) */ -.popovermenu .menuitem, -.popovermenu .menuitem>span { - cursor: pointer; - vertical-align: middle; -} - -.popovermenu .menuitem { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; - filter: alpha(opacity=50); - opacity: .5; -} - -.popovermenu .menuitem:hover, -.popovermenu .menuitem:focus { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - filter: alpha(opacity=100); - opacity: 1; -} - -.popovermenu { - padding: 4px 12px; -} - -.popovermenu li { - padding: 5px 0; -} - -.popovermenu .menuitem img { - padding: initial; -} - -.popovermenu a.menuitem, -.popovermenu label.menuitem, -.popovermenu .menuitem { - padding: 10px; - margin: -10px; -} - -.popovermenu.hidden { - display: none; -} - -.popovermenu .menuitem { - display: block; - line-height: 30px; - padding-left: 5px; - color: #000; - padding: 0; -} - -.popovermenu .menuitem .icon, -.popovermenu .menuitem .no-icon { - display: inline-block; - width: 16px; - height: 16px; - margin-right: 10px; - vertical-align: middle; -} - -.popovermenu .menuitem { - opacity: 0.5; -} - -.popovermenu li:hover .menuitem { - opacity: 1; -} +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */@media screen and (max-width: 1024px){:root{--body-container-margin: 0px !important;--body-container-radius: 0px !important}}html{width:100%;height:100%;position:absolute;background-color:var(--color-background-plain, var(--color-main-background))}body{background-color:var(--color-background-plain, var(--color-main-background));background-image:var(--image-background);background-size:cover;background-position:center;position:fixed;width:100%;height:calc(100vh - env(safe-area-inset-bottom))}h2,h3,h4,h5,h6{font-weight:600;line-height:1.5;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}h2{font-size:1.8em}h3{font-size:1.6em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}em{font-style:normal;color:var(--color-text-maxcontrast)}dl{padding:12px 0}dt,dd{display:inline-block;padding:12px;padding-inline-start:0}dt{width:130px;white-space:nowrap;text-align:end}kbd{padding:4px 10px;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:var(--border-radius);display:inline-block;white-space:nowrap}#content[class*=app-] *{box-sizing:border-box}#app-navigation:not(.vue){--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));width:300px;z-index:500;overflow-y:auto;overflow-x:hidden;background-color:var(--color-main-background-blur);backdrop-filter:var(--filter-background-blur);-webkit-backdrop-filter:var(--filter-background-blur);-webkit-user-select:none;position:sticky;height:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0}#app-navigation:not(.vue) .app-navigation-caption{font-weight:bold;line-height:var(--default-clickable-area);padding:10px var(--default-clickable-area) 0 var(--default-clickable-area);white-space:nowrap;text-overflow:ellipsis;box-shadow:none !important;user-select:none;pointer-events:none;margin-inline-start:10px}.app-navigation-personal .app-navigation-new,.app-navigation-administration .app-navigation-new{display:block;padding:calc(var(--default-grid-baseline)*2)}.app-navigation-personal .app-navigation-new button,.app-navigation-administration .app-navigation-new button{display:inline-block;width:100%;padding:10px;padding-inline-start:34px;text-align:start;margin:0}.app-navigation-personal li,.app-navigation-administration li{position:relative}.app-navigation-personal>ul,.app-navigation-administration>ul{position:relative;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;padding:calc(var(--default-grid-baseline)*2);padding-bottom:0}.app-navigation-personal>ul:last-child,.app-navigation-administration>ul:last-child{padding-bottom:calc(var(--default-grid-baseline)*2)}.app-navigation-personal>ul>li,.app-navigation-administration>ul>li{display:inline-flex;flex-wrap:wrap;order:1;flex-shrink:0;margin:0;margin-bottom:3px;width:100%;border-radius:var(--border-radius-element)}.app-navigation-personal>ul>li.pinned,.app-navigation-administration>ul>li.pinned{order:2}.app-navigation-personal>ul>li.pinned.first-pinned,.app-navigation-administration>ul>li.pinned.first-pinned{margin-top:auto !important}.app-navigation-personal>ul>li>.app-navigation-entry-deleted,.app-navigation-administration>ul>li>.app-navigation-entry-deleted{padding-inline-start:var(--default-clickable-area) !important}.app-navigation-personal>ul>li>.app-navigation-entry-edit,.app-navigation-administration>ul>li>.app-navigation-entry-edit{padding-inline-start:calc(var(--default-clickable-area) - 6px) !important}.app-navigation-personal>ul>li a:hover,.app-navigation-personal>ul>li a:hover>a,.app-navigation-personal>ul>li a:focus,.app-navigation-personal>ul>li a:focus>a,.app-navigation-administration>ul>li a:hover,.app-navigation-administration>ul>li a:hover>a,.app-navigation-administration>ul>li a:focus,.app-navigation-administration>ul>li a:focus>a{background-color:var(--color-background-hover)}.app-navigation-personal>ul>li a:focus-visible,.app-navigation-administration>ul>li a:focus-visible{box-shadow:0 0 0 4px var(--color-main-background);outline:2px solid var(--color-main-text)}.app-navigation-personal>ul>li.active,.app-navigation-personal>ul>li.active>a,.app-navigation-personal>ul>li a:active,.app-navigation-personal>ul>li a:active>a,.app-navigation-personal>ul>li a.selected,.app-navigation-personal>ul>li a.selected>a,.app-navigation-personal>ul>li a.active,.app-navigation-personal>ul>li a.active>a,.app-navigation-administration>ul>li.active,.app-navigation-administration>ul>li.active>a,.app-navigation-administration>ul>li a:active,.app-navigation-administration>ul>li a:active>a,.app-navigation-administration>ul>li a.selected,.app-navigation-administration>ul>li a.selected>a,.app-navigation-administration>ul>li a.active,.app-navigation-administration>ul>li a.active>a{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.app-navigation-personal>ul>li.active:first-child>img,.app-navigation-personal>ul>li.active>a:first-child>img,.app-navigation-personal>ul>li a:active:first-child>img,.app-navigation-personal>ul>li a:active>a:first-child>img,.app-navigation-personal>ul>li a.selected:first-child>img,.app-navigation-personal>ul>li a.selected>a:first-child>img,.app-navigation-personal>ul>li a.active:first-child>img,.app-navigation-personal>ul>li a.active>a:first-child>img,.app-navigation-administration>ul>li.active:first-child>img,.app-navigation-administration>ul>li.active>a:first-child>img,.app-navigation-administration>ul>li a:active:first-child>img,.app-navigation-administration>ul>li a:active>a:first-child>img,.app-navigation-administration>ul>li a.selected:first-child>img,.app-navigation-administration>ul>li a.selected>a:first-child>img,.app-navigation-administration>ul>li a.active:first-child>img,.app-navigation-administration>ul>li a.active>a:first-child>img{filter:var(--primary-invert-if-dark)}.app-navigation-personal>ul>li.icon-loading-small:after,.app-navigation-administration>ul>li.icon-loading-small:after{inset-inline-start:22px;top:22px}.app-navigation-personal>ul>li.deleted>ul,.app-navigation-personal>ul>li.collapsible:not(.open)>ul,.app-navigation-administration>ul>li.deleted>ul,.app-navigation-administration>ul>li.collapsible:not(.open)>ul{display:none}.app-navigation-personal>ul>li>ul,.app-navigation-administration>ul>li>ul{flex:0 1 auto;width:100%;position:relative}.app-navigation-personal>ul>li>ul>li,.app-navigation-administration>ul>li>ul>li{display:inline-flex;flex-wrap:wrap;padding-inline-start:var(--default-clickable-area);width:100%;margin-bottom:3px}.app-navigation-personal>ul>li>ul>li:hover,.app-navigation-personal>ul>li>ul>li:hover>a,.app-navigation-personal>ul>li>ul>li:focus,.app-navigation-personal>ul>li>ul>li:focus>a,.app-navigation-administration>ul>li>ul>li:hover,.app-navigation-administration>ul>li>ul>li:hover>a,.app-navigation-administration>ul>li>ul>li:focus,.app-navigation-administration>ul>li>ul>li:focus>a{border-radius:var(--border-radius-element);background-color:var(--color-background-hover)}.app-navigation-personal>ul>li>ul>li.active,.app-navigation-personal>ul>li>ul>li.active>a,.app-navigation-personal>ul>li>ul>li a.selected,.app-navigation-personal>ul>li>ul>li a.selected>a,.app-navigation-administration>ul>li>ul>li.active,.app-navigation-administration>ul>li>ul>li.active>a,.app-navigation-administration>ul>li>ul>li a.selected,.app-navigation-administration>ul>li>ul>li a.selected>a{border-radius:var(--border-radius-element);background-color:var(--color-primary-element-light)}.app-navigation-personal>ul>li>ul>li.active:first-child>img,.app-navigation-personal>ul>li>ul>li.active>a:first-child>img,.app-navigation-personal>ul>li>ul>li a.selected:first-child>img,.app-navigation-personal>ul>li>ul>li a.selected>a:first-child>img,.app-navigation-administration>ul>li>ul>li.active:first-child>img,.app-navigation-administration>ul>li>ul>li.active>a:first-child>img,.app-navigation-administration>ul>li>ul>li a.selected:first-child>img,.app-navigation-administration>ul>li>ul>li a.selected>a:first-child>img{filter:var(--primary-invert-if-dark)}.app-navigation-personal>ul>li>ul>li.icon-loading-small:after,.app-navigation-administration>ul>li>ul>li.icon-loading-small:after{inset-inline-start:calc(var(--default-clickable-area)/2)}.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-deleted,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-deleted{margin-inline-start:4px;padding-inline-start:84px}.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-edit,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-edit{margin-inline-start:4px;padding-inline-start:calc(2*var(--default-clickable-area) - 10px) !important}.app-navigation-personal>ul>li,.app-navigation-personal>ul>li>ul>li,.app-navigation-administration>ul>li,.app-navigation-administration>ul>li>ul>li{position:relative;box-sizing:border-box}.app-navigation-personal>ul>li.icon-loading-small>a,.app-navigation-personal>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-personal>ul>li>ul>li.icon-loading-small>a,.app-navigation-personal>ul>li>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-administration>ul>li.icon-loading-small>a,.app-navigation-administration>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>ul>li.icon-loading-small>a,.app-navigation-administration>ul>li>ul>li.icon-loading-small>.app-navigation-entry-bullet{background:rgba(0,0,0,0) !important}.app-navigation-personal>ul>li>a,.app-navigation-personal>ul>li>ul>li>a,.app-navigation-administration>ul>li>a,.app-navigation-administration>ul>li>ul>li>a{background-size:16px 16px;background-repeat:no-repeat;display:block;justify-content:space-between;line-height:var(--default-clickable-area);min-height:var(--default-clickable-area);padding-block:0;padding-inline:calc(2*var(--default-grid-baseline));overflow:hidden;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;border-radius:var(--border-radius-element);color:var(--color-main-text);flex:1 1 0px;z-index:100}.app-navigation-personal>ul>li>a.svg,.app-navigation-personal>ul>li>ul>li>a.svg,.app-navigation-administration>ul>li>a.svg,.app-navigation-administration>ul>li>ul>li>a.svg{padding-block:0;padding-inline:var(--default-clickable-area) 12px}.app-navigation-personal>ul>li>a.svg :focus-visible,.app-navigation-personal>ul>li>ul>li>a.svg :focus-visible,.app-navigation-administration>ul>li>a.svg :focus-visible,.app-navigation-administration>ul>li>ul>li>a.svg :focus-visible{padding-block:0;padding-inline:calc(var(--default-clickable-area) - 2px) 8px}.app-navigation-personal>ul>li>a:first-child img,.app-navigation-personal>ul>li>ul>li>a:first-child img,.app-navigation-administration>ul>li>a:first-child img,.app-navigation-administration>ul>li>ul>li>a:first-child img{margin-inline-end:calc(2*var(--default-grid-baseline)) !important;width:16px;height:16px;filter:var(--background-invert-if-dark)}.app-navigation-personal>ul>li>a>.app-navigation-entry-utils,.app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,.app-navigation-administration>ul>li>a>.app-navigation-entry-utils,.app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{display:inline-block}.app-navigation-personal>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter{padding-inline-end:0 !important}.app-navigation-personal>ul>li>.app-navigation-entry-bullet,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-bullet{position:absolute;display:block;margin:16px;width:12px;height:12px;border:none;border-radius:50%;cursor:pointer;transition:background 100ms ease-in-out}.app-navigation-personal>ul>li>.app-navigation-entry-bullet+a,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-bullet+a,.app-navigation-administration>ul>li>.app-navigation-entry-bullet+a,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-bullet+a{background:rgba(0,0,0,0) !important}.app-navigation-personal>ul>li>.app-navigation-entry-menu,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-menu,.app-navigation-administration>ul>li>.app-navigation-entry-menu,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-menu{top:var(--default-clickable-area)}.app-navigation-personal>ul>li.editing .app-navigation-entry-edit,.app-navigation-personal>ul>li>ul>li.editing .app-navigation-entry-edit,.app-navigation-administration>ul>li.editing .app-navigation-entry-edit,.app-navigation-administration>ul>li>ul>li.editing .app-navigation-entry-edit{opacity:1;z-index:250}.app-navigation-personal>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-personal>ul>li>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-administration>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-administration>ul>li>ul>li.deleted .app-navigation-entry-deleted{transform:translateX(0);z-index:250}.app-navigation-personal.hidden,.app-navigation-administration.hidden{display:none}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button{border:0;opacity:.5;background-color:rgba(0,0,0,0);background-repeat:no-repeat;background-position:center}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:hover,.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:focus,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:hover,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:focus,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus{background-color:rgba(0,0,0,0);opacity:1}.app-navigation-personal .collapsible .collapse,.app-navigation-administration .collapsible .collapse{opacity:0;position:absolute;width:var(--default-clickable-area);height:var(--default-clickable-area);margin:0;z-index:110;inset-inline-start:0}.app-navigation-personal .collapsible .collapse:focus-visible,.app-navigation-administration .collapsible .collapse:focus-visible{opacity:1;border-width:0;box-shadow:inset 0 0 0 2px var(--color-primary-element);background:none}.app-navigation-personal .collapsible:before,.app-navigation-administration .collapsible:before{position:absolute;height:var(--default-clickable-area);width:var(--default-clickable-area);margin:0;padding:0;background:none;background-image:var(--icon-triangle-s-dark);background-size:16px;background-repeat:no-repeat;background-position:center;border:none;outline:none !important;box-shadow:none;content:" ";opacity:0;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);z-index:105;border-radius:50%;transition:opacity 100ms ease-in-out}.app-navigation-personal .collapsible>a:first-child,.app-navigation-administration .collapsible>a:first-child{padding-inline-start:var(--default-clickable-area)}.app-navigation-personal .collapsible:hover:before,.app-navigation-personal .collapsible:focus:before,.app-navigation-administration .collapsible:hover:before,.app-navigation-administration .collapsible:focus:before{opacity:1}.app-navigation-personal .collapsible:hover>a,.app-navigation-personal .collapsible:focus>a,.app-navigation-administration .collapsible:hover>a,.app-navigation-administration .collapsible:focus>a{background-image:none}.app-navigation-personal .collapsible:hover>.app-navigation-entry-bullet,.app-navigation-personal .collapsible:focus>.app-navigation-entry-bullet,.app-navigation-administration .collapsible:hover>.app-navigation-entry-bullet,.app-navigation-administration .collapsible:focus>.app-navigation-entry-bullet{background:rgba(0,0,0,0) !important}.app-navigation-personal .collapsible.open:before,.app-navigation-administration .collapsible.open:before{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.app-navigation-personal .app-navigation-entry-utils,.app-navigation-administration .app-navigation-entry-utils{flex:0 1 auto}.app-navigation-personal .app-navigation-entry-utils ul,.app-navigation-administration .app-navigation-entry-utils ul{display:flex !important;align-items:center;justify-content:flex-end}.app-navigation-personal .app-navigation-entry-utils li,.app-navigation-administration .app-navigation-entry-utils li{width:var(--default-clickable-area) !important;height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-utils button,.app-navigation-administration .app-navigation-entry-utils button{height:100%;width:100%;margin:0;box-shadow:none}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button button:not([class^=icon-]):not([class*=" icon-"]),.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button button:not([class^=icon-]):not([class*=" icon-"]){background-image:var(--icon-more-dark)}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:hover button,.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:focus button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:hover button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:focus button{background-color:rgba(0,0,0,0);opacity:1}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter{overflow:hidden;text-align:end;font-size:9pt;line-height:var(--default-clickable-area);padding:0 12px}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted{padding:0;text-align:center}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted span,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted span{padding:2px 5px;border-radius:10px;background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.app-navigation-personal .app-navigation-entry-edit,.app-navigation-administration .app-navigation-entry-edit{padding-inline:5px;display:block;width:calc(100% - 1px);transition:opacity 250ms ease-in-out;opacity:0;position:absolute;background-color:var(--color-main-background);z-index:-1}.app-navigation-personal .app-navigation-entry-edit form,.app-navigation-personal .app-navigation-entry-edit div,.app-navigation-administration .app-navigation-entry-edit form,.app-navigation-administration .app-navigation-entry-edit div{display:inline-flex;width:100%}.app-navigation-personal .app-navigation-entry-edit input,.app-navigation-administration .app-navigation-entry-edit input{padding:5px;margin-inline-end:0;height:38px}.app-navigation-personal .app-navigation-entry-edit input:hover,.app-navigation-personal .app-navigation-entry-edit input:focus,.app-navigation-administration .app-navigation-entry-edit input:hover,.app-navigation-administration .app-navigation-entry-edit input:focus{z-index:1}.app-navigation-personal .app-navigation-entry-edit input[type=text],.app-navigation-administration .app-navigation-entry-edit input[type=text]{width:100%;min-width:0;border-end-end-radius:0;border-start-end-radius:0}.app-navigation-personal .app-navigation-entry-edit button,.app-navigation-personal .app-navigation-entry-edit input:not([type=text]),.app-navigation-administration .app-navigation-entry-edit button,.app-navigation-administration .app-navigation-entry-edit input:not([type=text]){width:36px;height:38px;flex:0 0 36px}.app-navigation-personal .app-navigation-entry-edit button:not(:last-child),.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):not(:last-child),.app-navigation-administration .app-navigation-entry-edit button:not(:last-child),.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):not(:last-child){border-radius:0 !important}.app-navigation-personal .app-navigation-entry-edit button:not(:first-child),.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):not(:first-child),.app-navigation-administration .app-navigation-entry-edit button:not(:first-child),.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):not(:first-child){margin-inline-start:-1px}.app-navigation-personal .app-navigation-entry-edit button:last-child,.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):last-child,.app-navigation-administration .app-navigation-entry-edit button:last-child,.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):last-child{border-end-end-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-start-radius:0;border-start-start-radius:0}.app-navigation-personal .app-navigation-entry-deleted,.app-navigation-administration .app-navigation-entry-deleted{display:inline-flex;padding-inline-start:var(--default-clickable-area);transform:translateX(300px)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-description,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-description{position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1 1 0px;line-height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button{margin:0;height:var(--default-clickable-area);width:var(--default-clickable-area);line-height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus{opacity:1}.app-navigation-personal .app-navigation-entry-edit,.app-navigation-personal .app-navigation-entry-deleted,.app-navigation-administration .app-navigation-entry-edit,.app-navigation-administration .app-navigation-entry-deleted{width:calc(100% - 1px);transition:transform 250ms ease-in-out,opacity 250ms ease-in-out,z-index 250ms ease-in-out;position:absolute;inset-inline-start:0;background-color:var(--color-main-background);box-sizing:border-box}.app-navigation-personal .drag-and-drop,.app-navigation-administration .drag-and-drop{-webkit-transition:padding-bottom 500ms ease 0s;transition:padding-bottom 500ms ease 0s;padding-bottom:40px}.app-navigation-personal .error,.app-navigation-administration .error{color:var(--color-error)}.app-navigation-personal .app-navigation-entry-utils ul,.app-navigation-personal .app-navigation-entry-menu ul,.app-navigation-administration .app-navigation-entry-utils ul,.app-navigation-administration .app-navigation-entry-menu ul{list-style-type:none}body[dir=ltr] .app-navigation-personal .app-navigation-new button,body[dir=ltr] .app-navigation-administration .app-navigation-new button{background-position:left 10px center}body[dir=ltr] .app-navigation-personal>ul>li>ul>li>a,body[dir=ltr] .app-navigation-administration>ul>li>ul>li>a{background-position:left 14px center}body[dir=ltr] .app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,body[dir=ltr] .app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{float:right}body[dir=rtl] .app-navigation-personal .app-navigation-new button,body[dir=rtl] .app-navigation-administration .app-navigation-new button{background-position:right 10px center}body[dir=rtl] .app-navigation-personal>ul>li>ul>li>a,body[dir=rtl] .app-navigation-administration>ul>li>ul>li>a{background-position:right 14px center}body[dir=rtl] .app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,body[dir=rtl] .app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{float:left}#content{box-sizing:border-box;position:static;margin:var(--body-container-margin);margin-top:var(--header-height);padding:0;display:flex;width:calc(100% - var(--body-container-margin)*2);height:var(--body-height);border-radius:var(--body-container-radius);overflow:clip}#content:not(.with-sidebar--full){position:fixed}@media only screen and (max-width: 1024px){#content{border-start-start-radius:var(--border-radius-large);border-start-end-radius:var(--border-radius-large)}#app-navigation{border-start-start-radius:var(--border-radius-large)}#app-sidebar{border-start-end-radius:var(--border-radius-large)}}#app-content{z-index:1000;background-color:var(--color-main-background);flex-basis:100vw;overflow:auto;position:initial;height:100%}#app-content>.section:first-child{border-top:none}#app-content #app-content-wrapper{display:flex;position:relative;align-items:stretch;min-height:100%}#app-content #app-content-wrapper .app-content-details{flex:1 1 524px}#app-content #app-content-wrapper .app-content-details #app-navigation-toggle-back{display:none}#app-content::-webkit-scrollbar-button{height:var(--body-container-radius)}#app-sidebar{width:27vw;min-width:300px;max-width:500px;display:block;position:-webkit-sticky;position:sticky;top:50px;inset-inline-end:0;overflow-y:auto;overflow-x:hidden;z-index:1500;opacity:.7px;height:calc(100vh - 50px);background:var(--color-main-background);border-inline-start:1px solid var(--color-border);flex-shrink:0}#app-sidebar.disappear{display:none}#app-settings{margin-top:auto}#app-settings.open #app-settings-content,#app-settings.opened #app-settings-content{display:block}#app-settings-content{display:none;padding:calc(var(--default-grid-baseline)*2);padding-top:0;padding-inline-start:calc(var(--default-grid-baseline)*4);max-height:300px;overflow-y:auto;box-sizing:border-box}#app-settings-content input[type=text]{width:93%}#app-settings-content .info-text{padding-block:5px 7px;padding-inline:22px 0;color:var(--color-text-lighter)}#app-settings-content input[type=checkbox].radio+label,#app-settings-content input[type=checkbox].checkbox+label,#app-settings-content input[type=radio].radio+label,#app-settings-content input[type=radio].checkbox+label{display:inline-block;width:100%;padding:5px 0}#app-settings-header{box-sizing:border-box;background-color:rgba(0,0,0,0);overflow:hidden;border-radius:calc(var(--default-clickable-area)/2);padding:calc(var(--default-grid-baseline)*2);padding-top:0}#app-settings-header .settings-button{display:flex;align-items:center;height:var(--default-clickable-area);width:100%;padding:0;margin:0;background-color:rgba(0,0,0,0);box-shadow:none;border:0;border-radius:calc(var(--default-clickable-area)/2);text-align:start;font-weight:normal;font-size:100%;opacity:.8;color:var(--color-main-text)}#app-settings-header .settings-button.opened{border-top:solid 1px var(--color-border);background-color:var(--color-main-background);margin-top:8px}#app-settings-header .settings-button:hover,#app-settings-header .settings-button:focus{background-color:var(--color-background-hover)}#app-settings-header .settings-button::before{background-image:var(--icon-settings-dark);background-repeat:no-repeat;content:"";width:var(--default-clickable-area);height:var(--default-clickable-area);top:0;inset-inline-start:0;display:block}#app-settings-header .settings-button:focus-visible{box-shadow:0 0 0 2px inset var(--color-primary-element) !important}body[dir=ltr] #app-settings-header .settings-button::before{background-position:left 14px center}body[dir=ltr] #app-settings-header .settings-button:focus-visible{background-position:left 12px center}body[dir=rtl] #app-settings-header .settings-button::before{background-position:right 14px center}body[dir=rtl] #app-settings-header .settings-button:focus-visible{background-position:right 12px center}.section{display:block;padding:30px;margin-bottom:24px}.section.hidden{display:none !important}.section input[type=checkbox],.section input[type=radio]{vertical-align:-2px;margin-inline-end:4px}.sub-section{position:relative;margin-top:10px;margin-inline-start:27px;margin-bottom:10px}.appear{opacity:1;-webkit-transition:opacity 500ms ease 0s;-moz-transition:opacity 500ms ease 0s;-ms-transition:opacity 500ms ease 0s;-o-transition:opacity 500ms ease 0s;transition:opacity 500ms ease 0s}.appear.transparent{opacity:0}.tabHeaders{display:flex;margin-bottom:16px}.tabHeaders .tabHeader{display:flex;flex-direction:column;flex-grow:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--color-text-lighter);margin-bottom:1px;padding:5px}.tabHeaders .tabHeader.hidden{display:none}.tabHeaders .tabHeader:first-child{padding-inline-start:15px}.tabHeaders .tabHeader:last-child{padding-inline-end:15px}.tabHeaders .tabHeader .icon{display:inline-block;width:100%;height:16px;background-size:16px;vertical-align:middle;margin-top:-2px;margin-inline-end:3px;opacity:.7;cursor:pointer}.tabHeaders .tabHeader a{color:var(--color-text-lighter);margin-bottom:1px;overflow:hidden;text-overflow:ellipsis}.tabHeaders .tabHeader.selected{font-weight:bold}.tabHeaders .tabHeader.selected,.tabHeaders .tabHeader:hover,.tabHeaders .tabHeader:focus{margin-bottom:0px;color:var(--color-main-text);border-bottom:1px solid var(--color-text-lighter)}.tabsContainer .tab{padding:0 15px 15px}body[dir=ltr] .tabsContainer{clear:left}body[dir=rtl] .tabsContainer{clear:right}.v-popper__inner div.open>ul>li>a>span.action-link__icon,.v-popper__inner div.open>ul>li>a>span.action-router__icon,.v-popper__inner div.open>ul>li>a>img{filter:var(--background-invert-if-dark)}.v-popper__inner div.open>ul>li>a>span.action-link__icon[src^=data],.v-popper__inner div.open>ul>li>a>span.action-router__icon[src^=data],.v-popper__inner div.open>ul>li>a>img[src^=data]{filter:none}.bubble,.app-navigation-entry-menu,.popovermenu{position:absolute;background-color:var(--color-main-background);color:var(--color-main-text);border-radius:var(--border-radius-large);padding:3px;z-index:110;margin:5px;margin-top:-5px;inset-inline-end:0;filter:drop-shadow(0 1px 3px var(--color-box-shadow));display:none;will-change:filter}.bubble:after,.app-navigation-entry-menu:after,.popovermenu:after{bottom:100%;inset-inline-end:7px;border:solid rgba(0,0,0,0);content:" ";height:0;width:0;position:absolute;pointer-events:none;border-bottom-color:var(--color-main-background);border-width:9px}.bubble.menu-center,.app-navigation-entry-menu.menu-center,.popovermenu.menu-center{transform:translateX(50%);inset-inline-end:50%;margin-inline-end:0}.bubble.menu-center:after,.app-navigation-entry-menu.menu-center:after,.popovermenu.menu-center:after{inset-inline-end:50%;transform:translateX(50%)}.bubble.menu-left,.app-navigation-entry-menu.menu-left,.popovermenu.menu-left{inset-inline:0 auto;margin-inline-end:0}.bubble.menu-left:after,.app-navigation-entry-menu.menu-left:after,.popovermenu.menu-left:after{inset-inline:6px auto}.bubble.open,.app-navigation-entry-menu.open,.popovermenu.open{display:block}.bubble.contactsmenu-popover,.app-navigation-entry-menu.contactsmenu-popover,.popovermenu.contactsmenu-popover{margin:0}.bubble ul,.app-navigation-entry-menu ul,.popovermenu ul{display:flex !important;flex-direction:column}.bubble li,.app-navigation-entry-menu li,.popovermenu li{display:flex;flex:0 0 auto}.bubble li.hidden,.app-navigation-entry-menu li.hidden,.popovermenu li.hidden{display:none}.bubble li>button,.bubble li>a,.bubble li>.menuitem,.app-navigation-entry-menu li>button,.app-navigation-entry-menu li>a,.app-navigation-entry-menu li>.menuitem,.popovermenu li>button,.popovermenu li>a,.popovermenu li>.menuitem{cursor:pointer;line-height:34px;border:0;border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap}.bubble li>button span[class^=icon-],.bubble li>button span[class*=" icon-"],.bubble li>button[class^=icon-],.bubble li>button[class*=" icon-"],.bubble li>a span[class^=icon-],.bubble li>a span[class*=" icon-"],.bubble li>a[class^=icon-],.bubble li>a[class*=" icon-"],.bubble li>.menuitem span[class^=icon-],.bubble li>.menuitem span[class*=" icon-"],.bubble li>.menuitem[class^=icon-],.bubble li>.menuitem[class*=" icon-"],.app-navigation-entry-menu li>button span[class^=icon-],.app-navigation-entry-menu li>button span[class*=" icon-"],.app-navigation-entry-menu li>button[class^=icon-],.app-navigation-entry-menu li>button[class*=" icon-"],.app-navigation-entry-menu li>a span[class^=icon-],.app-navigation-entry-menu li>a span[class*=" icon-"],.app-navigation-entry-menu li>a[class^=icon-],.app-navigation-entry-menu li>a[class*=" icon-"],.app-navigation-entry-menu li>.menuitem span[class^=icon-],.app-navigation-entry-menu li>.menuitem span[class*=" icon-"],.app-navigation-entry-menu li>.menuitem[class^=icon-],.app-navigation-entry-menu li>.menuitem[class*=" icon-"],.popovermenu li>button span[class^=icon-],.popovermenu li>button span[class*=" icon-"],.popovermenu li>button[class^=icon-],.popovermenu li>button[class*=" icon-"],.popovermenu li>a span[class^=icon-],.popovermenu li>a span[class*=" icon-"],.popovermenu li>a[class^=icon-],.popovermenu li>a[class*=" icon-"],.popovermenu li>.menuitem span[class^=icon-],.popovermenu li>.menuitem span[class*=" icon-"],.popovermenu li>.menuitem[class^=icon-],.popovermenu li>.menuitem[class*=" icon-"]{min-width:0;min-height:0;background-position:9px center;background-size:16px}.bubble li>button span[class^=icon-],.bubble li>button span[class*=" icon-"],.bubble li>a span[class^=icon-],.bubble li>a span[class*=" icon-"],.bubble li>.menuitem span[class^=icon-],.bubble li>.menuitem span[class*=" icon-"],.app-navigation-entry-menu li>button span[class^=icon-],.app-navigation-entry-menu li>button span[class*=" icon-"],.app-navigation-entry-menu li>a span[class^=icon-],.app-navigation-entry-menu li>a span[class*=" icon-"],.app-navigation-entry-menu li>.menuitem span[class^=icon-],.app-navigation-entry-menu li>.menuitem span[class*=" icon-"],.popovermenu li>button span[class^=icon-],.popovermenu li>button span[class*=" icon-"],.popovermenu li>a span[class^=icon-],.popovermenu li>a span[class*=" icon-"],.popovermenu li>.menuitem span[class^=icon-],.popovermenu li>.menuitem span[class*=" icon-"]{padding:17px 0 17px 34px}.bubble li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child{margin-inline-start:34px}.bubble li>button[class^=icon-],.bubble li>button[class*=" icon-"],.bubble li>a[class^=icon-],.bubble li>a[class*=" icon-"],.bubble li>.menuitem[class^=icon-],.bubble li>.menuitem[class*=" icon-"],.app-navigation-entry-menu li>button[class^=icon-],.app-navigation-entry-menu li>button[class*=" icon-"],.app-navigation-entry-menu li>a[class^=icon-],.app-navigation-entry-menu li>a[class*=" icon-"],.app-navigation-entry-menu li>.menuitem[class^=icon-],.app-navigation-entry-menu li>.menuitem[class*=" icon-"],.popovermenu li>button[class^=icon-],.popovermenu li>button[class*=" icon-"],.popovermenu li>a[class^=icon-],.popovermenu li>a[class*=" icon-"],.popovermenu li>.menuitem[class^=icon-],.popovermenu li>.menuitem[class*=" icon-"]{padding:0 9px 0 34px !important}.bubble li>button:hover,.bubble li>button:focus,.bubble li>a:hover,.bubble li>a:focus,.bubble li>.menuitem:hover,.bubble li>.menuitem:focus,.app-navigation-entry-menu li>button:hover,.app-navigation-entry-menu li>button:focus,.app-navigation-entry-menu li>a:hover,.app-navigation-entry-menu li>a:focus,.app-navigation-entry-menu li>.menuitem:hover,.app-navigation-entry-menu li>.menuitem:focus,.popovermenu li>button:hover,.popovermenu li>button:focus,.popovermenu li>a:hover,.popovermenu li>a:focus,.popovermenu li>.menuitem:hover,.popovermenu li>.menuitem:focus{background-color:var(--color-background-hover)}.bubble li>button:focus,.bubble li>button:focus-visible,.bubble li>a:focus,.bubble li>a:focus-visible,.bubble li>.menuitem:focus,.bubble li>.menuitem:focus-visible,.app-navigation-entry-menu li>button:focus,.app-navigation-entry-menu li>button:focus-visible,.app-navigation-entry-menu li>a:focus,.app-navigation-entry-menu li>a:focus-visible,.app-navigation-entry-menu li>.menuitem:focus,.app-navigation-entry-menu li>.menuitem:focus-visible,.popovermenu li>button:focus,.popovermenu li>button:focus-visible,.popovermenu li>a:focus,.popovermenu li>a:focus-visible,.popovermenu li>.menuitem:focus,.popovermenu li>.menuitem:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element)}.bubble li>button.active,.bubble li>a.active,.bubble li>.menuitem.active,.app-navigation-entry-menu li>button.active,.app-navigation-entry-menu li>a.active,.app-navigation-entry-menu li>.menuitem.active,.popovermenu li>button.active,.popovermenu li>a.active,.popovermenu li>.menuitem.active{border-radius:var(--border-radius-element);background-color:var(--color-primary-element-light)}.bubble li>button.action,.bubble li>a.action,.bubble li>.menuitem.action,.app-navigation-entry-menu li>button.action,.app-navigation-entry-menu li>a.action,.app-navigation-entry-menu li>.menuitem.action,.popovermenu li>button.action,.popovermenu li>a.action,.popovermenu li>.menuitem.action{padding:inherit !important}.bubble li>button>span,.bubble li>a>span,.bubble li>.menuitem>span,.app-navigation-entry-menu li>button>span,.app-navigation-entry-menu li>a>span,.app-navigation-entry-menu li>.menuitem>span,.popovermenu li>button>span,.popovermenu li>a>span,.popovermenu li>.menuitem>span{cursor:pointer;white-space:nowrap}.bubble li>button>p,.bubble li>a>p,.bubble li>.menuitem>p,.app-navigation-entry-menu li>button>p,.app-navigation-entry-menu li>a>p,.app-navigation-entry-menu li>.menuitem>p,.popovermenu li>button>p,.popovermenu li>a>p,.popovermenu li>.menuitem>p{width:150px;line-height:1.6em;padding:8px 0;white-space:normal}.bubble li>button>select,.bubble li>a>select,.bubble li>.menuitem>select,.app-navigation-entry-menu li>button>select,.app-navigation-entry-menu li>a>select,.app-navigation-entry-menu li>.menuitem>select,.popovermenu li>button>select,.popovermenu li>a>select,.popovermenu li>.menuitem>select{margin:0;margin-inline-start:6px}.bubble li>button:not(:empty),.bubble li>a:not(:empty),.bubble li>.menuitem:not(:empty),.app-navigation-entry-menu li>button:not(:empty),.app-navigation-entry-menu li>a:not(:empty),.app-navigation-entry-menu li>.menuitem:not(:empty),.popovermenu li>button:not(:empty),.popovermenu li>a:not(:empty),.popovermenu li>.menuitem:not(:empty){padding-inline-end:9px !important}.bubble li>button>img,.bubble li>a>img,.bubble li>.menuitem>img,.app-navigation-entry-menu li>button>img,.app-navigation-entry-menu li>a>img,.app-navigation-entry-menu li>.menuitem>img,.popovermenu li>button>img,.popovermenu li>a>img,.popovermenu li>.menuitem>img{width:16px;padding:9px}.bubble li>button>input.radio+label,.bubble li>button>input.checkbox+label,.bubble li>a>input.radio+label,.bubble li>a>input.checkbox+label,.bubble li>.menuitem>input.radio+label,.bubble li>.menuitem>input.checkbox+label,.app-navigation-entry-menu li>button>input.radio+label,.app-navigation-entry-menu li>button>input.checkbox+label,.app-navigation-entry-menu li>a>input.radio+label,.app-navigation-entry-menu li>a>input.checkbox+label,.app-navigation-entry-menu li>.menuitem>input.radio+label,.app-navigation-entry-menu li>.menuitem>input.checkbox+label,.popovermenu li>button>input.radio+label,.popovermenu li>button>input.checkbox+label,.popovermenu li>a>input.radio+label,.popovermenu li>a>input.checkbox+label,.popovermenu li>.menuitem>input.radio+label,.popovermenu li>.menuitem>input.checkbox+label{padding:0 !important;width:100%}.bubble li>button>input.checkbox+label::before,.bubble li>a>input.checkbox+label::before,.bubble li>.menuitem>input.checkbox+label::before,.app-navigation-entry-menu li>button>input.checkbox+label::before,.app-navigation-entry-menu li>a>input.checkbox+label::before,.app-navigation-entry-menu li>.menuitem>input.checkbox+label::before,.popovermenu li>button>input.checkbox+label::before,.popovermenu li>a>input.checkbox+label::before,.popovermenu li>.menuitem>input.checkbox+label::before{margin:-2px 13px 0}.bubble li>button>input.radio+label::before,.bubble li>a>input.radio+label::before,.bubble li>.menuitem>input.radio+label::before,.app-navigation-entry-menu li>button>input.radio+label::before,.app-navigation-entry-menu li>a>input.radio+label::before,.app-navigation-entry-menu li>.menuitem>input.radio+label::before,.popovermenu li>button>input.radio+label::before,.popovermenu li>a>input.radio+label::before,.popovermenu li>.menuitem>input.radio+label::before{margin:-2px 12px 0}.bubble li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.bubble li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.bubble li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}.bubble li>button form,.bubble li>a form,.bubble li>.menuitem form,.app-navigation-entry-menu li>button form,.app-navigation-entry-menu li>a form,.app-navigation-entry-menu li>.menuitem form,.popovermenu li>button form,.popovermenu li>a form,.popovermenu li>.menuitem form{display:flex;flex:1 1 auto;align-items:center}.bubble li>button form:not(:first-child),.bubble li>a form:not(:first-child),.bubble li>.menuitem form:not(:first-child),.app-navigation-entry-menu li>button form:not(:first-child),.app-navigation-entry-menu li>a form:not(:first-child),.app-navigation-entry-menu li>.menuitem form:not(:first-child),.popovermenu li>button form:not(:first-child),.popovermenu li>a form:not(:first-child),.popovermenu li>.menuitem form:not(:first-child){margin-inline-start:5px}.bubble li>button>span.hidden+form,.bubble li>button>span[style*="display:none"]+form,.bubble li>a>span.hidden+form,.bubble li>a>span[style*="display:none"]+form,.bubble li>.menuitem>span.hidden+form,.bubble li>.menuitem>span[style*="display:none"]+form,.app-navigation-entry-menu li>button>span.hidden+form,.app-navigation-entry-menu li>button>span[style*="display:none"]+form,.app-navigation-entry-menu li>a>span.hidden+form,.app-navigation-entry-menu li>a>span[style*="display:none"]+form,.app-navigation-entry-menu li>.menuitem>span.hidden+form,.app-navigation-entry-menu li>.menuitem>span[style*="display:none"]+form,.popovermenu li>button>span.hidden+form,.popovermenu li>button>span[style*="display:none"]+form,.popovermenu li>a>span.hidden+form,.popovermenu li>a>span[style*="display:none"]+form,.popovermenu li>.menuitem>span.hidden+form,.popovermenu li>.menuitem>span[style*="display:none"]+form{margin-inline-start:0}.bubble li>button input,.bubble li>a input,.bubble li>.menuitem input,.app-navigation-entry-menu li>button input,.app-navigation-entry-menu li>a input,.app-navigation-entry-menu li>.menuitem input,.popovermenu li>button input,.popovermenu li>a input,.popovermenu li>.menuitem input{min-width:34px;max-height:30px;margin:2px 0;flex:1 1 auto}.bubble li>button input:not(:first-child),.bubble li>a input:not(:first-child),.bubble li>.menuitem input:not(:first-child),.app-navigation-entry-menu li>button input:not(:first-child),.app-navigation-entry-menu li>a input:not(:first-child),.app-navigation-entry-menu li>.menuitem input:not(:first-child),.popovermenu li>button input:not(:first-child),.popovermenu li>a input:not(:first-child),.popovermenu li>.menuitem input:not(:first-child){margin-inline-start:5px}.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input{margin-top:7px}.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input{margin-bottom:0px}.bubble li>button,.app-navigation-entry-menu li>button,.popovermenu li>button{padding:0}.bubble li>button span,.app-navigation-entry-menu li>button span,.popovermenu li>button span{opacity:1}.popovermenu li>button>img,.popovermenu li>a>img,.popovermenu li>.menuitem>img{width:34px;height:34px}#contactsmenu .contact .popovermenu li>a>img{width:16px;height:16px}.app-content-list{position:-webkit-sticky;position:relative;top:0;border-inline-end:1px solid var(--color-border);display:flex;flex-direction:column;transition:transform 250ms ease-in-out;min-height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;flex:1 1 200px;min-width:200px;max-width:300px}.app-content-list .app-content-list-item{position:relative;height:68px;cursor:pointer;padding:10px 7px;display:flex;flex-wrap:wrap;align-items:center;flex:0 0 auto}.app-content-list .app-content-list-item>[class^=icon-],.app-content-list .app-content-list-item>[class*=" icon-"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]{order:4;width:24px;height:24px;margin:-7px;padding:22px;opacity:.3;cursor:pointer}.app-content-list .app-content-list-item>[class^=icon-]:hover,.app-content-list .app-content-list-item>[class^=icon-]:focus,.app-content-list .app-content-list-item>[class*=" icon-"]:hover,.app-content-list .app-content-list-item>[class*=" icon-"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]:focus{opacity:.7}.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star],.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"],.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star],.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]{opacity:.7}.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star]:hover,.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star]:focus,.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star]:hover,.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star]:focus,.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]:focus{opacity:1}.app-content-list .app-content-list-item>[class^=icon-].icon-starred,.app-content-list .app-content-list-item>[class*=" icon-"].icon-starred,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-].icon-starred,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"].icon-starred{opacity:1}.app-content-list .app-content-list-item:hover,.app-content-list .app-content-list-item:focus,.app-content-list .app-content-list-item.active{background-color:var(--color-background-dark)}.app-content-list .app-content-list-item:hover .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item:focus .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item.active .app-content-list-item-checkbox.checkbox+label{display:flex}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item .app-content-list-item-star{position:absolute;height:40px;width:40px;z-index:50}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:checked+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:hover+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:focus+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox.active+label{display:flex}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:checked+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:hover+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:focus+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox.active+label+.app-content-list-item-icon{opacity:.7}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label{top:14px;inset-inline-start:7px;display:none}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label::before{margin:0}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label~.app-content-list-item-star{display:none}.app-content-list .app-content-list-item .app-content-list-item-star{display:flex;top:10px;inset-inline-start:32px;background-size:16px;height:20px;width:20px;margin:0;padding:0}.app-content-list .app-content-list-item .app-content-list-item-icon{position:absolute;display:inline-block;height:40px;width:40px;line-height:40px;border-radius:50%;vertical-align:middle;margin-inline-end:10px;color:#fff;text-align:center;font-size:1.5em;text-transform:capitalize;object-fit:cover;user-select:none;cursor:pointer;top:50%;margin-top:-20px}.app-content-list .app-content-list-item .app-content-list-item-line-one,.app-content-list .app-content-list-item .app-content-list-item-line-two{display:block;padding-inline:50px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;order:1;flex:1 1 0px;cursor:pointer}.app-content-list .app-content-list-item .app-content-list-item-line-two{opacity:.5;order:3;flex:1 0;flex-basis:calc(100% - var(--default-clickable-area))}.app-content-list .app-content-list-item .app-content-list-item-details{order:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;opacity:.5;font-size:80%;user-select:none}.app-content-list .app-content-list-item .app-content-list-item-menu{order:4;position:relative}.app-content-list .app-content-list-item .app-content-list-item-menu .popovermenu{margin:0;inset-inline-end:-2px}.app-content-list.selection .app-content-list-item-checkbox.checkbox+label{display:flex}.button.primary.skip-navigation:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}/*# sourceMappingURL=apps.css.map */ diff --git a/core/css/apps.css.map b/core/css/apps.css.map new file mode 100644 index 00000000000..929ca683ce5 --- /dev/null +++ b/core/css/apps.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["apps.scss","variables.scss","functions.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GCFA;AAAA;AAAA;AAAA,GFSA,sCAEC,MACC,wCACA,yCAKF,KACC,WACA,YACA,kBAEA,6EAGD,KAEC,6EAEA,yCACA,sBACA,2BACA,eACA,WACA,iDAKD,eAKC,gBACA,gBACA,gBACA,mBACA,6BAGD,GACC,gBAGD,GACC,gBAGD,GACC,gBAGD,GACC,iBAGD,GACC,gBAID,GACC,kBACA,oCAGD,GACC,eAGD,MAEC,qBACA,aACA,uBAGD,GACC,YACA,mBACA,eAGD,IACC,iBACA,sBACA,kCACA,mCACA,qBACA,mBAMD,wBACC,sBAKD,0BAEC,gGACA,MCxBkB,MDyBlB,YACA,gBACA,kBACA,mDACA,8CACA,+EACA,gBACA,YACA,sBACA,qBACA,iBACA,aACA,sBACA,YACA,cAEA,kDACC,iBACA,0CACA,2EACA,mBACA,uBACA,2BACA,iBACA,oBACA,yBAQD,gGACC,cACA,6CACA,8GACC,qBACA,WACA,aACA,0BACA,iBACA,SAIF,8DACC,kBAED,8DACC,kBACA,YACA,WACA,kBACA,gBACA,sBACA,aACA,sBACA,6CACA,iBAEA,oFACC,oDAGD,oEACC,oBACA,eACA,QACA,cACA,SACA,kBACA,WACA,2CAGA,kFACC,QACA,4GACC,2BAIF,gIAEC,8DAED,0HAIC,0EAKA,wVAEC,+CAGF,oGACC,kDACA,yCAMA,gsBAEC,8CACA,wCAEA,g8BACC,qCAMH,sHACC,wBACA,SAMA,kNAEC,aAKF,0EACC,cACA,WACA,kBACA,gFACC,oBACA,eACA,mDACA,WACA,kBAIC,wXAEC,2CACA,+CAKD,gZAEC,2CACA,oDACA,ghBACC,qCAMH,kIACC,yDAGD,4IAEC,wBACA,0BAGD,sIAEC,wBAGA,6EAMJ,oJAEC,kBACA,sBAGC,4jBAGC,oCAIF,4JACC,0BACA,4BACA,cACA,8BACA,0CACA,yCACA,gBACA,oDACA,gBACA,sBACA,mBACA,uBACA,2CACA,6BACA,aACA,YAGA,4KACC,gBACA,kDACA,wOACC,gBACA,6DAGF,4NACC,kEACA,WACA,YAEA,wCAID,4QACC,qBAEA,4ZACC,gCAKH,wQACC,kBACA,cACA,YACA,WACA,YACA,YACA,kBACA,eACA,wCAEA,gRAEC,oCAKF,gQACC,kCAID,gSACC,UACA,YAED,4SACC,wBACA,YAIH,sEACC,aAMD,4YAEC,SACA,WACA,+BACA,4BACA,2BACA,w0BAEC,+BACA,UAUD,sGACC,UACA,kBACA,oCACA,qCACA,SACA,YAIA,qBAEA,kIACC,UACA,eACA,wDACA,gBAGF,gGACC,kBACA,qCACA,oCACA,SACA,UACA,gBEjZF,6CFmZE,qBACA,4BACA,2BACA,YACA,wBACA,gBACA,YACA,UACA,iCACA,6BACA,yBACA,YACA,kBACA,qCAMD,8GACC,mDAIA,wNACC,UAED,oMACC,sBAED,gTACC,oCAID,0GACC,4BACA,wBACA,oBAQH,gHACC,cACA,sHACC,wBACA,mBACA,yBAED,sHACC,+CACA,qCAED,8HACC,YACA,WACA,SACA,gBAIA,oSEpdF,uCFudE,obAEC,+BACA,UAGF,wLACC,gBACA,eACA,cACA,0CACA,eAEA,gNACC,UACA,kBACA,0NACC,gBACA,mBACA,8CACA,wCASJ,8GACC,mBACA,cACA,uBACA,qCACA,UACA,kBACA,8CACA,WACA,8OAEC,oBACA,WAED,0HACC,YACA,oBACA,YACA,4QAGC,UAGF,gJACC,WACA,YACA,wBACA,0BAED,wRAEC,WACA,YACA,cACA,4VACC,2BAED,gWACC,yBAED,oUACC,2CACA,6CACA,0BACA,4BAQH,oHACC,oBACA,mDACA,4BACA,wMACC,kBACA,mBACA,uBACA,gBACA,aACA,0CAED,8LACC,SACA,qCACA,oCACA,0CACA,oZAEC,UAQH,kOAEC,uBACA,2FAGA,kBACA,qBACA,8CACA,sBAMD,sFACC,gDACA,wCACA,oBAGD,sEACC,yBAGD,0OAEC,qBASA,0IACC,qCAGD,gHACC,qCAEA,wKACC,YASF,0IACC,sCAGD,gHACC,sCAEA,wKACC,WAOJ,SACC,sBACA,gBACA,oCACA,gCACA,UACA,aACA,kDACA,0BACA,2CACA,cAEA,kCACC,eAIF,2CACC,SACC,qDACA,mDAED,gBACC,qDAED,aACC,oDAcF,aACC,aACA,8CACA,iBACA,cACA,iBACA,YAGA,kCACC,gBAID,kCACC,aACA,kBACA,oBAGA,gBAGA,uDAEC,eACA,mFACC,aAKH,uCACC,oCASF,aACC,WACA,UC/qBmB,MDgrBnB,UC/qBmB,MDgrBnB,cACA,wBACA,gBACA,ICtrBe,KDurBf,mBACA,gBACA,kBACA,aACA,aACA,0BACA,wCACA,kDACA,cAEA,uBACC,aAOF,cAEC,gBAGC,oFACC,cAKH,sBACC,aACA,6CACA,cACA,0DAEA,iBACA,gBACA,sBAGA,uCACC,UAGD,iCACC,sBACA,sBACA,gCAOE,4NACC,qBACA,WACA,cAOL,qBACC,sBACA,+BACA,gBACA,oDACA,6CACA,cAEA,sCACC,aACA,mBACA,qCACA,WACA,UACA,SACA,+BACA,gBACA,SACA,oDACA,iBACA,mBACA,eACA,WAGA,6BAEA,6CACC,yCACA,8CACA,eAED,wFAEC,+CAGD,8CACC,2CACA,4BACA,WACA,oCACA,qCACA,MACA,qBACA,cAGD,oDACC,mEAOF,4DACC,qCAED,kEACC,qCAKD,4DACC,sCAED,kEACC,sCAIF,SACC,cACA,aACA,mBACA,gBACC,wBAIA,yDAEC,oBACA,sBAKH,aACC,kBACA,gBACA,yBACA,mBAGD,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAKF,YACC,aACA,mBAEA,uBACC,aACA,sBACA,YACA,kBACA,mBACA,gBACA,uBACA,eACA,gCACA,kBACA,YAEA,8BACC,aAID,mCACC,0BAED,kCACC,wBAGD,6BACC,qBACA,WACA,YACA,qBACA,sBACA,gBACA,sBACA,WACA,eAGD,yBACC,gCACA,kBACA,gBACA,uBAED,gCACC,iBAED,0FAGC,kBACA,6BACA,kDAMF,oBACC,oBAKF,6BACC,WAGD,6BACC,YASA,0JAGC,wCAIA,2LACC,YAKH,gDAGC,kBACA,8CACA,6BACA,yCACA,YACA,YACA,WACA,gBACA,mBACA,sDACA,aACA,mBAEA,kEACC,YAKA,qBAEA,2BACA,YACA,SACA,QACA,kBACA,oBACA,iDACA,iBAGD,oFACC,0BACA,qBACA,oBACA,sGACC,qBACA,0BAIF,8EACC,oBACA,oBACA,gGACC,sBAIF,+DACC,cAGD,+GACC,SAGD,yDAEC,wBACA,sBAED,yDACC,aACA,cAEA,8EACC,aAGD,oOAGC,eACA,YA/FkB,KAgGlB,SACA,yCACA,+BACA,aACA,uBACA,YACA,SACA,mBACA,gBACA,WACA,6BACA,mBAEA,whDAIC,YACA,aACA,+BACA,gBAnHe,KAqHhB,yzBAIC,yBAOC,gvGACC,oBAlIe,KAsIlB,+tBAEC,gCAED,ojBAEC,+CAED,4nBAEC,kDAED,mSACC,2CACA,oDAGD,mSACC,2BAED,iRACC,eACA,mBAED,sPACC,YACA,kBACA,cACA,mBAED,mSACC,SACA,wBAGD,gVACC,kCAID,wQACC,MA9Ke,KA+Kf,YAGD,uyBAEC,qBACA,WAED,yeACC,mBAED,8cACC,mBAED,2xBACC,YAED,iRACC,aACA,cAGA,mBACA,mbACC,wBAIF,04BAEC,sBAGD,0RACC,UAlNiB,KAmNjB,gBACA,aACA,cAEA,4bACC,wBAQA,2hDACC,eAMD,ygDACC,kBAKJ,8EACC,UACA,6FACC,UAcD,+EACC,MA/PiB,KAgQjB,OAhQiB,KAyQlB,6CACC,WACA,YAOJ,kBACC,wBACA,kBACA,MACA,gDACA,aACA,sBACA,uCACA,gBACA,gBACA,gBACA,kBACA,eACA,UC5sCgB,MD6sChB,UC5sCgB,MD+sChB,yCACC,kBACA,YACA,eACA,iBACA,aACA,eACA,mBACA,cAKC,8RAEC,QACA,WACA,YACA,YACA,aACA,WACA,eACA,4mBAEC,WAED,wtBAEC,WACA,ghDAEC,UAIF,kVACC,UAKH,8IAGC,8CAEA,2RACC,aAIF,6JAEC,kBACA,YACA,WACA,WAQC,2XAEC,aAEA,2eACC,WAIH,wFACC,SACA,uBAEA,aACA,gGACC,SAGD,oHACC,aAKH,qEACC,aACA,SACA,wBACA,qBACA,YACA,WACA,SACA,UAGD,qEACC,kBACA,qBACA,YACA,WACA,iBACA,kBACA,sBACA,uBACA,WACA,kBACA,gBACA,0BACA,iBACA,iBACA,eACA,QACA,iBAGD,kJAEC,cACA,yBACA,mBACA,gBACA,uBACA,QACA,aACA,eAGD,yEACC,WACA,QACA,SACA,sDAGD,wEACC,QACA,mBACA,gBACA,uBACA,gBACA,WACA,cACA,iBAGD,qEACC,QACA,kBACA,kFACC,SAGA,sBAIH,2EACC,aAIF,8CACC,6DACA","file":"apps.css"}
\ No newline at end of file diff --git a/core/css/apps.css.map.license b/core/css/apps.css.map.license new file mode 100644 index 00000000000..82ac7cce426 --- /dev/null +++ b/core/css/apps.css.map.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/apps.scss b/core/css/apps.scss new file mode 100644 index 00000000000..353eb43fe3f --- /dev/null +++ b/core/css/apps.scss @@ -0,0 +1,1496 @@ +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +@use 'variables'; +@use 'sass:math'; +@use 'functions'; + +@media screen and (max-width: variables.$breakpoint-mobile) { + // Make the body full width on mobile + :root { + --body-container-margin: 0px !important; + --body-container-radius: 0px !important; + } +} + + +html { + width: 100%; + height: 100%; + position: absolute; + // color-background-plain should always be defined. + background-color: var(--color-background-plain, var(--color-main-background)); +} + +body { + // color-background-plain should always be defined. + background-color: var(--color-background-plain, var(--color-main-background)); + // user background, or plain color + background-image: var(--image-background); + background-size: cover; + background-position: center; + position: fixed; + width: 100%; + height: calc(100vh - env(safe-area-inset-bottom)); +} + +/* BASE STYLING ------------------------------------------------------------ */ +// no h1 allowed since h1 = logo +h2, +h3, +h4, +h5, +h6 { + font-weight: 600; + line-height: 1.5; + margin-top: 24px; + margin-bottom: 12px; + color: var(--color-main-text); +} + +h2 { + font-size: 1.8em; +} + +h3 { + font-size: 1.6em; +} + +h4 { + font-size: 1.4em; +} + +h5 { + font-size: 1.25em; +} + +h6 { + font-size: 1.1em; +} + +/* do not use italic typeface style, instead lighter color */ +em { + font-style: normal; + color: var(--color-text-maxcontrast); +} + +dl { + padding: 12px 0; +} + +dt, +dd { + display: inline-block; + padding: 12px; + padding-inline-start: 0; +} + +dt { + width: 130px; + white-space: nowrap; + text-align: end; +} + +kbd { + padding: 4px 10px; + border: 1px solid #ccc; + box-shadow: 0 1px 0 rgba(0, 0, 0, .2); + border-radius: var(--border-radius); + display: inline-block; + white-space: nowrap; +} + + +/* APP STYLING ------------------------------------------------------------ */ + +#content[class*='app-'] * { + box-sizing: border-box; +} + +/* APP-NAVIGATION ------------------------------------------------------------ */ +/* Navigation: folder like structure */ +#app-navigation:not(.vue) { + // Ensure the maxcontrast color is set for the background + --color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text)); + width: variables.$navigation-width; + z-index: 500; + overflow-y: auto; + overflow-x: hidden; + background-color: var(--color-main-background-blur); + backdrop-filter: var(--filter-background-blur); + -webkit-backdrop-filter: var(--filter-background-blur); -webkit-user-select: none; + position: sticky; + height: 100%; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + display: flex; + flex-direction: column; + flex-grow: 0; + flex-shrink: 0; + + .app-navigation-caption { + font-weight: bold; + line-height: var(--default-clickable-area); + padding: 10px var(--default-clickable-area) 0 var(--default-clickable-area); + white-space: nowrap; + text-overflow: ellipsis; + box-shadow: none !important; + user-select: none; + pointer-events:none; + margin-inline-start: 10px; + } +} + +.app-navigation-personal, +.app-navigation-administration { + + /* 'New' button */ + .app-navigation-new { + display: block; + padding: calc(var(--default-grid-baseline) * 2); + button { + display: inline-block; + width: 100%; + padding: 10px; + padding-inline-start: 34px; + text-align: start; + margin: 0; + } + } + + li { + position: relative; + } + > ul { + position: relative; + height: 100%; + width: 100%; + overflow-x: hidden; + overflow-y: auto; + box-sizing: border-box; + display: flex; + flex-direction: column; + padding: calc(var(--default-grid-baseline) * 2); + padding-bottom: 0; + + &:last-child { + padding-bottom: calc(var(--default-grid-baseline) * 2); + } + + > li { + display: inline-flex; + flex-wrap: wrap; + order: 1; + flex-shrink: 0; + margin: 0; + margin-bottom: 3px; + width: 100%; + border-radius: var(--border-radius-element); + + /* Pinned-to-bottom entries */ + &.pinned { + order: 2; + &.first-pinned { + margin-top: auto !important; + } + } + + > .app-navigation-entry-deleted { + /* Ugly hack for overriding the main entry link */ + padding-inline-start: var(--default-clickable-area) !important; + } + > .app-navigation-entry-edit { + /* Ugly hack for overriding the main entry link */ + /* align the input correctly with the link text + 44px-6px padding for the input */ + padding-inline-start: calc(var(--default-clickable-area) - 6px) !important; + } + + a:hover, + a:focus { + &, + > a { + background-color: var(--color-background-hover); + } + } + a:focus-visible { + box-shadow: 0 0 0 4px var(--color-main-background); + outline: 2px solid var(--color-main-text); + } + &.active, + a:active, + a.selected , + a.active { + &, + > a { + background-color: var(--color-primary-element); + color: var(--color-primary-element-text); + + &:first-child > img { + filter: var(--primary-invert-if-dark); + } + } + } + + /* align loader */ + &.icon-loading-small:after { + inset-inline-start: 22px; + top: 22px; + } + + /* hide deletion/collapse of subitems */ + &.deleted, + &.collapsible:not(.open) { + > ul { + // NO ANIMATE because if not really hidden, we can still tab through it + display: none; + } + } + + /* Second level nesting for lists */ + > ul { + flex: 0 1 auto; + width: 100%; + position: relative; + > li { + display: inline-flex; + flex-wrap: wrap; + padding-inline-start: var(--default-clickable-area); + width: 100%; + margin-bottom: 3px; + + &:hover, + &:focus { + &, + > a { + border-radius: var(--border-radius-element); + background-color: var(--color-background-hover); + } + } + &.active, + a.selected { + &, + > a { + border-radius: var(--border-radius-element); + background-color: var(--color-primary-element-light); + &:first-child > img { + filter: var(--primary-invert-if-dark); + } + } + } + + /* align loader */ + &.icon-loading-small:after { + inset-inline-start: calc(var(--default-clickable-area) / 2); + } + + > .app-navigation-entry-deleted { + /* margin to keep active indicator visible */ + margin-inline-start: 4px; + padding-inline-start: 84px; + } + + > .app-navigation-entry-edit { + /* margin to keep active indicator visible */ + margin-inline-start: 4px; + /* align the input correctly with the link text + 44px+44px-4px-6px padding for the input */ + padding-inline-start: calc(2 * var(--default-clickable-area) - 10px) !important; + } + } + } + } + /* Menu and submenu */ + > li, + > li > ul > li { + position: relative; + box-sizing: border-box; + /* hide icons if loading */ + &.icon-loading-small { + > a, + > .app-navigation-entry-bullet { + /* hide icon or bullet if loading state*/ + background: transparent !important; + } + } + /* Main entry link */ + > a { + background-size: 16px 16px; + background-repeat: no-repeat; + display: block; + justify-content: space-between; + line-height: var(--default-clickable-area); + min-height: var(--default-clickable-area); + padding-block: 0; + padding-inline: calc(2 * var(--default-grid-baseline)); + overflow: hidden; + box-sizing: border-box; + white-space: nowrap; + text-overflow: ellipsis; + border-radius: var(--border-radius-element); + color: var(--color-main-text); + flex: 1 1 0px; + z-index: 100; /* above the bullet to allow click*/ + /* TODO: forbid using img as icon in menu? */ + + &.svg { + padding-block: 0; + padding-inline: var(--default-clickable-area) 12px; + :focus-visible { + padding-block: 0; + padding-inline: calc(var(--default-clickable-area) - 2px) 8px; + } + } + &:first-child img { + margin-inline-end: calc(2 * var(--default-grid-baseline)) !important; + width: 16px; + height: 16px; + // Legacy invert if bright background + filter: var(--background-invert-if-dark); + } + + /* counter can also be inside the link */ + > .app-navigation-entry-utils { + display: inline-block; + /* Check Floating fix below */ + .app-navigation-entry-utils-counter { + padding-inline-end: 0 !important; + } + } + } + /* Bullet icon */ + > .app-navigation-entry-bullet { + position: absolute; + display: block; + margin: 16px; + width: 12px; + height: 12px; + border: none; + border-radius: 50%; + cursor: pointer; + transition: background 100ms ease-in-out; + + + a { + /* hide icon if bullet, can't have both */ + background: transparent !important; + } + } + + /* popover fix the flex positionning of the li parent */ + > .app-navigation-entry-menu { + top: var(--default-clickable-area); + } + + /* show edit/undo field if editing/deleted */ + &.editing .app-navigation-entry-edit { + opacity: 1; + z-index: 250; + } + &.deleted .app-navigation-entry-deleted { + transform: translateX(0); + z-index: 250; + } + } + } + &.hidden { + display: none; + } + + /** + * Button styling for menu, edit and undo + */ + .app-navigation-entry-utils .app-navigation-entry-utils-menu-button > button, + .app-navigation-entry-deleted .app-navigation-entry-deleted-button { + border: 0; + opacity: 0.5; + background-color: transparent; + background-repeat: no-repeat; + background-position: center; + &:hover, + &:focus { + background-color: transparent; + opacity: 1; + } + } + + /** + * Collapsible menus + */ + .collapsible { + /* Fallback for old collapse button. + TODO: to be removed. Leaved here for retro compatibility */ + .collapse { + opacity: 0; + position: absolute; + width: var(--default-clickable-area); + height: var(--default-clickable-area); + margin: 0; + z-index: 110; + + /* Needed for IE11; otherwise the button appears to the right of the + * link. */ + inset-inline-start: 0; + + &:focus-visible { + opacity: 1; + border-width: 0; + box-shadow: inset 0 0 0 2px var(--color-primary-element); + background: none; + } + } + &:before { + position: absolute; + height: var(--default-clickable-area); + width: var(--default-clickable-area); + margin: 0; + padding: 0; + background: none; + @include functions.icon-color('triangle-s', 'actions', variables.$color-black, 1, true); + background-size: 16px; + background-repeat: no-repeat; + background-position: center; + border: none; + outline: none !important; + box-shadow: none; + content: ' '; + opacity: 0; + -webkit-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); + z-index: 105; // above a, under button + border-radius: 50%; + transition: opacity variables.$animation-quick ease-in-out; + + + } + + /* force padding on link no matter if 'a' has an icon class */ + > a:first-child { + padding-inline-start: var(--default-clickable-area); + } + &:hover, + &:focus { + &:before { + opacity: 1; + } + > a { + background-image: none; + } + > .app-navigation-entry-bullet { + background: transparent !important; + } + } + &.open { + &:before { + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + } + } + } + + /** + * App navigation utils, buttons and counters for drop down menu + */ + .app-navigation-entry-utils { + flex: 0 1 auto; + ul { + display: flex !important; + align-items: center; + justify-content: flex-end; + } + li { + width: var(--default-clickable-area) !important; + height: var(--default-clickable-area); + } + button { + height: 100%; + width: 100%; + margin: 0; + box-shadow: none; + } + .app-navigation-entry-utils-menu-button { + /* Prevent bg img override if an icon class is set */ + button:not([class^='icon-']):not([class*=' icon-']) { + @include functions.icon-color('more', 'actions', variables.$color-black, 1, true); + } + &:hover button, + &:focus button { + background-color: transparent; + opacity: 1; + } + } + .app-navigation-entry-utils-counter { + overflow: hidden; + text-align: end; + font-size: 9pt; + line-height: var(--default-clickable-area); + padding: 0 12px; /* Same padding as all li > a in the app-navigation */ + + &.highlighted { + padding: 0; + text-align: center; + span { + padding: 2px 5px; + border-radius: 10px; + background-color: var(--color-primary-element); + color: var(--color-primary-element-text); + } + } + } + } + + /** + * Editable entries + */ + .app-navigation-entry-edit { + padding-inline: 5px; + display: block; + width: calc(100% - 1px); /* Avoid border overlapping */ + transition: opacity 250ms ease-in-out; + opacity: 0; + position: absolute; + background-color: var(--color-main-background); + z-index: -1; + form, + div { + display: inline-flex; + width: 100%; + } + input { + padding: 5px; + margin-inline-end: 0; + height: 38px; + &:hover, + &:focus { + /* overlapp borders */ + z-index: 1; + } + } + input[type='text'] { + width: 100%; + min-width: 0; /* firefox hack: override auto */ + border-end-end-radius: 0; + border-start-end-radius: 0; + } + button, + input:not([type='text']) { + width: 36px; + height: 38px; + flex: 0 0 36px; + &:not(:last-child) { + border-radius: 0 !important; + } + &:not(:first-child) { + margin-inline-start: -1px; + } + &:last-child { + border-end-end-radius: var(--border-radius); + border-start-end-radius: var(--border-radius); + border-end-start-radius: 0; + border-start-start-radius: 0; + } + } + } + + /** + * Deleted entries with undo button + */ + .app-navigation-entry-deleted { + display: inline-flex; + padding-inline-start: var(--default-clickable-area); + transform: translateX(#{variables.$navigation-width}); + .app-navigation-entry-deleted-description { + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + flex: 1 1 0px; + line-height: var(--default-clickable-area); + } + .app-navigation-entry-deleted-button { + margin: 0; + height: var(--default-clickable-area); + width: var(--default-clickable-area); + line-height: var(--default-clickable-area); + &:hover, + &:focus { + opacity: 1; + } + } + } + + /** + * Common rules for animation of undo and edit entries + */ + .app-navigation-entry-edit, + .app-navigation-entry-deleted { + width: calc(100% - 1px); /* Avoid border overlapping */ + transition: transform 250ms ease-in-out, + opacity 250ms ease-in-out, + z-index 250ms ease-in-out; + position: absolute; + inset-inline-start: 0; + background-color: var(--color-main-background); + box-sizing: border-box; + } + + /** + * drag and drop + */ + .drag-and-drop { + -webkit-transition: padding-bottom 500ms ease 0s; + transition: padding-bottom 500ms ease 0s; + padding-bottom: 40px; + } + + .error { + color: var(--color-error); + } + + .app-navigation-entry-utils ul, + .app-navigation-entry-menu ul { + list-style-type: none; + } +} + +/* Floating and background-position fix */ +/* Cannot use inline-start and :dir to support Samsung Internet */ +body[dir='ltr'] { + .app-navigation-personal, + .app-navigation-administration { + .app-navigation-new button { + background-position: left 10px center; + } + + > ul > li > ul > li > a { + background-position: left 14px center; + + > .app-navigation-entry-utils { + float: right; + } + } + } +} + +body[dir='rtl'] { + .app-navigation-personal, + .app-navigation-administration { + .app-navigation-new button { + background-position: right 10px center; + } + + > ul > li > ul > li > a { + background-position: right 14px center; + + > .app-navigation-entry-utils { + float: left; + } + } + } +} + +/* CONTENT --------------------------------------------------------- */ +#content { + box-sizing: border-box; + position: static; + margin: var(--body-container-margin); + margin-top: var(--header-height); + padding: 0; + display: flex; + width: calc(100% - var(--body-container-margin) * 2); + height: var(--body-height); + border-radius: var(--body-container-radius); + overflow: clip; + + &:not(.with-sidebar--full) { + position: fixed; + } +} + +@media only screen and (max-width: variables.$breakpoint-mobile) { + #content { + border-start-start-radius: var(--border-radius-large); + border-start-end-radius: var(--border-radius-large); + } + #app-navigation { + border-start-start-radius: var(--border-radius-large); + } + #app-sidebar { + border-start-end-radius: var(--border-radius-large); + } +} + +/* APP-CONTENT AND WRAPPER ------------------------------------------ */ +/* Part where the content will be loaded into */ + +/** + * !Important. We are defining the minimum requirement we want for flex + * Just before the mobile breakpoint we have variables.$breakpoint-mobile (1024px) - variables.$navigation-width + * -> 468px. In that case we want 200px for the list and 268px for the content + */ +$min-content-width: variables.$breakpoint-mobile - variables.$navigation-width - variables.$list-min-width; + +#app-content { + z-index: 1000; + background-color: var(--color-main-background); + flex-basis: 100vw; + overflow: auto; + position: initial; + height: 100%; + /* margin if navigation element is here */ + /* no top border for first settings item */ + > .section:first-child { + border-top: none; + } + + /* if app-content-list is present */ + #app-content-wrapper { + display: flex; + position: relative; + align-items: stretch; + /* make sure we have at least full height for loaders or such + no need for list/details since we have a flex stretch */ + min-height: 100%; + + /* CONTENT DETAILS AFTER LIST*/ + .app-content-details { + /* grow full width */ + flex: 1 1 $min-content-width; + #app-navigation-toggle-back { + display: none; + } + } + } + + &::-webkit-scrollbar-button { + height: var(--body-container-radius); + } +} + +/* APP-SIDEBAR ------------------------------------------------------------ */ +/* + Sidebar: a sidebar to be used within #content + #app-content will be shrinked properly +*/ +#app-sidebar { + width: 27vw; + min-width: variables.$sidebar-min-width; + max-width: variables.$sidebar-max-width; + display: block; + position: -webkit-sticky; + position: sticky; + top: variables.$header-height; + inset-inline-end:0; + overflow-y: auto; + overflow-x: hidden; + z-index: 1500; + opacity: 0.7px; + height: calc(100vh - #{variables.$header-height}); + background: var(--color-main-background); + border-inline-start: 1px solid var(--color-border); + flex-shrink: 0; + // no animations possible, use OC.Apps.showAppSidebar + &.disappear { + display: none; + } +} + + +/* APP-SETTINGS ------------------------------------------------------------ */ +/* settings area */ +#app-settings { + // To the bottom w/ flex + margin-top: auto; + &.open, + &.opened { + #app-settings-content { + display: block; + } + } +} + +#app-settings-content { + display: none; + padding: calc(var(--default-grid-baseline) * 2); + padding-top: 0; + padding-inline-start: calc(var(--default-grid-baseline) * 4); + /* restrict height of settings and make scrollable */ + max-height: 300px; + overflow-y: auto; + box-sizing: border-box; + + /* display input fields at full width */ + input[type='text'] { + width: 93%; + } + + .info-text { + padding-block: 5px 7px; + padding-inline: 22px 0; + color: var(--color-text-lighter); + } + input { + &[type='checkbox'], + &[type='radio'] { + &.radio, + &.checkbox { + + label { + display: inline-block; + width: 100%; + padding: 5px 0; + } + } + } + } +} + +#app-settings-header { + box-sizing: border-box; + background-color: transparent; + overflow: hidden; + border-radius: calc(var(--default-clickable-area) / 2); + padding: calc(var(--default-grid-baseline) * 2); + padding-top: 0; + + .settings-button { + display: flex; + align-items: center; + height: var(--default-clickable-area); + width: 100%; + padding: 0; + margin: 0; + background-color: transparent; + box-shadow: none; + border: 0; + border-radius: calc(var(--default-clickable-area) / 2); + text-align: start; + font-weight: normal; + font-size: 100%; + opacity: 0.8; + + /* like app-navigation a */ + color: var(--color-main-text); + + &.opened { + border-top: solid 1px var(--color-border); + background-color: var(--color-main-background); + margin-top: 8px; + } + &:hover, + &:focus { + background-color: var(--color-background-hover); + } + + &::before { + background-image: var(--icon-settings-dark); + background-repeat: no-repeat; + content: ''; + width: var(--default-clickable-area); + height: var(--default-clickable-area); + top: 0; + inset-inline-start: 0; + display: block; + } + + &:focus-visible { + box-shadow: 0 0 0 2px inset var(--color-primary-element) !important; + } + } +} + +/* Background-position fix */ +body[dir='ltr'] #app-settings-header .settings-button { + &::before { + background-position: left 14px center; + } + &:focus-visible { + background-position: left 12px center; + } +} + +body[dir='rtl'] #app-settings-header .settings-button { + &::before { + background-position: right 14px center; + } + &:focus-visible { + background-position: right 12px center; + } +} +/* GENERAL SECTION ------------------------------------------------------------ */ +.section { + display: block; + padding: 30px; + margin-bottom: 24px; + &.hidden { + display: none !important; + } + /* slight position correction of checkboxes and radio buttons */ + input { + &[type='checkbox'], + &[type='radio'] { + vertical-align: -2px; + margin-inline-end: 4px; + } + } +} + +.sub-section { + position: relative; + margin-top: 10px; + margin-inline-start: 27px; + margin-bottom: 10px; +} + +.appear { + opacity: 1; + -webkit-transition: opacity 500ms ease 0s; + -moz-transition: opacity 500ms ease 0s; + -ms-transition: opacity 500ms ease 0s; + -o-transition: opacity 500ms ease 0s; + transition: opacity 500ms ease 0s; + &.transparent { + opacity: 0; + } +} + +/* TABS ------------------------------------------------------------ */ +.tabHeaders { + display: flex; + margin-bottom: 16px; + + .tabHeader { + display: flex; + flex-direction: column; + flex-grow: 1; + text-align: center; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + cursor: pointer; + color: var(--color-text-lighter); + margin-bottom: 1px; + padding: 5px; + + &.hidden { + display: none; + } + + /* Use same amount as sidebar padding */ + &:first-child { + padding-inline-start: 15px; + } + &:last-child { + padding-inline-end: 15px; + } + + .icon { + display: inline-block; + width: 100%; + height: 16px; + background-size: 16px; + vertical-align: middle; + margin-top: -2px; + margin-inline-end: 3px; + opacity: .7; + cursor: pointer; + } + + a { + color: var(--color-text-lighter); + margin-bottom: 1px; + overflow: hidden; + text-overflow: ellipsis; + } + &.selected { + font-weight: bold; + } + &.selected, + &:hover, + &:focus { + margin-bottom: 0px; + color: var(--color-main-text); + border-bottom: 1px solid var(--color-text-lighter); + } + } +} + +.tabsContainer { + .tab { + padding: 0 15px 15px; + } +} + +/* Cannot use inline-start to support Samsung Internet*/ +body[dir='ltr'] .tabsContainer { + clear: left; +} + +body[dir='rtl'] .tabsContainer { + clear: right; +} + +/* POPOVER MENU ------------------------------------------------------------ */ +$popoveritem-height: 34px; +$popovericon-size: 16px; +$outter-margin: math.div($popoveritem-height - $popovericon-size, 2); + +.v-popper__inner div.open > ul { + > li > a > span.action-link__icon, + > li > a > span.action-router__icon, + > li > a > img { + filter: var(--background-invert-if-dark); + + // We do not want to invert the color of the user_status emoji: + // https://github.com/nextcloud/nextcloud-vue/blob/8899087f8f8d45e0ed744bde9faa00b625a21905/src/components/NcAvatar/NcAvatar.vue#L495 + &[src^="data"] { + filter: none; + } + } +} + +.bubble, +.app-navigation-entry-menu, +.popovermenu { + position: absolute; + background-color: var(--color-main-background); + color: var(--color-main-text); + border-radius: var(--border-radius-large); + padding: 3px; + z-index: 110; + margin: 5px; + margin-top: -5px; + inset-inline-end: 0; + filter: drop-shadow(0 1px 3px var(--color-box-shadow)); + display: none; + will-change: filter; + + &:after { + bottom: 100%; + // Required right-distance is half menu icon size + right padding + // = 16px/2 + 14px = 22px + // popover right margin is 5px, arrow width is 9px to center and border is 1px + // 22px - 9px - 5px - 1px = 7px + inset-inline-end: 7px; + /* change this to adjust the arrow position */ + border: solid transparent; + content: ' '; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border-bottom-color: var(--color-main-background); + border-width: 9px; + } + /* Center the popover */ + &.menu-center { + transform: translateX(50%); + inset-inline-end: 50%; + margin-inline-end: 0; + &:after { + inset-inline-end: 50%; + transform: translateX(50%); + } + } + /* Align the popover to the left */ + &.menu-left { + inset-inline: 0 auto; + margin-inline-end: 0; + &:after { + inset-inline: 6px auto; + } + } + + &.open { + display: block; + } + + &.contactsmenu-popover { + margin: 0; + } + + ul { + /* Overwrite #app-navigation > ul ul */ + display: flex !important; + flex-direction: column; + } + li { + display: flex; + flex: 0 0 auto; + + &.hidden { + display: none; + } + + > button, + > a, + > .menuitem { + cursor: pointer; + line-height: $popoveritem-height; + border: 0; + border-radius: var(--border-radius-large); + background-color: transparent; + display: flex; + align-items: flex-start; + height: auto; + margin: 0; + font-weight: normal; + box-shadow: none; + width: 100%; + color: var(--color-main-text); + white-space: nowrap; + + span[class^='icon-'], + span[class*=' icon-'], + &[class^='icon-'], + &[class*=' icon-'] { + min-width: 0; /* Overwrite icons*/ + min-height: 0; + background-position: #{math.div($popoveritem-height - $popovericon-size, 2)} center; + background-size: $popovericon-size; + } + span[class^='icon-'], + span[class*=' icon-'] { + /* Keep padding to define the width to + assure correct position of a possible text */ + padding: #{math.div($popoveritem-height, 2)} 0 #{math.div($popoveritem-height, 2)} $popoveritem-height; + } + // If no icons set, force left margin to align + &:not([class^='icon-']):not([class*='icon-']) { + > span, + > input, + > form { + &:not([class^='icon-']):not([class*='icon-']):first-child { + margin-inline-start: $popoveritem-height; + } + } + } + &[class^='icon-'], + &[class*=' icon-'] { + padding: 0 #{math.div($popoveritem-height - $popovericon-size, 2)} 0 $popoveritem-height !important; + } + &:hover, + &:focus { + background-color: var(--color-background-hover); + } + &:focus, + &:focus-visible { + box-shadow: 0 0 0 2px var(--color-primary-element); + } + &.active { + border-radius: var(--border-radius-element); + background-color: var(--color-primary-element-light); + } + /* prevent .action class to break the design */ + &.action { + padding: inherit !important; + } + > span { + cursor: pointer; + white-space: nowrap; + } + > p { + width: 150px; + line-height: 1.6em; + padding: 8px 0; + white-space: normal; + } + > select { + margin: 0; + margin-inline-start: 6px; + } + /* Add padding if contains icon+text */ + &:not(:empty) { + padding-inline-end: $outter-margin !important; + } + /* DEPRECATED! old img in popover fallback + * TODO: to remove */ + > img { + width: $popovericon-size; + padding: #{math.div($popoveritem-height - $popovericon-size, 2)}; + } + /* checkbox/radio fixes */ + > input.radio + label, + > input.checkbox + label { + padding: 0 !important; + width: 100%; + } + > input.checkbox + label::before { + margin: -2px 13px 0; + } + > input.radio + label::before { + margin: -2px 12px 0; + } + > input:not([type=radio]):not([type=checkbox]):not([type=image]) { + width: 150px; + } + form { + display: flex; + flex: 1 1 auto; + /* put a small space between text and form + if there is an element before */ + align-items: center; + &:not(:first-child) { + margin-inline-start: 5px; + } + } + /* no margin if hidden span before */ + > span.hidden + form, + > span[style*='display:none'] + form { + margin-inline-start: 0; + } + /* Inputs inside popover supports text, submit & reset */ + input { + min-width: $popoveritem-height; + max-height: #{$popoveritem-height - 4px}; /* twice the element margin-y */ + margin: 2px 0; + flex: 1 1 auto; + // space between inline inputs + &:not(:first-child) { + margin-inline-start: 5px; + } + } + } + /* css hack, only first not hidden */ + &:not(.hidden):not([style*='display:none']) { + &:first-of-type { + > button, > a, > .menuitem { + > form, > input { + margin-top: $outter-margin - 2px; // minus the input margin + } + } + } + &:last-of-type { + > button, > a, > .menuitem { + > form, > input { + margin-bottom: 0px; + } + } + } + } + > button { + padding: 0; + span { + opacity: 1; + } + } + + } +} + +.popovermenu { + li { + > button, + > a, + > .menuitem { + /* DEPRECATED! old img in popover fallback + * TODO: to remove */ + > img { + width: $popoveritem-height; + height: $popoveritem-height; + } + } + } +} + +#contactsmenu .contact .popovermenu { + li { + > a { + > img { + width: 16px; + height: 16px; + } + } + } +} + +/* CONTENT LIST ------------------------------------------------------------ */ +.app-content-list { + position: -webkit-sticky; + position: relative; + top: 0; + border-inline-end: 1px solid var(--color-border); + display: flex; + flex-direction: column; + transition: transform 250ms ease-in-out; + min-height: 100%; + max-height: 100%; + overflow-y: auto; + overflow-x: hidden; + flex: 1 1 variables.$list-min-width; + min-width: variables.$list-min-width; + max-width: variables.$list-max-width; + + /* Default item */ + .app-content-list-item { + position: relative; + height: 68px; + cursor: pointer; + padding: 10px 7px; + display: flex; + flex-wrap: wrap; + align-items: center; + flex: 0 0 auto; + + /* Icon fixes */ + &, + > .app-content-list-item-menu { + > [class^='icon-'], + > [class*=' icon-'] { + order: 4; + width: 24px; + height: 24px; + margin: -7px; // right padding of item + padding: 22px; + opacity: .3; + cursor: pointer; + &:hover, + &:focus { + opacity: .7; + } + &[class^='icon-star'], + &[class*=' icon-star'] { + opacity: .7; + &:hover, + &:focus { + opacity: 1 ; + } + + } + &.icon-starred { + opacity: 1 ; + } + } + } + + &:hover, + &:focus, + &.active { + background-color: var(--color-background-dark); + // display checkbox on hover/focus/active + .app-content-list-item-checkbox.checkbox + label { + display: flex; + } + } + + .app-content-list-item-checkbox.checkbox + label, + .app-content-list-item-star { + position: absolute; + height: 40px; + width: 40px; + z-index: 50; + } + + .app-content-list-item-checkbox.checkbox { + &:checked, + &:hover, + &:focus, + &.active { + + label { + // display checkbox if checked + display: flex; + // if checked, lower the opacity of the avatar + + .app-content-list-item-icon { + opacity: .7; + } + } + } + + label { + top: 14px; + inset-inline-start: 7px; + // hidden by default, only chown on hover-focus or if checked + display: none; + &::before { + margin: 0; + } + /* Hide the star, priority to the checkbox */ + ~ .app-content-list-item-star { + display: none; + } + } + } + + .app-content-list-item-star { + display: flex; + top: 10px; + inset-inline-start: 32px; + background-size: 16px; + height: 20px; + width: 20px; + margin: 0; + padding: 0; + } + + .app-content-list-item-icon { + position: absolute; + display: inline-block; + height: 40px; + width: 40px; + line-height: 40px; + border-radius: 50%; + vertical-align: middle; + margin-inline-end: 10px; + color: #fff; + text-align: center; + font-size: 1.5em; + text-transform: capitalize; + object-fit: cover; + user-select: none; + cursor: pointer; + top: 50%; + margin-top: -20px; + } + + .app-content-list-item-line-one, + .app-content-list-item-line-two { + display: block; + padding-inline: 50px 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + order: 1; + flex: 1 1 0px; + cursor: pointer; + } + + .app-content-list-item-line-two { + opacity: .5; + order: 3; + flex: 1 0; + flex-basis: calc(100% - var(--default-clickable-area)); + } + + .app-content-list-item-details { + order: 2; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 100px; + opacity: .5; + font-size: 80%; + user-select: none; + } + + .app-content-list-item-menu { + order: 4; + position: relative; + .popovermenu { + margin: 0; + // action icon have -7px margin + // default popover is normally 5px + inset-inline-end: -2px; + } + } + } + &.selection .app-content-list-item-checkbox.checkbox + label { + display: flex; + } +} + +.button.primary.skip-navigation:focus-visible { + box-shadow: 0 0 0 4px var(--color-main-background) !important; + outline: 2px solid var(--color-main-text) !important; +} diff --git a/core/css/exception.css b/core/css/exception.css new file mode 100644 index 00000000000..875c8b27b25 --- /dev/null +++ b/core/css/exception.css @@ -0,0 +1,4 @@ +/*! + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */li{word-wrap:break-word}pre{white-space:pre-wrap;word-wrap:break-word}/*# sourceMappingURL=exception.css.map */ diff --git a/core/css/exception.css.map b/core/css/exception.css.map new file mode 100644 index 00000000000..5f0a0d37a36 --- /dev/null +++ b/core/css/exception.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["exception.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAKA,GACC,qBAGD,IACC,qBACA","file":"exception.css"}
\ No newline at end of file diff --git a/core/css/exception.css.map.license b/core/css/exception.css.map.license new file mode 100644 index 00000000000..f7f52efa96f --- /dev/null +++ b/core/css/exception.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/exception.scss b/core/css/exception.scss new file mode 100644 index 00000000000..2c44b54a20f --- /dev/null +++ b/core/css/exception.scss @@ -0,0 +1,13 @@ +/*! + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +li { + word-wrap: break-word; +} + +pre { + white-space: pre-wrap; + word-wrap: break-word; +} diff --git a/core/css/fixes.css b/core/css/fixes.css index 71cb09cae76..dc1b7e9d5ab 100644 --- a/core/css/fixes.css +++ b/core/css/fixes.css @@ -1,140 +1,4 @@ -/* ---- BROWSER-SPECIFIC FIXES ---- */ - -/* remove dotted outlines in Firefox */ -::-moz-focus-inner { - border: 0; -} - -/* fix height of select boxes for OS X */ -select { - height: 32px; -} - -/* reset typeface for IE8 because OpenSans renders too small */ -.ie8 body { - font-family: Frutiger, Calibri, 'Myriad Pro', Myriad, Arial, sans-serif; -} - -.lte8 .icon-delete { background-image: url('../img/actions/delete.png'); } -.lte8 .icon-delete:hover, .icon-delete:focus { - background-image: url('../img/actions/delete-hover.png'); -} - -.ie8 .icon-checkmark { - background-image: url('../img/actions/checkmark.png'); -} - -.ie8 .icon-close { - background-image: url('../img/actions/close.png'); -} - -.lte9 .icon-triangle-e { - background-image: url('../img/actions/triangle-e.png'); -} -.lte9 .icon-triangle-n { - background-image: url('../img/actions/triangle-n.png'); -} -.lte9 .icon-triangle-s { - background-image: url('../img/actions/triangle-s.png'); -} -.lte9 .icon-settings, -.lte9 .settings-button { - background-image: url('../img/actions/settings.png'); -} - -.lte9 input[type="submit"], .lte9 input[type="button"], -.lte9 button, .lte9 .button, -.lte9 #quota, .lte9 select, .lte9 .pager li a { - background-color: #f1f1f1; -} - -/* IE8 needs PNG image for header logo */ -.ie8 #header .logo { - background-image: url(../img/logo-icon-175px.png); -} - -/* IE8 needs background to be set to same color to make transparency look good. */ -.lte9 #body-login form input[type="text"] { - border: 1px solid lightgrey; /* use border to add 1px line between input fields */ - background-color: white; /* don't change background on hover */ -} -.lte9 #body-login form input[type="password"] { - /* leave out top border for 1px line between input fields*/ - border-left: 1px solid lightgrey; - border-right: 1px solid lightgrey; - border-bottom: 1px solid lightgrey; - background-color: white; /* don't change background on hover */ -} -.ie8 #body-login input[type="submit"] { - padding: 10px 5px; - margin-top: 3px; -} -/* for whatever unexplained reason */ -.ie8 #password { - width: 271px !important; - min-width: auto !important; -} - -/* disable opacity of info text on gradient - since we cannot set a good backround color to use the filter&background hack as with the input labels */ -.lte9 #body-login p.info { - filter: initial; -} - -/* deactivate show password toggle for IE. Does not work for 8 and 9+ have their own implementation. */ -.ie #show, .ie #show+label { - display: none; - visibility: hidden; -} - -/* fix installation screen rendering issue for IE8+9 */ -.lte9 #body-login { - min-height: 100%; - height: auto !important; -} - -/* oc-dialog only uses box shadow which is not supported by ie8 */ -.ie8 .oc-dialog { - border: 1px solid #888888; -} - -/* IE8 doesn't support transparent background - let's emulate black with an opacity of .3 on a dark blue background*/ -.ie8 fieldset .warning, .ie8 #body-login .error { - background-color: #1B314D; -} - -/* IE8 isn't able to display transparent background. So it is specified using a gradient */ -.ie8 #nojavascript { - filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4c320000', endColorstr='#4c320000'); -} - -/* IE8 doesn't have rounded corners, so the strengthify bar should be wider */ -.lte8 #body-login .strengthify-wrapper { - width: 271px; - left: 6px; -} - -/* fix background of navigation popup in IE8 */ -.ie8 #navigation, -.ie8 #expanddiv { - background-color: #111; -} - -/* needed else IE8 will randomly hide the borders... */ -.ie8 table th#headerDate, table td.date, -.ie8 table th.column-last, table td.column-last { - position: static; -} - -.ie8 #controls { - background-color: white; -} - -.ie8 #content-wrapper { - overflow-y: auto; -} - -.ie8 #app-navigation .app-navigation-entry-edit input { - line-height: 38px; -} - +/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */::-moz-focus-inner{border:0}/*# sourceMappingURL=fixes.css.map */ diff --git a/core/css/fixes.css.map b/core/css/fixes.css.map new file mode 100644 index 00000000000..4df756cfa83 --- /dev/null +++ b/core/css/fixes.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["fixes.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAOA,mBACC","file":"fixes.css"}
\ No newline at end of file diff --git a/core/css/fixes.css.map.license b/core/css/fixes.css.map.license new file mode 100644 index 00000000000..0801c996d9d --- /dev/null +++ b/core/css/fixes.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/fixes.scss b/core/css/fixes.scss new file mode 100644 index 00000000000..ceb4e47455e --- /dev/null +++ b/core/css/fixes.scss @@ -0,0 +1,11 @@ +/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +/* ---- BROWSER-SPECIFIC FIXES ---- */ + +/* remove dotted outlines in Firefox */ +::-moz-focus-inner { + border: 0; +} + diff --git a/core/css/fonts.css b/core/css/fonts.css deleted file mode 100644 index 2a894031e54..00000000000 --- a/core/css/fonts.css +++ /dev/null @@ -1,23 +0,0 @@ -/* for low-res screens, use Regular font-weight instead of Light */ -@media (-webkit-max-device-pixel-ratio: 1.3), (max-resolution: 124.8dpi) { - @font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: normal; - src: local('Open Sans'), local('OpenSans'), url(../fonts/OpenSans-Regular.woff) format('woff'); - } -} - -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - src: local('Open Sans Light'), local('OpenSans-Light'), url(../fonts/OpenSans-Light.woff) format('woff'); -} - -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(../fonts/OpenSans-Semibold.woff) format('woff'); -} diff --git a/core/css/functions.css b/core/css/functions.css new file mode 100644 index 00000000000..337219305f9 --- /dev/null +++ b/core/css/functions.css @@ -0,0 +1,4 @@ +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*# sourceMappingURL=functions.css.map */ diff --git a/core/css/functions.css.map b/core/css/functions.css.map new file mode 100644 index 00000000000..b9f301c163d --- /dev/null +++ b/core/css/functions.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["functions.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA","file":"functions.css"}
\ No newline at end of file diff --git a/core/css/functions.css.map.license b/core/css/functions.css.map.license new file mode 100644 index 00000000000..b62adf36215 --- /dev/null +++ b/core/css/functions.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/functions.scss b/core/css/functions.scss new file mode 100644 index 00000000000..8fac1ae55d5 --- /dev/null +++ b/core/css/functions.scss @@ -0,0 +1,50 @@ +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +/** + * @see core/src/icons.js + */ +@function match-color-string($color) { + @if $color == #000 { + @return "dark"; + } + @if $color == #fff { + @return 'white'; + } + @if $color == #FC0 { + @return 'yellow'; + } + @if $color == #e9322d { + @return 'red'; + } + @if $color == #eca700 { + @return 'orange'; + } + @if $color == #46ba61 { + @return 'green'; + } + @if $color == #969696 { + @return 'grey'; + } + @return $color; +} + +/** + * SVG COLOR API + * + * @param string $icon the icon filename + * @param string $dir the icon folder within /core/img if $core or app name + * @param string $color the desired color in hexadecimal + * @param int $version the version of the file + * @param bool [$core] search icon in core + * + * @returns A background image with the url to the set to the requested icon. + */ +@mixin icon-color($icon, $dir, $color, $version: 1, $core: false) { + $color: match-color-string($color); + /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */ + $varName: "--icon-#{$icon}-#{$color}"; + background-image: var(#{$varName}); +} diff --git a/core/css/global.css b/core/css/global.css index 9511d4324fa..99075c7c92f 100644 --- a/core/css/global.css +++ b/core/css/global.css @@ -1,50 +1,6 @@ -/* Copyright (c) 2015, Raghu Nayyar, http://raghunayyar.com - This file is licensed under the Affero General Public License version 3 or later. - See the COPYING-README file. */ - -/* Global Components */ - -.pull-left { - float: left; -} - -.pull-right { - float: right; -} - -.clear-left { - clear: left; -} - -.clear-right { - clear: right; -} - -.clear-both { - clear: both; -} - -.hidden { - display: none; -} - -.hidden-visually { - position: absolute; - left:-10000px; - top: auto; - width: 1px; - height: 1px; - overflow: hidden; -} - -.bold { - font-weight:600; -} - -.center { - text-align:center; -} - -.inlineblock { - display: inline-block; -}
\ No newline at end of file +/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2015 ownCloud Inc. + * SPDX-FileCopyrightText: 2015 Raghu Nayyar, http://raghunayyar.com + * SPDX-License-Identifier: AGPL-3.0-or-later + */body[dir=ltr] .pull-left,body[dir=ltr] .pull-start{float:left}body[dir=ltr] .pull-right,body[dir=ltr] .pull-end{float:right}body[dir=ltr] .clear-left,body[dir=ltr] .clear-start{clear:left}body[dir=ltr] .clear-right,body[dir=ltr] .clear-end{clear:right}body[dir=rtl] .pull-left,body[dir=rtl] .pull-start{float:right}body[dir=rtl] .pull-right,body[dir=rtl] .pull-end{float:left}body[dir=rtl] .clear-left,body[dir=rtl] .clear-start{clear:right}body[dir=rtl] .clear-right,body[dir=rtl] .clear-end{clear:left}.clear-both{clear:both}.hidden{display:none}.hidden-visually{position:absolute;inset-inline-start:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}.bold{font-weight:600}.center{text-align:center}.inlineblock{display:inline-block}/*# sourceMappingURL=global.css.map */ diff --git a/core/css/global.css.map b/core/css/global.css.map new file mode 100644 index 00000000000..bc63ddd02f3 --- /dev/null +++ b/core/css/global.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["global.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcC,mDAEC,WAGD,kDAEC,YAGD,qDAEC,WAGD,oDAEC,YAKD,mDAEC,YAGD,kDAEC,WAGD,qDAEC,YAGD,oDAEC,WAIF,YACC,WAGD,QACC,aAGD,iBACC,kBACA,4BACA,aACA,UACA,WACA,gBAGD,MACC,gBAGD,QACC,kBAGD,aACC","file":"global.css"}
\ No newline at end of file diff --git a/core/css/global.css.map.license b/core/css/global.css.map.license new file mode 100644 index 00000000000..d18caeb1ad4 --- /dev/null +++ b/core/css/global.css.map.license @@ -0,0 +1,4 @@ +SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2015 ownCloud Inc.
+SPDX-FileCopyrightText: 2015 Raghu Nayyar, http://raghunayyar.com
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/global.scss b/core/css/global.scss new file mode 100644 index 00000000000..de83f862786 --- /dev/null +++ b/core/css/global.scss @@ -0,0 +1,85 @@ +/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2015 ownCloud Inc. + * SPDX-FileCopyrightText: 2015 Raghu Nayyar, http://raghunayyar.com + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +/* Global Components */ + +/* The following lines are a hacky way to adjust float and clear based on direction. + Samsung Internet doesn't support `inline-start|end` and :dir. + pull-right|left and clear-right|left are also kept for backward compatibility. + */ +body[dir='ltr'] { + .pull-left, + .pull-start { + float: left; + } + + .pull-right, + .pull-end { + float: right; + } + + .clear-left, + .clear-start { + clear: left; + } + + .clear-right, + .clear-end { + clear: right; + } +} + +body[dir='rtl'] { + .pull-left, + .pull-start { + float: right; + } + + .pull-right, + .pull-end { + float: left; + } + + .clear-left, + .clear-start { + clear: right; + } + + .clear-right, + .clear-end { + clear: left; + } +} + +.clear-both { + clear: both; +} + +.hidden { + display: none; +} + +.hidden-visually { + position: absolute; + inset-inline-start: -10000px; + top: -10000px; + width: 1px; + height: 1px; + overflow: hidden; +} + +.bold { + font-weight:600; +} + +.center { + text-align:center; +} + +.inlineblock { + display: inline-block; +} diff --git a/core/css/guest.css b/core/css/guest.css new file mode 100644 index 00000000000..b9c9385bb04 --- /dev/null +++ b/core/css/guest.css @@ -0,0 +1,8 @@ +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,hgroup,nav,section{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;cursor:default}html{height:100%}article,aside,dialog,figure,footer,header,hgroup,nav,section{display:block}table{border-collapse:separate;border-spacing:0;white-space:nowrap}caption,th,td{text-align:start;font-weight:normal}table,td,th{vertical-align:middle}a{border:0;color:var(--color-main-text);text-decoration:none}a,a *,input,input *,select,.button span,label{cursor:pointer}ul{list-style:none}body{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:.875em;font-weight:normal;line-height:1.6em;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Oxygen-Sans,Cantarell,Ubuntu,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";color:var(--color-background-plain-text, #ffffff);text-align:center;background-color:var(--color-background-plain, #0082c9);background-image:var(--image-background, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%));background-attachment:fixed;background-size:cover;background-position:center;min-height:100%;height:auto;overflow:auto;position:static}#body-login a{font-weight:600}#body-login footer a{color:var(--color-text)}#body-login a:not(.button):hover,#body-login a:not(.button):focus{text-decoration:underline;text-decoration-skip-ink:auto}em{font-style:normal;opacity:.5}h2,h3,h4{font-weight:bold}h2{font-size:20px;margin-bottom:12px;line-height:140%}h3{font-size:15px;margin:12px 0}#header .logo{background-image:var(--image-logo, url("../../core/img/logo/logo.svg"));background-repeat:no-repeat;background-size:contain;background-position:center;width:175px;height:130px;margin:0 auto;position:relative;inset-inline-start:unset}.wrapper{width:100%;max-width:700px;margin-block:10vh auto}form{position:relative;margin:auto;padding:0}form.install-form{max-width:300px}form.install-form fieldset,form.install-form fieldset input{width:100%}form.install-form .strengthify-wrapper{bottom:17px;width:calc(100% - 8px);inset-inline-start:4px;top:unset}form.install-form #show{top:18px}form #sqliteInformation{margin-top:.5rem;margin-bottom:20px}form #adminaccount,form #use_other_db{margin-bottom:15px;text-align:start}form #adminaccount>legend,form #adminlogin{margin-bottom:1rem}form #advancedHeader{width:100%}form fieldset legend,#datadirContent label{width:100%}#datadirContent label{display:block;margin:0}form #datadirField legend{margin-bottom:15px}#showAdvanced{padding:13px}#showAdvanced img{vertical-align:middle}@media only screen and (max-width: 1024px){.wrapper{margin-top:0}}#submit-wrapper{margin:0 auto;display:flex;align-items:center;justify-content:center;padding:10px 5px;position:relative}#submit-wrapper .submit-icon{position:absolute;inset-inline-end:24px;transition:inset-inline-end 100ms ease-in-out;pointer-events:none}#submit-wrapper input.login:hover~.submit-icon.icon-confirm-white,#submit-wrapper input.login:focus~.submit-icon.icon-confirm-white,#submit-wrapper input.login:active~.submit-icon.icon-confirm-white{inset-inline-end:20px}#submit-wrapper .icon-loading-small{position:absolute;top:22px;inset-inline-end:26px}input:not([type=radio]),input:not([type=range]){border-width:2px}input:not([type=range]):focus-visible{box-shadow:none !important}input[type=submit],input[type=submit].icon-confirm,input[type=button],button,a.button,.button,select{display:inline-block;width:auto;min-width:25px;padding:calc(2*var(--default-grid-baseline));background-color:var(--color-main-background);font-weight:bold;color:var(--color-main-text);border:none;border-radius:var(--border-radius-element);cursor:pointer}.icon-confirm.input-button-inline{position:absolute;inset-inline-end:3px;top:5px}input[type=submit]:focus{box-shadow:0 0 0 2px inset var(--color-main-text) !important}input[type=text],input[type=tel],input[type=password],input[type=email]{width:266px;padding:5px 10px;color:var(--color-text-lighter);cursor:text;font-family:inherit;font-weight:normal;margin-inline:0}input[type=password].password-with-toggle,input[type=text].password-with-toggle{width:238px;padding-inline-end:40px !important}input.login{width:260px;height:50px;background-position:right 16px center}input[type=submit],input[type=submit].icon-confirm,input.updateButton,input.update-continue{padding:10px 20px;overflow:hidden;text-overflow:ellipsis}button::-moz-focus-inner,input::-moz-focus-inner{border:0}input.primary{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}input.primary:not(:disabled):hover,input.primary:not(:disabled):focus,button.primary:not(:disabled):hover,button.primary:not(:disabled):focus,a.primary:not(:disabled):hover,a.primary:not(:disabled):focus{background-color:var(--color-primary-element-hover);color:var(--color-primary-element-text)}input[type=checkbox].checkbox{position:absolute;inset-inline-start:-10000px;top:auto;width:1px;height:1px;overflow:hidden}input[type=checkbox].checkbox+label{user-select:none}input[type=checkbox].checkbox:disabled+label,input[type=checkbox].checkbox:disabled+label:before{cursor:default}input[type=checkbox].checkbox+label:before{content:"";display:inline-block;vertical-align:middle;margin:3px;margin-top:1px;border:1px solid #888;border-radius:1px;height:10px;width:10px;background-position:center}input[type=checkbox].checkbox--white+label:before{border-color:#ddd}input[type=checkbox].checkbox--white:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].checkbox--white:focus+label:before{border-color:#fff}input[type=checkbox].checkbox--white:disabled+label:before{background-color:#666 !important;border-color:#999 !important}input[type=checkbox].checkbox--white:checked:disabled+label:before{border-color:#666;background-color:#222}input[type=checkbox].checkbox--white:checked+label:before{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;background-image:url("../img/actions/checkbox-mark-white.svg")}.strengthify-wrapper{display:inline-block;position:relative;top:-20px;width:250px;border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:3px;border-end-start-radius:3px;overflow:hidden;height:3px}.tooltip-inner{font-weight:bold;padding:3px 6px;text-align:center}#show,#dbpassword-toggle{position:absolute;inset-inline-end:2px;top:-3px;display:flex;justify-content:center;width:44px;align-content:center;padding:13px}#pass2,input[name=personal-password-clone]{padding:.6em 2.5em .4em .4em;width:8em}#personal-show+label{height:14px;margin-top:-25px;inset-inline-start:295px;display:block}#passwordbutton{margin-inline-start:.5em}p.info,form fieldset legend,#datadirContent label,form fieldset .warning-info,form input[type=checkbox]+label{text-align:center}form .warning input[type=checkbox]:hover+label,form .warning input[type=checkbox]:focus+label,form .warning input[type=checkbox]+label{color:var(--color-primary-element-text) !important}.body-login-container.two-factor{width:320px;box-sizing:border-box}.two-factor-provider{display:flex;border-radius:3px;margin:12px 0;border:1px solid rgba(0,0,0,0);text-align:start;align-items:center;text-decoration:none !important}.two-factor-provider:hover,.two-factor-provider:focus,.two-factor-provider:active{border:1px solid #fff}.two-factor-provider img{width:64px;height:64px;padding:0 12px}.two-factor-provider div{margin:12px 0}.two-factor-provider h3{margin:0}.two-factor-provider p{font-weight:normal}.two-factor-icon{width:100px;display:block;margin:0 auto}.two-factor-submit{width:100%;padding:10px;margin:0 0 5px 0;border-radius:100px;font-size:20px}.two-factor-primary{padding:14px !important;width:226px}.two-factor-secondary{display:inline-block;padding:12px}#remember_login{margin-block:18px 0 !important;margin-inline:16px 5px !important}.updateProgress .error{margin-top:10px;margin-bottom:10px}form #selectDbType{text-align:center;white-space:nowrap;margin:0;display:flex}form #selectDbType .info{white-space:normal}form #selectDbType label{flex-grow:1;margin:0 -1px 5px;font-size:12px;background:var(--color-background-hover);color:var(--color-main-text);cursor:pointer;border:1px solid var(--color-border);padding:10px 17px}form #selectDbType label.ui-state-hover,form #selectDbType label.ui-state-active{font-weight:normal;background:var(--color-background-darker);color:var(--color-main-text)}form #selectDbType label span{display:none}.grouptop,.groupmiddle,.groupbottom{position:relative;user-select:none}.grouptop,.groupmiddle{margin-bottom:8px !important}.groupbottom{margin-bottom:13px}.groupbottom input[type=submit]{box-shadow:none !important}.grouptop.groupbottom input{border-radius:3px !important;margin:5px 0 !important}.body-login-container{display:flex;flex-direction:column;text-align:start;word-wrap:break-word;border-radius:10px;cursor:default;-moz-user-select:text;-webkit-user-select:text;-ms-user-select:text;user-select:text}.body-login-container .icon-big{background-size:70px;height:70px}.body-login-container form{width:initial}.body-login-container p:not(:last-child){margin-bottom:12px}.infogroup{margin:8px 0}.infogroup:last-child{margin-bottom:0}p.info{margin:20px auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.update{width:calc(100% - 32px);text-align:center}.update .appList{list-style:disc;text-align:start;margin-inline:25px}.update a.update-show-detailed{border-bottom:inherit}body[dir=ltr] .update img.float-spinner{float:left}body[dir=rtl] .update img.float-spinner{float:right}#update-progress-detailed{text-align:start;margin-bottom:12px}.update-show-detailed{padding:12px;display:block;opacity:.75}.update-show-detailed .icon-caret-white{display:inline-block;vertical-align:middle}#update-progress-icon{height:32px;margin:10px;background-size:32px}.icon-info-white{background-image:url("../img/actions/info-white.svg?v=2")}.icon-error-white{background-image:url("../img/actions/error-white.svg?v=1")}.icon-caret-white{background-image:url("../img/actions/caret-white.svg?v=1")}.icon-confirm{background-image:url("../img/actions/confirm.svg?v=2")}.icon-confirm-white{background-image:url("../img/actions/confirm-white.svg?v=2")}.icon-checkmark-white{background-image:url("../img/actions/checkmark-white.svg?v=1")}.float-spinner{margin-top:-32px;padding-top:32px;height:32px;display:none}[class^=icon-],[class*=" icon-"]{background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px}.loading,.loading-small,.icon-loading,.icon-loading-dark,.icon-loading-small,.icon-loading-small-dark{position:relative;filter:var(--background-invert-if-dark)}.loading:after,.loading-small:after,.icon-loading:after,.icon-loading-dark:after,.icon-loading-small:after,.icon-loading-small-dark:after{border:2px solid rgba(150,150,150,.5);border-radius:100%;border-top-color:#646464;z-index:2;content:"";height:32px;width:32px;margin:-17px 0 0 -17px;position:absolute;top:50%;inset-inline-start:50%;-webkit-animation:rotate .8s infinite linear;animation:rotate .8s infinite linear;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.primary .loading,.primary+.loading,.primary .loading-small,.primary+.loading-small,.primary .icon-loading,.primary+.icon-loading,.primary .icon-loading-dark,.primary+.icon-loading-dark,.primary .icon-loading-small,.primary+.icon-loading-small,.primary .icon-loading-small-dark,.primary+.icon-loading-small-dark{filter:var(--primary-invert-if-bright)}.icon-loading-dark:after,.icon-loading-small-dark:after{border:2px solid rgba(187,187,187,.5);border-top-color:#bbb}.icon-loading-small:after,.icon-loading-small-dark:after{height:16px;width:16px;margin:-9px 0 0 -9px}img.icon-loading,object.icon-loading,video.icon-loading,button.icon-loading,textarea.icon-loading,input.icon-loading,select.icon-loading,div[contenteditable=true].icon-loading{background-image:url("../img/loading.gif")}img.icon-loading-dark,object.icon-loading-dark,video.icon-loading-dark,button.icon-loading-dark,textarea.icon-loading-dark,input.icon-loading-dark,select.icon-loading-dark,div[contenteditable=true].icon-loading-dark{background-image:url("../img/loading-dark.gif")}img.icon-loading-small,object.icon-loading-small,video.icon-loading-small,button.icon-loading-small,textarea.icon-loading-small,input.icon-loading-small,select.icon-loading-small,div[contenteditable=true].icon-loading-small{background-image:url("../img/loading-small.gif")}img.icon-loading-small-dark,object.icon-loading-small-dark,video.icon-loading-small-dark,button.icon-loading-small-dark,textarea.icon-loading-small-dark,input.icon-loading-small-dark,select.icon-loading-small-dark,div[contenteditable=true].icon-loading-small-dark{background-image:url("../img/loading-small-dark.gif")}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}footer .info .entity-name{font-weight:bold}footer.guest-box{padding:var(--default-grid-baseline) calc(3*var(--default-grid-baseline));margin-bottom:1rem}footer.guest-box .info{margin:0}label.infield,.hidden-visually{position:absolute;inset-inline-start:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}a.legal{font-size:smaller}.notecard{color:var(--color-text-light);background-color:var(--note-background);border-inline-start:4px solid var(--note-theme);border-radius:var(--border-radius);margin:1rem 0;padding:1rem;text-align:start}.notecard.success{--note-background: rgba(var(--color-success-rgb), 0.1);--note-theme: var(--color-success)}.notecard.error{--note-background: rgba(var(--color-error-rgb), 0.1);--note-theme: var(--color-error)}.notecard.warning{--note-background: rgba(var(--color-warning-rgb), 0.1);--note-theme: var(--color-warning)}.notecard:last-child{margin-bottom:0}.notecard pre{background-color:var(--color-background-dark);margin-top:1rem;padding:1em 1.3em;border-radius:var(--border-radius)}.guest-box,.body-login-container{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));color:var(--color-main-text);background-color:var(--color-main-background-blur);padding:calc(3*var(--default-grid-baseline));border-radius:var(--border-radius-container);box-shadow:0 0 10px var(--color-box-shadow);display:inline-block;-webkit-backdrop-filter:var(--filter-background-blur);backdrop-filter:var(--filter-background-blur)}.guest-box.wide{display:block;text-align:start;border-radius:var(--border-radius-container-large)}.guest-box fieldset{margin-top:0}.guest-box .pre{overflow-x:scroll}button.toggle-password{background-color:rgba(0,0,0,0);border-width:0;height:44px}.margin-top{margin-top:1rem !important}.text-left{text-align:start !important}.hidden{display:none}/*# sourceMappingURL=guest.css.map */ diff --git a/core/css/guest.css.map b/core/css/guest.css.map new file mode 100644 index 00000000000..9ad7bce2df8 --- /dev/null +++ b/core/css/guest.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["guest.scss","animations.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCIA,0BACC,KACC,+BACA,uBAED,GACC,iCACA,0BAGF,kBACC,KACC,+BACA,uBAED,GACC,iCACA,0BDbF,wYAEA,iBAEA,2EAEA,mEAEA,kDAEA,kCAEA,6DAEA,6DAEA,mBAEA,KAEC,aACA,sBACA,uBACA,mBAEA,iBACA,mBACA,kBACA,6NACA,kDACA,kBACA,wDAIA,2FACA,4BACA,sBACA,2BACA,gBACA,YACA,cACA,gBAKA,cACC,gBAGD,qBACC,wBAGD,kEAEC,0BACA,8BAIF,GACC,kBACA,WAID,SAGC,iBAGD,GACC,eACA,mBACA,iBAGD,GACC,eACA,cAKA,cACC,wEACA,4BACA,wBACA,2BACA,YACA,aACA,cACA,kBACA,yBAIF,SACC,WACA,gBACA,uBAID,KACC,kBACA,YACA,UAGD,kBACC,gBAGD,4DAEC,WAGD,uCACC,YACA,uBACA,uBACA,UAGD,wBACC,SAGD,wBACC,iBACA,mBAGD,sCACC,mBACA,iBAGD,2CAEC,mBAGD,qBACC,WAGD,2CACC,WAGD,sBACC,cACA,SAGD,0BACC,mBAID,cACC,aAGD,kBACC,sBAKD,2CACC,SACC,cAIF,gBACC,cACA,aACA,mBACA,uBACA,iBACA,kBAGA,6BACC,kBACA,sBACA,8CACA,oBAKD,uMAGC,sBAGD,oCACC,kBACA,SACA,sBAIF,gDAEC,iBAGD,sCACC,2BAGD,qGAOC,qBACA,WACA,eACA,6CACA,8CACA,iBACA,6BACA,YACA,2CACA,eAGD,kCACC,kBACA,qBACA,QAGD,yBACC,6DAGD,wEAIC,YACA,iBACA,gCACA,YACA,oBACA,mBACA,gBAGD,gFACC,YACA,mCAGD,YACC,YACA,YACA,sCAGD,4FAIC,kBACA,gBACA,uBAID,iDAEC,SAGD,cACC,8CACA,wCAOC,4MAEC,oDACA,wCAMH,8BACC,kBACA,4BACA,SACA,UACA,WACA,gBAGD,oCACC,iBAGD,iGAEC,eAGD,2CACC,WACA,qBACA,sBACA,WACA,eACA,sBACA,kBACA,YACA,WACA,2BAGD,kDACC,kBAGD,6IAEC,kBAGD,2DACC,iCACA,6BAGD,mEACC,kBACA,sBAGD,0DACC,0CACA,6BACA,+DAID,qBACC,qBACA,kBACA,UACA,YACA,4BACA,0BACA,0BACA,4BACA,gBACA,WAGD,eACC,iBACA,gBACA,kBAID,yBACC,kBACA,qBACA,SACA,aACA,uBACA,WACA,qBACA,aAGD,2CACC,6BACA,UAGD,qBACC,YACA,iBACA,yBACA,cAGD,gBACC,yBAID,8GAKC,kBAGD,uIAGC,mDAGD,iCAEC,YACA,sBAGD,qBACC,aACA,kBACA,cACA,+BACA,iBACA,mBACA,gCAEA,kFAGC,sBAED,yBACC,WACA,YACA,eAED,yBACC,cAED,wBACC,SAED,uBACC,mBAIF,iBACC,YACA,cACA,cAGD,mBACC,WACA,aACA,iBACA,oBACA,eAGD,oBAEC,wBACA,YAGD,sBACC,qBACA,aAKD,gBACC,+BACA,kCAKD,uBACC,gBACA,mBAID,mBACC,kBACA,mBACA,SACA,aACA,yBACC,mBAED,yBACC,YACA,kBACA,eACA,yCACA,6BACA,eACA,qCACA,kBAED,iFAEC,mBACA,0CACA,6BAED,8BACC,aAMF,oCAGC,kBACA,iBAGD,uBACC,6BAGD,aACC,mBAGD,gCACC,2BAGD,4BACC,6BACA,wBAKD,sBACC,aACA,sBACA,iBACA,qBACA,mBACA,eACA,sBACA,yBACA,qBACA,iBAGA,gCACC,qBACA,YAGD,2BACC,cAGD,yCACC,mBAMF,WACC,aAGD,sBACC,gBAGD,OACC,iBACA,yBACA,sBACA,qBACA,iBAID,QACC,wBACA,kBAEA,iBACC,gBACA,iBACA,mBAGD,+BACC,sBAKF,wCACC,WAGD,wCACC,YAGD,0BACC,iBACA,mBAGD,sBACC,aACA,cACA,YAEA,wCACC,qBACA,sBAIF,sBACC,YACA,YACA,qBAKD,iBACC,0DAGD,kBACC,2DAGD,kBACC,2DAGD,cACC,uDAGD,oBACC,6DAGD,sBACC,+DAKD,eACC,iBACA,iBACA,YACA,aAGD,iCACC,4BACA,2BACA,eACA,gBAGD,sGACC,kBACA,wCAGD,0IACC,sCACA,mBACA,yBAEA,UACA,WACA,YACA,WACA,uBACA,kBACA,QACA,uBACA,6CACA,qCACA,gCACA,4BACA,wBAGD,wTACC,uCAGD,wDACC,sCACA,sBAGD,yDACC,YACA,WACA,qBAGD,gLACC,2CAGD,wNACC,gDAGD,gOACC,iDAGD,wQACC,sDAED,0BACC,KACA,+BACA,uBAEA,GACA,iCACA,0BAGD,kBACC,KACA,+BACA,uBAEA,GACA,iCACA,0BAMA,0BACC,iBAGD,iBACC,0EACA,mBAEA,uBACC,SAMH,+BAEC,kBACA,4BACA,aACA,UACA,WACA,gBAGD,QACC,kBAGD,UACC,8BACA,wCACA,gDACA,mCACA,cACA,aACA,iBAEA,kBACC,uDACA,mCAGD,gBACC,qDACA,iCAGD,kBACC,uDACA,mCAGD,qBACC,gBAGD,cACC,8CACA,gBACA,kBACA,mCAIF,iCAEC,gGACA,6BACA,mDACA,6CACA,6CACA,4CACA,qBACA,sDACA,8CAIA,gBACC,cACA,iBACA,mDAGD,oBACC,aAGD,gBACC,kBAIF,uBACC,+BACA,eACA,YAID,YACC,2BAGD,WACC,4BAGD,QACC","file":"guest.css"}
\ No newline at end of file diff --git a/core/css/guest.css.map.license b/core/css/guest.css.map.license new file mode 100644 index 00000000000..82ac7cce426 --- /dev/null +++ b/core/css/guest.css.map.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/guest.scss b/core/css/guest.scss new file mode 100644 index 00000000000..ef7d733165a --- /dev/null +++ b/core/css/guest.scss @@ -0,0 +1,892 @@ +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +@use 'animations'; + +/* Default and reset */ +html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section { margin:0; padding:0; border:0; outline:0; font-weight:inherit; font-size:100%; font-family:inherit; vertical-align:baseline; cursor:default; } + +html { height:100%; } + +article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block; } + +table { border-collapse:separate; border-spacing:0; white-space:nowrap; } + +caption, th, td { text-align:start; font-weight:normal; } + +table, td, th { vertical-align:middle; } + +a { border:0; color: var(--color-main-text); text-decoration:none;} + +a, a *, input, input *, select, .button span, label { cursor:pointer; } + +ul { list-style:none; } + +body { + /* Guest content uses flexbox */ + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + /* bring the default font size up to 14px */ + font-size: .875em; + font-weight: normal; + line-height: 1.6em; + font-family: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, Ubuntu, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + color: var(--color-background-plain-text, #ffffff); + text-align: center; + background-color: var(--color-background-plain, #0082c9); + /* + User background if logged in ('no' if removed, that way the variable is _defined_) + Fallback to default gradient (should not happened, the background is always defined anyway) */ + background-image: var(--image-background, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%)); + background-attachment: fixed; + background-size: cover; + background-position: center; + min-height: 100%; /* fix sticky footer */ + height: auto; + overflow: auto; + position: static; +} + +/* Various fonts settings */ +#body-login { + a { + font-weight: 600; + } + + footer a { + color: var(--color-text); + } + + a:not(.button):hover, + a:not(.button):focus { + text-decoration: underline; + text-decoration-skip-ink: auto; + } +} + +em { + font-style: normal; + opacity: .5; +} + +/* heading styles */ +h2, +h3, +h4 { + font-weight: bold; +} + +h2 { + font-size: 20px; + margin-bottom: 12px; + line-height: 140%; +} + +h3 { + font-size: 15px; + margin: 12px 0; +} + +/* Global content */ +#header { + .logo { + background-image: var(--image-logo, url('../../core/img/logo/logo.svg')); + background-repeat: no-repeat; + background-size: contain; + background-position: center; + width: 175px; + height: 130px; + margin: 0 auto; + position: relative; + inset-inline-start: unset; + } +} + +.wrapper { + width: 100%; + max-width: 700px; + margin-block: 10vh auto; +} + +/* Default FORM */ +form { + position: relative; + margin: auto; + padding: 0; +} + +form.install-form { + max-width: 300px; +} + +form.install-form fieldset, +form.install-form fieldset input { + width: 100%; +} + +form.install-form .strengthify-wrapper { + bottom: 17px; + width: calc(100% - 8px); + inset-inline-start: 4px; + top: unset; +} + +form.install-form #show { + top: 18px; +} + +form #sqliteInformation { + margin-top: 0.5rem; + margin-bottom: 20px; +} + +form #adminaccount, form #use_other_db { + margin-bottom: 15px; + text-align: start; +} + +form #adminaccount > legend, +form #adminlogin { + margin-bottom: 1rem; +} + +form #advancedHeader { + width: 100%; +} + +form fieldset legend, #datadirContent label { + width: 100%; +} + +#datadirContent label { + display: block; + margin: 0; +} + +form #datadirField legend { + margin-bottom: 15px; +} + +/* View more button */ +#showAdvanced { + padding: 13px; /* increase clickable area of Advanced dropdown */ +} + +#showAdvanced img { + vertical-align: middle; /* adjust position of Advanced dropdown arrow */ +} + +/* Buttons and input */ + +@media only screen and (max-width: 1024px) { + .wrapper { + margin-top: 0; + } +} + +#submit-wrapper { + margin: 0 auto; + display: flex; + align-items: center; + justify-content: center; + padding: 10px 5px; + position: relative; /* Make the wrapper the containing block of its + absolutely positioned descendant icons */ + + .submit-icon { + position: absolute; + inset-inline-end: 24px; + transition: inset-inline-end 100ms ease-in-out; + pointer-events: none; /* The submit icon is positioned on the submit button. + From the user point of view the icon is part of the + button, so the clicks on the icon have to be + applied to the button instead. */ + } + input.login:hover ~ .submit-icon.icon-confirm-white, + input.login:focus ~ .submit-icon.icon-confirm-white, + input.login:active ~ .submit-icon.icon-confirm-white { + inset-inline-end: 20px; + } + + .icon-loading-small { + position: absolute; + top: 22px; + inset-inline-end: 26px; + } +} + +input:not([type='radio']), +input:not([type='range']) { + border-width: 2px; +} + +input:not([type='range']):focus-visible { + box-shadow: none !important; +} + +input[type='submit'], +input[type='submit'].icon-confirm, +input[type='button'], +button, +a.button, +.button, +select { + display: inline-block; + width: auto; + min-width: 25px; + padding: calc(2 * var(--default-grid-baseline)); + background-color: var(--color-main-background); + font-weight: bold; + color: var(--color-main-text); + border: none; + border-radius: var(--border-radius-element); + cursor: pointer; +} + +.icon-confirm.input-button-inline { + position: absolute; + inset-inline-end: 3px; + top: 5px; +} + +input[type='submit']:focus { + box-shadow: 0 0 0 2px inset var(--color-main-text) !important; +} + +input[type='text'], +input[type='tel'], +input[type='password'], +input[type='email'] { + width: 266px; + padding: 5px 10px; + color: var(--color-text-lighter); + cursor: text; + font-family: inherit; + font-weight: normal; + margin-inline: 0; +} + +input[type='password'].password-with-toggle, input[type='text'].password-with-toggle { + width: 238px; + padding-inline-end: 40px !important; +} + +input.login { + width: 260px; + height: 50px; + background-position: right 16px center; +} + +input[type='submit'], +input[type='submit'].icon-confirm, +input.updateButton, +input.update-continue { + padding: 10px 20px; /* larger log in and installation buttons */ + overflow: hidden; + text-overflow: ellipsis; +} + +/* Get rid of the inside dotted line in Firefox */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; +} + +input.primary { + background-color: var(--color-primary-element); + color: var(--color-primary-element-text); +} + +input, +button, +a { + &.primary:not(:disabled) { + &:hover, + &:focus { + background-color: var(--color-primary-element-hover); + color: var(--color-primary-element-text); + } + } +} + +/* Checkboxes - white only for login */ +input[type='checkbox'].checkbox { + position: absolute; + inset-inline-start: -10000px; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; +} + +input[type='checkbox'].checkbox + label { + user-select: none; +} + +input[type='checkbox'].checkbox:disabled + label, +input[type='checkbox'].checkbox:disabled + label:before { + cursor: default; +} + +input[type='checkbox'].checkbox + label:before { + content: ''; + display: inline-block; + vertical-align: middle; + margin: 3px; + margin-top: 1px; + border: 1px solid #888; + border-radius: 1px; + height: 10px; + width: 10px; + background-position: center; +} + +input[type='checkbox'].checkbox--white + label:before { + border-color: #ddd; +} + +input[type='checkbox'].checkbox--white:not(:disabled):not(:checked) + label:hover:before, +input[type='checkbox'].checkbox--white:focus + label:before { + border-color: #fff; +} + +input[type='checkbox'].checkbox--white:disabled + label:before { + background-color: #666 !important; + border-color: #999 !important; +} + +input[type='checkbox'].checkbox--white:checked:disabled + label:before { + border-color: #666; + background-color: #222; +} + +input[type='checkbox'].checkbox--white:checked + label:before { + background-color: transparent !important; + border-color: #fff !important; + background-image: url('../img/actions/checkbox-mark-white.svg'); +} + +/* Password strength meter */ +.strengthify-wrapper { + display: inline-block; + position: relative; + top: -20px; + width: 250px; + border-start-start-radius: 0; + border-start-end-radius: 0; + border-end-end-radius: 3px; + border-end-start-radius: 3px; + overflow: hidden; + height: 3px; +} + +.tooltip-inner { + font-weight: bold; + padding: 3px 6px; + text-align: center; +} + +/* Show password toggle */ +#show, #dbpassword-toggle { + position: absolute; + inset-inline-end: 2px; + top: -3px; + display: flex; + justify-content: center; + width: 44px; + align-content: center; + padding: 13px; +} + +#pass2, input[name='personal-password-clone'] { + padding: .6em 2.5em .4em .4em; + width: 8em; +} + +#personal-show + label { + height: 14px; + margin-top: -25px; + inset-inline-start: 295px; + display: block; +} + +#passwordbutton { + margin-inline-start: .5em; +} + +/* Dark subtle label text */ +p.info, +form fieldset legend, +#datadirContent label, +form fieldset .warning-info, +form input[type='checkbox']+label { + text-align: center; +} +/* overrides another !important statement that sets this to unreadable black */ +form .warning input[type='checkbox']:hover+label, +form .warning input[type='checkbox']:focus+label, +form .warning input[type='checkbox']+label { + color: var(--color-primary-element-text) !important; +} + +.body-login-container.two-factor { + // Same size as login box and dashboard panels + width: 320px; + box-sizing: border-box; +} + +.two-factor-provider { + display: flex; + border-radius: 3px; /* --border-radius */ + margin: 12px 0; + border: 1px solid transparent; + text-align: start; + align-items: center; + text-decoration: none !important; + + &:hover, + &:focus, + &:active { + border: 1px solid #fff; + } + img { + width: 64px; + height: 64px; + padding: 0 12px; + } + div { + margin: 12px 0; + } + h3 { + margin: 0; + } + p { + font-weight: normal; + } +} + +.two-factor-icon { + width: 100px; + display: block; + margin: 0 auto; +} + +.two-factor-submit { + width: 100%; + padding: 10px; + margin: 0 0 5px 0; + border-radius: 100px; /* --border-radius-pill */ + font-size: 20px; +} + +.two-factor-primary { + /* Fix for 'Use backup codes' button not taking correct styles */ + padding: 14px !important; + width: 226px; +} + +.two-factor-secondary { + display: inline-block; + padding: 12px; +} + + +/* Additional login options */ +#remember_login { + margin-block: 18px 0 !important; + margin-inline: 16px 5px !important; +} + +/* fixes for update page TODO should be fixed some time in a proper way */ +/* this is just for an error while updating the ownCloud instance */ +.updateProgress .error { + margin-top: 10px; + margin-bottom: 10px; +} + +/* Database selector on install page */ +form #selectDbType { + text-align:center; + white-space: nowrap; + margin: 0; + display: flex; + .info { + white-space: normal; + } + label { + flex-grow: 1; + margin: 0 -1px 5px; + font-size: 12px; + background: var(--color-background-hover); + color: var(--color-main-text); + cursor:pointer; + border: 1px solid var(--color-border); + padding: 10px 17px; + } + label.ui-state-hover, + label.ui-state-active { + font-weight: normal; + background: var(--color-background-darker); + color: var(--color-main-text); + } + label span { + display: none; + } +} + + +/* Nicely grouping input field sets */ +.grouptop, +.groupmiddle, +.groupbottom { + position: relative; + user-select: none; +} + +.grouptop, .groupmiddle { + margin-bottom: 8px !important; +} + +.groupbottom { + margin-bottom: 13px; +} + +.groupbottom input[type=submit] { + box-shadow: none !important; +} + +.grouptop.groupbottom input { + border-radius: 3px !important; + margin: 5px 0 !important; +} + +/* Errors */ +/* Warnings and errors are the same */ +.body-login-container { + display: flex; + flex-direction: column; + text-align: start; + word-wrap: break-word; + border-radius: 10px; /* --border-radius-large */ + cursor: default; + -moz-user-select: text; + -webkit-user-select: text; + -ms-user-select: text; + user-select: text; + + /* TODO: Change all .warning/.update/.error to .body-login-container */ + .icon-big { + background-size: 70px; + height: 70px; + } + + form { + width: initial; + } + + p:not(:last-child) { + margin-bottom: 12px; + } +} + + +/* Various paragraph styles */ +.infogroup { + margin: 8px 0; +} + +.infogroup:last-child { + margin-bottom: 0; +} + +p.info { + margin: 20px auto; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* Update */ +.update { + width: calc(100% - 32px); + text-align: center; + + .appList { + list-style: disc; + text-align: start; + margin-inline: 25px; + } + + a.update-show-detailed { + border-bottom: inherit; + } +} + +/* Cannot use inline-start and :dir to support Samsung Internet */ +body[dir='ltr'] .update img.float-spinner { + float: left; +} + +body[dir='rtl'] .update img.float-spinner { + float: right; +} + +#update-progress-detailed { + text-align: start; + margin-bottom: 12px; +} + +.update-show-detailed { + padding: 12px; + display: block; + opacity: .75; + + .icon-caret-white { + display: inline-block; + vertical-align: middle; + } +} + +#update-progress-icon { + height: 32px; + margin: 10px; + background-size: 32px; +} + + +/* Icons */ +.icon-info-white { + background-image: url('../img/actions/info-white.svg?v=2'); +} + +.icon-error-white { + background-image: url('../img/actions/error-white.svg?v=1'); +} + +.icon-caret-white { + background-image: url('../img/actions/caret-white.svg?v=1'); +} + +.icon-confirm { + background-image: url('../img/actions/confirm.svg?v=2'); +} + +.icon-confirm-white { + background-image: url('../img/actions/confirm-white.svg?v=2'); +} + +.icon-checkmark-white { + background-image: url('../img/actions/checkmark-white.svg?v=1'); +} + + +/* Loading */ +.float-spinner { + margin-top: -32px; + padding-top: 32px; + height: 32px; + display: none; +} + +[class^='icon-'], [class*=' icon-'] { + background-repeat: no-repeat; + background-position: center; + min-width: 16px; + min-height: 16px; +} + +.loading, .loading-small, .icon-loading, .icon-loading-dark, .icon-loading-small, .icon-loading-small-dark { + position: relative; + filter: var(--background-invert-if-dark) +} + +.loading:after, .loading-small:after, .icon-loading:after, .icon-loading-dark:after, .icon-loading-small:after, .icon-loading-small-dark:after { + border: 2px solid rgba(150, 150, 150, 0.5); + border-radius: 100%; + border-top-color: #646464; + + z-index: 2; + content: ''; + height: 32px; + width: 32px; + margin: -17px 0 0 -17px; + position: absolute; + top: 50%; + inset-inline-start: 50%; + -webkit-animation: rotate .8s infinite linear; + animation: rotate .8s infinite linear; + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; +} + +.primary .loading,.primary+.loading,.primary .loading-small,.primary+.loading-small,.primary .icon-loading,.primary+.icon-loading,.primary .icon-loading-dark,.primary+.icon-loading-dark,.primary .icon-loading-small,.primary+.icon-loading-small,.primary .icon-loading-small-dark,.primary+.icon-loading-small-dark { + filter: var(--primary-invert-if-bright) +} + +.icon-loading-dark:after, .icon-loading-small-dark:after { + border: 2px solid rgba(187, 187, 187, 0.5); + border-top-color: #bbb; +} + +.icon-loading-small:after, .icon-loading-small-dark:after { + height: 16px; + width: 16px; + margin: -9px 0 0 -9px; +} +/* Css replaced elements don't have ::after nor ::before */ +img.icon-loading, object.icon-loading, video.icon-loading, button.icon-loading, textarea.icon-loading, input.icon-loading, select.icon-loading, div[contenteditable=true].icon-loading { + background-image: url('../img/loading.gif'); +} + +img.icon-loading-dark, object.icon-loading-dark, video.icon-loading-dark, button.icon-loading-dark, textarea.icon-loading-dark, input.icon-loading-dark, select.icon-loading-dark, div[contenteditable=true].icon-loading-dark { + background-image: url('../img/loading-dark.gif'); +} + +img.icon-loading-small, object.icon-loading-small, video.icon-loading-small, button.icon-loading-small, textarea.icon-loading-small, input.icon-loading-small, select.icon-loading-small, div[contenteditable=true].icon-loading-small { + background-image: url('../img/loading-small.gif'); +} + +img.icon-loading-small-dark, object.icon-loading-small-dark, video.icon-loading-small-dark, button.icon-loading-small-dark, textarea.icon-loading-small-dark, input.icon-loading-small-dark, select.icon-loading-small-dark, div[contenteditable=true].icon-loading-small-dark { + background-image: url('../img/loading-small-dark.gif'); +} +@-webkit-keyframes rotate { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes rotate { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/* FOOTER */ +footer { + .info .entity-name { + font-weight: bold; + } + + &.guest-box { + padding: var(--default-grid-baseline) calc(3 * var(--default-grid-baseline)); + margin-bottom: 1rem; + + .info { + margin: 0; + } + } +} + +/* keep the labels for screen readers but hide them since we use placeholders */ +label.infield, +.hidden-visually { + position: absolute; + inset-inline-start: -10000px; + top: -10000px; + width: 1px; + height: 1px; + overflow: hidden; +} + +a.legal { + font-size: smaller; +} + +.notecard { + color: var(--color-text-light); + background-color: var(--note-background); + border-inline-start: 4px solid var(--note-theme); + border-radius: var(--border-radius); + margin: 1rem 0; + padding: 1rem; + text-align: start; + + &.success { + --note-background: rgba(var(--color-success-rgb), 0.1); + --note-theme: var(--color-success); + } + + &.error { + --note-background: rgba(var(--color-error-rgb), 0.1); + --note-theme: var(--color-error); + } + + &.warning { + --note-background: rgba(var(--color-warning-rgb), 0.1); + --note-theme: var(--color-warning); + } + + &:last-child { + margin-bottom: 0; + } + + pre { + background-color: var(--color-background-dark); + margin-top: 1rem; + padding: 1em 1.3em; + border-radius: var(--border-radius); + } +} + +.guest-box, .body-login-container { + // Ensure the maxcontrast color is set for the background + --color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text)); + color: var(--color-main-text); + background-color: var(--color-main-background-blur); + padding: calc(3 * var(--default-grid-baseline)); + border-radius: var(--border-radius-container); + box-shadow: 0 0 10px var(--color-box-shadow); + display: inline-block; + -webkit-backdrop-filter: var(--filter-background-blur); + backdrop-filter: var(--filter-background-blur); +} + +.guest-box { + &.wide { + display: block; + text-align: start; + border-radius: var(--border-radius-container-large); + } + + fieldset { + margin-top: 0; + } + + .pre { + overflow-x: scroll; + } +} + +button.toggle-password { + background-color: transparent; + border-width: 0; + height: 44px; +} + +/** Utilities */ +.margin-top { + margin-top: 1rem !important; +} + +.text-left { + text-align: start !important; +} + +.hidden { + display: none; +} diff --git a/core/css/header.css b/core/css/header.css index 5a5acb269ab..1c748610023 100644 --- a/core/css/header.css +++ b/core/css/header.css @@ -1,361 +1,5 @@ -/* prevent ugly selection effect on accidental selection */ -#header, -#navigation, -#expanddiv { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; -} - -/* removed until content-focusing issue is fixed */ -#skip-to-content a { - position: absolute; - left: -10000px; - top: auto; - width: 1px; - height: 1px; - overflow: hidden; -} -#skip-to-content a:focus { - left: 76px; - top: -9px; - color: #fff; - width: auto; - height: auto; -} - - - -/* HEADERS ------------------------------------------------------------------ */ - -#body-user #header, -#body-settings #header, -#body-public #header { - position: fixed; - top: 0; - left: 0; - right: 0; - z-index: 2000; - height: 45px; - line-height: 2.5em; - background-color: #1d2d44; - box-sizing: border-box; -} - - - -/* LOGO and APP NAME -------------------------------------------------------- */ - -#owncloud { - position: absolute; - top: 0; - left: 0; - padding: 5px; - padding-bottom: 0; - height: 45px; /* header height */ - box-sizing: border-box; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - opacity: 1; -} -#owncloud:focus { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; - opacity: .75; -} -#owncloud:hover, -#owncloud:active { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - opacity: 1; -} - -#header .logo { - background-image: url(../img/logo-icon.svg); - background-repeat: no-repeat; - background-size: 175px; - background-position: center 30px; - width: 252px; - height: 120px; - margin: 0 auto; -} - -#header .logo-icon { - /* display logo so appname can be shown next to it */ - display: inline-block; - background-image: url(../img/logo-icon.svg); - background-repeat: no-repeat; - width: 62px; - height: 34px; -} - -#header .header-appname-container { - display: inline-block; - position: absolute; - left: 70px; - height: 27px; - padding-top: 18px; - padding-right: 10px; -} - -/* hover effect for app switcher label */ -.header-appname-container .header-appname, -.menutoggle .icon-caret { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; - opacity: .75; -} -.menutoggle:hover .header-appname, -.menutoggle:hover .icon-caret, -.menutoggle:focus .header-appname, -.menutoggle:focus .icon-caret, -.menutoggle.active .header-appname, -.menutoggle.active .icon-caret { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - opacity: 1; -} - -/* show appname next to logo */ -.header-appname { - display: inline-block; - position: relative; - color: #fff; - font-size: 16px; - font-weight: 300; - margin: 0; - margin-top: -24px; - padding: 7px 0 7px 5px; - vertical-align: middle; -} -/* show caret indicator next to logo to make clear it is tappable */ -#header .icon-caret { - display: inline-block; - width: 12px; - height: 12px; - margin: 0; - margin-top: -21px; - padding: 0; - vertical-align: middle; -} -/* do not show menu toggle on public share links as there is no menu */ -#body-public #header .icon-caret { - display: none; -} - - - -/* NAVIGATION --------------------------------------------------------------- */ - -#navigation { - position: fixed; - top: 45px; - left: 10px; - width: 265px; - max-height: 85%; - margin-top: 0; - padding-bottom: 10px; - background-color: rgba(0, 0, 0, .97); - box-shadow: 0 1px 10px rgba(50, 50, 50, .7); - border-radius: 3px; - border-top-left-radius: 0; - border-top-right-radius: 0; - display: none; - /*overflow-y: auto; - overflow-x: hidden;*/ - z-index: 2000; -} -/* arrow look */ -#navigation:after, #expanddiv:after { - bottom: 100%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none; - border-color: rgba(0, 0, 0, 0); - border-bottom-color: rgba(0, 0, 0, .97); - border-width: 10px; - margin-left: -10px; -} -/* position of dropdown arrow */ -#navigation:after { - left: 47%; -} -#expanddiv:after { - right: 15px; -} - -#navigation, #navigation * { - box-sizing:border-box; -} -#navigation li { - display: inline-block; -} -#navigation a { - position: relative; - width: 80px; - height: 80px; - display: inline-block; - text-align: center; - padding: 20px 0; -} -#navigation a span { - display: inline-block; - font-size: 13px; - padding-bottom: 0; - padding-left: 0; - width: 80px; - text-align: center; - color: #fff; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; -} - /* icon opacity and hover effect */ - #navigation a img, - #navigation a span { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - opacity: .7; - } - #navigation a:hover img, - #navigation a:focus img, - #navigation a:hover span, - #navigation a:focus span, - #navigation a.active img, - #navigation a.active span { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - opacity: 1; - } - -#navigation .app-icon { - margin: 0 auto; - padding: 0; - max-height: 32px; - max-width: 32px; -} - -/* Apps management */ -#apps-management { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; - opacity: .6; - min-height: initial; - height: initial; - margin: 0; -} - - -/* loading feedback for apps */ -#navigation .app-loading .icon-loading-dark { - display: inline !important; - position: absolute; - top: 20px; - left: 24px; - width: 32px; - height: 32px; -} -#navigation .app-loading .app-icon { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)"; - opacity: .1; -} - -#apps { - max-height: calc(100vh - 100px); - overflow:auto; -} - - -/* USER MENU -----------------------------------------------------------------*/ - -/* info part on the right, used e.g. for info on who shared something */ -.header-right { - position: absolute; - right: 0; - padding: 7px 5px; - color: #fff; - height: 100%; - max-width: 80%; - white-space: nowrap; - box-sizing: border-box; -} - -/* Profile picture in header */ -#header .avatardiv { - float: left; - display: inline-block; - margin-right: 8px; - cursor: pointer; - height: 32px; - width: 32px; -} -#header .avatardiv img { - opacity: 1; - cursor: pointer; -} - -#settings { - float: right; - color: #bbb; - cursor: pointer; -} -#expand { - display: block; - padding: 7px 30px 6px 10px; - cursor: pointer; -} -#expand * { - cursor: pointer; -} -#expand:hover, -#expand:focus, -#expand:active { - color: #fff; -} -#expand img { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - opacity: .7; - margin-bottom: -2px; -} -#expand:hover img, -#expand:focus img, -#expand:active img { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - opacity: 1; -} -#expanddiv { - position: absolute; - right: 10px; - top: 45px; - z-index: 2000; - display: none; - background-color: rgba(0, 0, 0, .97); - box-shadow: 0 1px 10px rgba(50, 50, 50, .7); - border-radius: 3px; - border-top-left-radius: 0; - border-top-right-radius: 0; - box-sizing: border-box; -} - #expanddiv a { - display: block; - height: 40px; - color: #fff; - padding: 4px 12px 0; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - opacity: .7; - box-sizing: border-box; - } - #expanddiv a img { - margin-bottom: -3px; - margin-right: 6px; - } - #expanddiv a:hover, - #expanddiv a:focus, - #expanddiv a:active, - #expanddiv a.active { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - opacity: 1; - } - -/* do not show display name when profile picture is present */ -#header .avatardiv.avatardiv-shown + #expandDisplayName { - display: none; -} -#header #expand { - display: block; -} +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */#skip-actions{position:absolute;overflow:hidden;z-index:9999;top:-999px;inset-inline-start:3px;padding:11px;display:flex;flex-wrap:wrap;gap:11px}#skip-actions:focus-within{top:var(--header-height)}#header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#header:not(.header-guest){display:inline-flex;position:absolute;top:0;width:100%;z-index:2000;height:var(--header-height);box-sizing:border-box;justify-content:space-between}#header #nextcloud{padding:5px 0;padding-inline-start:86px;position:relative;height:calc(100% - var(--default-grid-baseline));box-sizing:border-box;opacity:1;align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;margin:2px}#header #nextcloud:hover,#header #nextcloud:active{opacity:1}#header #nextcloud .logo{display:inline-flex;background-image:var(--image-logoheader, var(--image-logo, url("../img/logo/logo.svg")));background-repeat:no-repeat;background-size:contain;background-position:center;width:62px;position:absolute;inset-inline-start:12px;top:1px;bottom:1px;filter:var(--image-logoheader-custom, var(--background-image-invert-if-bright))}#header #nextcloud:focus-visible,#header .app-menu-entry a:focus-visible,#header .header-menu button:first-of-type:focus-visible{outline:none}#header #nextcloud:focus-visible::after,#header .app-menu-entry a:focus-visible::after,#header .header-menu button:first-of-type:focus-visible::after{content:" ";position:absolute;inset-block-end:2px;transform:translateX(-50%);width:12px;height:2px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;opacity:1}#header .header-start{display:inline-flex;align-items:center;flex:1 0;white-space:nowrap;min-width:0}#header .header-end{display:inline-flex;align-items:center;justify-content:flex-end;flex-shrink:1;margin-inline-end:calc(3*var(--default-grid-baseline))}#header .header-end>div,#header .header-end>form{height:100%;position:relative}#header .header-end>div>.menutoggle,#header .header-end>form>.menutoggle{display:flex;justify-content:center;align-items:center;width:var(--header-height);height:var(--header-menu-item-height);cursor:pointer;opacity:.85;padding:0;margin:2px 0}#header .header-end>div>.menutoggle:focus,#header .header-end>form>.menutoggle:focus{opacity:1}#header .header-end>div>.menutoggle:focus-visible,#header .header-end>form>.menutoggle:focus-visible{outline:none}#header .header-end>div>.menu,#header .header-end>form>.menu{background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));border-radius:var(--border-radius-large);box-sizing:border-box;z-index:2000;position:absolute;max-width:350px;min-height:calc(var(--default-clickable-area)*1.5);max-height:calc(100vh - var(--header-height) - 2*var(--default-grid-baseline));inset-inline-end:8px;top:var(--header-height);margin:0;overflow-y:auto}#header .header-end>div>.menu:not(.popovermenu),#header .header-end>form>.menu:not(.popovermenu){display:none}#header .header-end>div>.menu:after,#header .header-end>form>.menu:after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:100%;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:10px}#header .header-end>div>.menu>div,#header .header-end>div>.menu>ul,#header .header-end>form>.menu>div,#header .header-end>form>.menu>ul{-webkit-overflow-scrolling:touch;min-height:calc(var(--default-clickable-area)*1.5);max-height:calc(100vh - var(--header-height) - 2*var(--default-grid-baseline))}#header .header-end>div .emptycontent h2,#header .header-end>form .emptycontent h2{font-weight:normal;font-size:16px}#header .header-end>div .emptycontent [class^=icon-],#header .header-end>div .emptycontent [class*=icon-],#header .header-end>form .emptycontent [class^=icon-],#header .header-end>form .emptycontent [class*=icon-]{background-size:48px;height:48px;width:48px}#header .header-appname{color:var(--color-background-plain-text);font-size:16px;font-weight:bold;margin:0;padding:0;padding-inline-end:5px;overflow:hidden;text-overflow:ellipsis;flex:1 1 100%}#header .header-appname .header-info{display:flex;flex-direction:column;overflow:hidden}#header .header-appname .header-info .header-title{overflow:hidden;text-overflow:ellipsis}#header .header-appname .header-info .header-shared-by{color:var(--color-background-plain-text);position:relative;font-weight:300;font-size:var(--font-size-small);line-height:var(--font-size-small);overflow:hidden;text-overflow:ellipsis}@media(display-mode: standalone)or (display-mode: minimal-ui){#header:not(.header-guest){display:none !important}#content,#content-vue{margin-top:var(--body-container-margin)}:root{--body-height: calc(100% - env(safe-area-inset-bottom) - var(--body-container-margin) * 2) !important}}/*# sourceMappingURL=header.css.map */ diff --git a/core/css/header.css.map b/core/css/header.css.map new file mode 100644 index 00000000000..50d096529d9 --- /dev/null +++ b/core/css/header.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["header.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GAYA,cACC,kBACA,gBACA,aACA,WACA,uBACA,aACA,aACA,eACA,SAEA,2BACC,yBAKF,QAEC,yBACA,sBACA,qBACA,iBAGA,2BACC,oBACA,kBACA,MACA,WACA,aACA,4BACA,sBACA,8BAID,mBACC,cACA,0BACA,kBACA,iDACA,sBACA,UACA,mBACA,aACA,eACA,gBACA,WAEA,mDACC,UAID,yBACC,oBACA,yFACA,4BACA,wBACA,2BACA,WACA,kBACA,wBACA,QACA,WAEA,gFAMF,iIAGC,aAEA,sJACC,YACA,kBACA,oBACA,2BACA,WACA,WACA,kBACA,oDACA,uBACA,UAOF,sBACC,oBACA,mBACA,SACA,mBACA,YAKD,oBACC,oBACA,mBACA,yBACA,cAEA,uDAIA,iDAEC,YACA,kBACA,yEACC,aACA,uBACA,mBACA,2BACA,sCACA,eACA,YACA,UACA,aAEA,qFACC,UAGD,qGACC,aAIF,6DACC,8CACA,sDACA,yCACA,sBACA,aACA,kBACA,gBAvJH,mDACA,+EAwJG,qBACA,yBACA,SACA,gBAEA,iGACC,aAID,yEACC,gCACA,iDACA,YACA,YACA,SACA,QACA,kBACA,oBACA,sBAGD,wIAEC,iCAjLJ,mDACA,+EAsLG,mFACC,mBACA,eAED,sNAEC,qBACA,YACA,WAQJ,wBACC,yCACA,eACA,iBACA,SACA,UACA,uBACA,gBACA,uBAEA,cAGA,qCACC,aACA,sBACA,gBAEA,mDACC,gBACA,uBAGD,uDACC,yCACA,kBACA,gBACA,iCACA,mCACA,gBACA,uBAMJ,8DACC,2BACC,wBAGD,sBACC,wCAGD,MAEC","file":"header.css"}
\ No newline at end of file diff --git a/core/css/header.css.map.license b/core/css/header.css.map.license new file mode 100644 index 00000000000..82ac7cce426 --- /dev/null +++ b/core/css/header.css.map.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/header.scss b/core/css/header.scss new file mode 100644 index 00000000000..e14e1eecb11 --- /dev/null +++ b/core/css/header.scss @@ -0,0 +1,256 @@ +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +@mixin header-menu-height() { + min-height: calc(var(--default-clickable-area) * 1.5); // show at least 1.5 entries + max-height: calc(100vh - var(--header-height) - (2 * var(--default-grid-baseline))); +} + +/* Skip navigation links – show only on keyboard focus */ +#skip-actions { + position: absolute; + overflow: hidden; + z-index: 9999; + top: -999px; + inset-inline-start: 3px; + padding: 11px; + display: flex; + flex-wrap: wrap; + gap: 11px; + + &:focus-within { + top: var(--header-height); + } +} + +/* HEADERS ------------------------------------------------------------------ */ +#header { + // prevent ugly selection effect on accidental selection + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + // for legacy the reasons the guest layout also uses the same id, so we need to exclude it as it uses a different layout. + &:not(.header-guest) { + display: inline-flex; + position: absolute; + top: 0; + width: 100%; + z-index: 2000; + height: var(--header-height); + box-sizing: border-box; + justify-content: space-between; + } + + // This is the first entry in the header, it represents the "home"-link + #nextcloud { + padding: 5px 0; + padding-inline-start: 86px; // logo width + 2 * the inset (padding) + position: relative; + height: calc(100% - var(--default-grid-baseline)); + box-sizing: border-box; + opacity: 1; + align-items: center; + display: flex; + flex-wrap: wrap; + overflow: hidden; + margin: 2px; + + &:hover, &:active { + opacity: 1; + } + + // the actual logo within the home-link entry + .logo { + display: inline-flex; + background-image: var(--image-logoheader, var(--image-logo, url('../img/logo/logo.svg'))); + background-repeat: no-repeat; + background-size: contain; + background-position: center; + width: 62px; + position: absolute; + inset-inline-start: 12px; + top: 1px; + bottom: 1px; + // Invert if not customized and background is bright + filter: var(--image-logoheader-custom, var(--background-image-invert-if-bright)); + } + } + + // focus visible styles + // this adds a small line below all entries when visually focussed + #nextcloud:focus-visible, + .app-menu-entry a:focus-visible, + .header-menu button:first-of-type:focus-visible { + outline: none; + + &::after { + content: " "; + position: absolute; + inset-block-end: 2px; + transform: translateX(-50%); + width: 12px; + height: 2px; + border-radius: 3px; + background-color: var(--color-background-plain-text); + inset-inline-start: 50%; + opacity: 1; + } + } + + // This is the first part of the header + // for the user template it contains the application icons (app menu) + // for public templates this contains e.g. share information + .header-start { + display: inline-flex; + align-items: center; + flex: 1 0; + white-space: nowrap; + min-width: 0; + } + + // This is the last part of the header + // It contains the short cuts like unified search, contacts-, or account menu + .header-end { + display: inline-flex; + align-items: center; + justify-content: flex-end; + flex-shrink: 1; + // Add some spacing so the last entry looks ok + margin-inline-end: calc(3 * var(--default-grid-baseline)); + + // legacy JQuery header menus + // TODO: we already migrated our own code and deprecated it - can be removed together with global jQuery + > div, + > form { + height: 100%; + position: relative; + > .menutoggle { + display: flex; + justify-content: center; + align-items: center; + width: var(--header-height); + height: var(--header-menu-item-height); + cursor: pointer; + opacity: 0.85; + padding: 0; + margin: 2px 0; + + &:focus { + opacity: 1; + } + + &:focus-visible { + outline: none; + } + } + + > .menu { + background-color: var(--color-main-background); + filter: drop-shadow(0 1px 5px var(--color-box-shadow)); + border-radius: var(--border-radius-large); + box-sizing: border-box; + z-index: 2000; + position: absolute; + max-width: 350px; + @include header-menu-height(); + inset-inline-end: 8px; // relative to parent + top: var(--header-height); + margin: 0; + overflow-y: auto; + + &:not(.popovermenu) { + display: none; + } + + /* Dropdown arrow */ + &:after { + border: 10px solid transparent; + border-bottom-color: var(--color-main-background); + bottom: 100%; + content: ' '; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + inset-inline-end: 10px; + } + + & > div, + & > ul { + -webkit-overflow-scrolling: touch; + @include header-menu-height(); + } + } + + .emptycontent { + h2 { + font-weight: normal; + font-size: 16px; + } + [class^='icon-'], + [class*='icon-'] { + background-size: 48px; + height: 48px; + width: 48px; + } + } + } + } + + // Public layout related headers + // app related header container ONLY on public shares (layout.public.php) + .header-appname { + color: var(--color-background-plain-text); + font-size: 16px; + font-weight: bold; + margin: 0; + padding: 0; + padding-inline-end: 5px; + overflow: hidden; + text-overflow: ellipsis; + // Take full width to push the header-shared-by bellow (if any) + flex: 1 1 100%; + + // container for the public template header information + .header-info { + display: flex; + flex-direction: column; + overflow: hidden; + + .header-title { + overflow: hidden; + text-overflow: ellipsis; + } + + .header-shared-by { + color: var(--color-background-plain-text); + position: relative; + font-weight: 300; + font-size: var(--font-size-small); + line-height: var(--font-size-small); + overflow: hidden; + text-overflow: ellipsis; + } + } + } +} + +@media (display-mode: standalone) or (display-mode: minimal-ui) { + #header:not(.header-guest) { + display: none !important; + } + + #content, #content-vue { + margin-top: var(--body-container-margin); + } + + :root { + // Override the body height to make up for the additional height due to the missing header. + --body-height: calc(100% - env(safe-area-inset-bottom) - var(--body-container-margin) * 2) !important; + } +} diff --git a/core/css/icons.css b/core/css/icons.css index b746436ed5f..d88834ac78f 100644 --- a/core/css/icons.css +++ b/core/css/icons.css @@ -1,289 +1,10 @@ -[class^="icon-"], [class*=" icon-"] { - background-repeat: no-repeat; - background-position: center; - min-width: 16px; - min-height: 16px; -} - - - - -/* general assets */ - -.icon-breadcrumb { - background-image: url('../img/breadcrumb.svg'); -} - -.icon-loading { - background-image: url('../img/loading.gif'); -} -.icon-loading-dark { - background-image: url('../img/loading-dark.gif'); -} -.icon-loading-small { - background-image: url('../img/loading-small.gif'); -} -.icon-32 { - background-size: 32px !important; -} - - - - -/* action icons */ - -.icon-add { - background-image: url('../img/actions/add.svg'); -} - -.icon-caret { - background-image: url('../img/actions/caret.svg'); -} -.icon-caret-dark { - background-image: url('../img/actions/caret-dark.svg'); -} - -.icon-checkmark { - background-image: url('../img/actions/checkmark.svg'); -} -.icon-checkmark-white { - background-image: url('../img/actions/checkmark-white.svg'); -} -.icon-checkmark-color { - background-image: url('../img/actions/checkmark-color.svg'); -} - -.icon-close { - background-image: url('../img/actions/close.svg'); -} - -.icon-comment { - background-image: url('../img/actions/comment.svg'); -} - -.icon-confirm { - background-image: url('../img/actions/confirm.svg'); -} - -.icon-delete, -.icon-delete.no-permission:hover, -.icon-delete.no-permission:focus { - background-image: url('../img/actions/delete.svg'); -} -.icon-delete:hover, -.icon-delete:focus { - background-image: url('../img/actions/delete-hover.svg'); -} -.icon-delete-white { - background-image: url('../img/actions/delete-white.svg'); -} - -.icon-details { - background-image: url('../img/actions/details.svg'); -} - -.icon-download { - background-image: url('../img/actions/download.svg'); -} - -.icon-edit { - background-image: url('../img/actions/edit.svg'); -} - -.icon-error { - background-image: url('../img/actions/error.svg'); -} -.icon-error-white { - background-image: url('../img/actions/error-white.svg'); -} -.icon-error-color { - background-image: url('../img/actions/error-color.svg'); -} - -.icon-external { - background-image: url('../img/actions/external.svg'); -} - -.icon-history { - background-image: url('../img/actions/history.svg'); -} - -.icon-info { - background-image: url('../img/actions/info.svg'); -} -.icon-info-white { - background-image: url('../img/actions/info-white.svg'); -} - -.icon-logout { - background-image: url('../img/actions/logout.svg'); -} - -.icon-mail { - background-image: url('../img/actions/mail.svg'); -} - -.icon-menu { - background-image: url('../img/actions/menu.svg'); -} - -.icon-more { - background-image: url('../img/actions/more.svg'); -} - -.icon-password { - background-image: url('../img/actions/password.svg'); -} - -.icon-pause { - background-image: url('../img/actions/pause.svg'); -} -.icon-pause-big { - background-image: url('../img/actions/pause-big.svg'); -} - -.icon-play { - background-image: url('../img/actions/play.svg'); -} -.icon-play-add { - background-image: url('../img/actions/play-add.svg'); -} -.icon-play-big { - background-image: url('../img/actions/play-big.svg'); -} -.icon-play-next { - background-image: url('../img/actions/play-next.svg'); -} -.icon-play-previous { - background-image: url('../img/actions/play-previous.svg'); -} - -.icon-public { - background-image: url('../img/actions/public.svg'); -} - -.icon-rename { - background-image: url('../img/actions/rename.svg'); -} - -.icon-search { - background-image: url('../img/actions/search.svg'); -} -.icon-search-white { - background-image: url('../img/actions/search-white.svg'); -} - -.icon-settings { - background-image: url('../img/actions/settings.svg'); -} - -.icon-share { - background-image: url('../img/actions/share.svg'); -} -.icon-shared { - background-image: url('../img/actions/shared.svg'); -} - -.icon-sound { - background-image: url('../img/actions/sound.svg'); -} -.icon-sound-off { - background-image: url('../img/actions/sound-off.svg'); -} - -.icon-star, -.icon-starred:hover, -.icon-starred:focus { - background-image: url('../img/actions/star.svg'); -} - -.icon-starred, -.icon-star:hover, -.icon-star:focus { - background-image: url('../img/actions/starred.svg'); -} - -.icon-toggle { - background-image: url('../img/actions/toggle.svg'); -} - -.icon-triangle-e { - background-image: url('../img/actions/triangle-e.svg'); -} -.icon-triangle-n { - background-image: url('../img/actions/triangle-n.svg'); -} -.icon-triangle-s { - background-image: url('../img/actions/triangle-s.svg'); -} - -.icon-upload { - background-image: url('../img/actions/upload.svg'); -} -.icon-upload-white { - background-image: url('../img/actions/upload-white.svg'); -} - -.icon-user { - background-image: url('../img/actions/user.svg'); -} - -.icon-view-close { - background-image: url('../img/actions/view-close.svg'); -} -.icon-view-download { - background-image: url('../img/actions/view-download.svg'); -} -.icon-view-next { - background-image: url('../img/actions/view-next.svg'); -} -.icon-view-pause { - background-image: url('../img/actions/view-pause.svg'); -} -.icon-view-play { - background-image: url('../img/actions/view-play.svg'); -} -.icon-view-previous { - background-image: url('../img/actions/view-previous.svg'); -} - - - - -/* places icons */ - -.icon-calendar-dark { - background-image: url('../img/places/calendar-dark.svg'); -} - -.icon-contacts-dark { - background-image: url('../img/places/contacts-dark.svg'); -} - -.icon-files { - background-image: url('../img/places/files.svg'); -} -.icon-file, -.icon-filetype-text { - background-image: url('../img/filetypes/text.svg'); -} -.icon-folder, -.icon-filetype-folder { - background-image: url('../img/filetypes/folder.svg'); -} - -.icon-home { - background-image: url('../img/places/home.svg'); -} - -.icon-link { - background-image: url('../img/places/link.svg'); -} - -.icon-music { - background-image: url('../img/places/music.svg'); -} - -.icon-picture { - background-image: url('../img/places/picture.svg'); -} +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */@import'../../dist/icons.css';/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */[class^=icon-],[class*=" icon-"]{background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px}.icon-breadcrumb{background-image:url("../img/breadcrumb.svg?v=1")}.loading,.loading-small,.icon-loading,.icon-loading-dark,.icon-loading-small,.icon-loading-small-dark{position:relative}.loading:after,.loading-small:after,.icon-loading:after,.icon-loading-dark:after,.icon-loading-small:after,.icon-loading-small-dark:after{z-index:2;content:"";height:28px;width:28px;margin:-16px 0 0 -16px;position:absolute;top:50%;inset-inline-start:50%;border-radius:100%;-webkit-animation:rotate .8s infinite linear;animation:rotate .8s infinite linear;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;border:2px solid var(--color-loading-light);border-top-color:var(--color-loading-dark);filter:var(--background-invert-if-dark)}.primary .loading:after,.primary+.loading:after,.primary .loading-small:after,.primary+.loading-small:after,.primary .icon-loading:after,.primary+.icon-loading:after,.primary .icon-loading-dark:after,.primary+.icon-loading-dark:after,.primary .icon-loading-small:after,.primary+.icon-loading-small:after,.primary .icon-loading-small-dark:after,.primary+.icon-loading-small-dark:after{filter:var(--primary-invert-if-bright)}.icon-loading-dark:after,.icon-loading-small-dark:after{border:2px solid var(--color-loading-dark);border-top-color:var(--color-loading-light)}.icon-loading-small:after,.icon-loading-small-dark:after{height:12px;width:12px;margin:-8px 0 0 -8px}audio.icon-loading,canvas.icon-loading,embed.icon-loading,iframe.icon-loading,img.icon-loading,input.icon-loading,object.icon-loading,video.icon-loading{background-image:url("../img/loading.gif")}audio.icon-loading-dark,canvas.icon-loading-dark,embed.icon-loading-dark,iframe.icon-loading-dark,img.icon-loading-dark,input.icon-loading-dark,object.icon-loading-dark,video.icon-loading-dark{background-image:url("../img/loading-dark.gif")}audio.icon-loading-small,canvas.icon-loading-small,embed.icon-loading-small,iframe.icon-loading-small,img.icon-loading-small,input.icon-loading-small,object.icon-loading-small,video.icon-loading-small{background-image:url("../img/loading-small.gif")}audio.icon-loading-small-dark,canvas.icon-loading-small-dark,embed.icon-loading-small-dark,iframe.icon-loading-small-dark,img.icon-loading-small-dark,input.icon-loading-small-dark,object.icon-loading-small-dark,video.icon-loading-small-dark{background-image:url("../img/loading-small-dark.gif")}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon-32{background-size:32px !important}.icon-white.icon-shadow,.icon-audio-white,.icon-audio-off-white,.icon-fullscreen-white,.icon-screen-white,.icon-screen-off-white,.icon-video-white,.icon-video-off-white{filter:drop-shadow(1px 1px 4px var(--color-box-shadow))}/*# sourceMappingURL=icons.css.map */ diff --git a/core/css/icons.css.map b/core/css/icons.css.map new file mode 100644 index 00000000000..8f8fb343d73 --- /dev/null +++ b/core/css/icons.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["icons.scss","variables.scss","functions.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAwHQ,8BCtHR;AAAA;AAAA;AAAA,GCFA;AAAA;AAAA;AAAA,GFQA,iCACC,4BACA,2BACA,eACA,gBAGD,iBACC,kDAID,sGAMC,kBACA,0IACC,UACA,WACA,YACA,WACA,uBACA,kBACA,QACA,uBACA,mBACA,6CACA,qCACA,gCACA,4BACA,wBACA,4CACA,2CAEA,wCAEA,gYAGC,uCAKH,wDAEC,2CACA,4CAGD,yDAEC,YACA,WACA,qBAKA,yJACC,2CAED,iMACC,gDAED,yMACC,iDAED,iPACC,sDAIF,kBACC,KACC,uBAED,GACC,0BAIF,SACC,gCAGD,yKAQC","file":"icons.css"}
\ No newline at end of file diff --git a/core/css/icons.css.map.license b/core/css/icons.css.map.license new file mode 100644 index 00000000000..b62adf36215 --- /dev/null +++ b/core/css/icons.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/icons.scss b/core/css/icons.scss new file mode 100644 index 00000000000..df6edea1f15 --- /dev/null +++ b/core/css/icons.scss @@ -0,0 +1,121 @@ +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +@use 'variables'; +@use 'functions'; + +/* GLOBAL ------------------------------------------------------------------- */ +[class^='icon-'], [class*=' icon-'] { + background-repeat: no-repeat; + background-position: center; + min-width: 16px; + min-height: 16px; +} + +.icon-breadcrumb { + background-image: url('../img/breadcrumb.svg?v=1'); +} + +/* LOADING ------------------------------------------------------------------ */ +.loading, +.loading-small, +.icon-loading, +.icon-loading-dark, +.icon-loading-small, +.icon-loading-small-dark { + position: relative; + &:after { + z-index: 2; + content: ''; + height: 28px; + width: 28px; + margin: -16px 0 0 -16px; + position: absolute; + top: 50%; + inset-inline-start: 50%; + border-radius: 100%; + -webkit-animation: rotate .8s infinite linear; + animation: rotate .8s infinite linear; + -webkit-transform-origin: center; + -ms-transform-origin: center; + transform-origin: center; + border: 2px solid var(--color-loading-light); + border-top-color: var(--color-loading-dark); + // revert if background is too bright + filter: var(--background-invert-if-dark); + + .primary &, + .primary + & { + // revert if primary is too bright + filter: var(--primary-invert-if-bright); + } + } +} + +.icon-loading-dark:after, +.icon-loading-small-dark:after { + border: 2px solid var(--color-loading-dark); + border-top-color: var(--color-loading-light); +} + +.icon-loading-small:after, +.icon-loading-small-dark:after { + height: 12px; + width: 12px; + margin: -8px 0 0 -8px; +} + +/* Css replaced elements don't have ::after nor ::before */ +audio, canvas, embed, iframe, img, input, object, video { + &.icon-loading { + background-image: url('../img/loading.gif'); + } + &.icon-loading-dark { + background-image: url('../img/loading-dark.gif'); + } + &.icon-loading-small { + background-image: url('../img/loading-small.gif'); + } + &.icon-loading-small-dark { + background-image: url('../img/loading-small-dark.gif'); + } +} + +@keyframes rotate { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +.icon-32 { + background-size: 32px !important; +} + +.icon-white.icon-shadow, +.icon-audio-white, +.icon-audio-off-white, +.icon-fullscreen-white, +.icon-screen-white, +.icon-screen-off-white, +.icon-video-white, +.icon-video-off-white { + filter: drop-shadow(1px 1px 4px var(--color-box-shadow)); +} + +/* ICONS ------------------------------------------------------------------- + * These icon classes are generated automatically with the following pattern + * .icon-close (black icon) + * .icon-close-white (white icon) + * .icon-close.icon-white (white icon) + * + * Some class definitions are kept as before, since they don't follow the pattern + * or have some additional styling like drop shadows + */ + +// plain CSS import and not SCSS so disable the `@import` rule +/* stylelint-disable-next-line no-invalid-position-at-import-rule */ +@import '../../dist/icons.css'; diff --git a/core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png Binary files differdeleted file mode 100644 index eed4abd1922..00000000000 --- a/core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png +++ /dev/null diff --git a/core/css/images/ui-bg_diagonals-thick_20_666666_40x40.png b/core/css/images/ui-bg_diagonals-thick_20_666666_40x40.png Binary files differdeleted file mode 100644 index a618b065866..00000000000 --- a/core/css/images/ui-bg_diagonals-thick_20_666666_40x40.png +++ /dev/null diff --git a/core/css/images/ui-bg_flat_100_ffffff_40x100.png b/core/css/images/ui-bg_flat_100_ffffff_40x100.png Binary files differdeleted file mode 100644 index 6ebfa5026e2..00000000000 --- a/core/css/images/ui-bg_flat_100_ffffff_40x100.png +++ /dev/null diff --git a/core/css/images/ui-bg_flat_10_000000_40x100.png b/core/css/images/ui-bg_flat_10_000000_40x100.png Binary files differdeleted file mode 100644 index b10f59cd342..00000000000 --- a/core/css/images/ui-bg_flat_10_000000_40x100.png +++ /dev/null diff --git a/core/css/images/ui-bg_flat_35_1d2d44_40x100.png b/core/css/images/ui-bg_flat_35_1d2d44_40x100.png Binary files differdeleted file mode 100644 index 2be93e582d8..00000000000 --- a/core/css/images/ui-bg_flat_35_1d2d44_40x100.png +++ /dev/null diff --git a/core/css/images/ui-bg_glass_100_f8f8f8_1x400.png b/core/css/images/ui-bg_glass_100_f8f8f8_1x400.png Binary files differdeleted file mode 100644 index cd79e9f1966..00000000000 --- a/core/css/images/ui-bg_glass_100_f8f8f8_1x400.png +++ /dev/null diff --git a/core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.png b/core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.png Binary files differdeleted file mode 100644 index 268e650935d..00000000000 --- a/core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.png +++ /dev/null diff --git a/core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png Binary files differdeleted file mode 100644 index f1273672d25..00000000000 --- a/core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +++ /dev/null diff --git a/core/css/images/ui-icons_1d2d44_256x240.png b/core/css/images/ui-icons_1d2d44_256x240.png Binary files differdeleted file mode 100644 index 1b1474b1fdf..00000000000 --- a/core/css/images/ui-icons_1d2d44_256x240.png +++ /dev/null diff --git a/core/css/images/ui-icons_ffd27a_256x240.png b/core/css/images/ui-icons_ffd27a_256x240.png Binary files differdeleted file mode 100644 index a7ac4ec6580..00000000000 --- a/core/css/images/ui-icons_ffd27a_256x240.png +++ /dev/null diff --git a/core/css/images/ui-icons_ffffff_256x240.png b/core/css/images/ui-icons_ffffff_256x240.png Binary files differdeleted file mode 100644 index 174be7c2847..00000000000 --- a/core/css/images/ui-icons_ffffff_256x240.png +++ /dev/null diff --git a/core/css/inputs.css b/core/css/inputs.css index c61f14e4120..61c623cb85e 100644 --- a/core/css/inputs.css +++ b/core/css/inputs.css @@ -1,252 +1,11 @@ -/* INPUTS */ - -/* specifically override browser styles */ -input, textarea, select, button { - font-family: 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif; -} - -input[type="text"], -input[type="password"], -input[type="search"], -input[type="number"], -input[type="email"], -input[type="tel"], -input[type="url"], -input[type="time"], -input[type="date"], -textarea, -select, -button, .button, -input[type="submit"], -input[type="button"], -#quota, -.pager li a { - width: 130px; - margin: 3px 3px 3px 0; - padding: 7px 6px 5px; - font-size: 13px; - background-color: #fff; - color: #333; - border: 1px solid #ddd; - outline: none; - border-radius: 3px; -} -input[type="hidden"] { - height: 0; - width: 0; -} -input[type="text"], -input[type="password"], -input[type="search"], -input[type="number"], -input[type="email"], -input[type="tel"], -input[type="url"], -input[type="time"], -textarea { - background: #fff; - color: #555; - cursor: text; - font-family: inherit; /* use default ownCloud font instead of default textarea monospace */ -} -input[type="text"], -input[type="password"], -input[type="search"], -input[type="number"], -input[type="email"], -input[type="tel"], -input[type="url"], -input[type="time"] { - -webkit-appearance:textfield; -moz-appearance:textfield; - box-sizing:content-box; -} -input[type="text"]:hover, input[type="text"]:focus, input[type="text"]:active, -input[type="password"]:hover, input[type="password"]:focus, input[type="password"]:active, -input[type="number"]:hover, input[type="number"]:focus, input[type="number"]:active, -input[type="search"]:hover, input[type="search"]:focus, input[type="search"]:active, -input[type="email"]:hover, input[type="email"]:focus, input[type="email"]:active, -input[type="tel"]:hover, input[type="tel"]:focus, input[type="tel"]:active, -input[type="url"]:hover, input[type="url"]:focus, input[type="url"]:active, -input[type="time"]:hover, input[type="time"]:focus, input[type="time"]:active, -textarea:hover, textarea:focus, textarea:active { - color: #333; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - opacity: 1; -} - -.ie8 input[type="checkbox"] { margin:0; padding:0; height:auto; width:auto; } -.ie8 input[type="checkbox"]:hover+label, input[type="checkbox"]:focus+label { color:#111 !important; } - -/* ie8 doesn't support :checked */ -html:not(.ie8) input[type="checkbox"].checkbox { - position: absolute; - left:-10000px; - top: auto; - width: 1px; - height: 1px; - overflow: hidden; -} - -html:not(.ie8) input[type="checkbox"].checkbox + label:before { - content: ""; - display: inline-block; - - height: 20px; - width: 20px; - vertical-align: middle; - - background: url('../img/actions/checkbox.svg') left top no-repeat; - opacity: 0.7; -} - -html:not(.ie8) input[type="checkbox"].checkbox:disabled +label:before { opacity: .6; } - -html:not(.ie8) input[type="checkbox"].checkbox.u-left +label:before { float: left; } -html:not(.ie8) input[type="checkbox"].checkbox.u-hidden + label:before { display: none; } - -html:not(.ie8) input[type="checkbox"].checkbox--white + label:before { - background-image: url('../img/actions/checkbox-white.svg'); -} - -html:not(.ie8) input[type="checkbox"].checkbox:checked + label:before { - background-image: url('../img/actions/checkbox-checked.svg'); -} - -html:not(.ie8) input[type="checkbox"].checkbox:disabled + label:before { - background-image: url('../img/actions/checkbox-disabled.svg'); -} - -html:not(.ie8) input[type="checkbox"].checkbox:checked:disabled + label:before { - background-image: url('../img/actions/checkbox-checked-disabled.svg'); -} - -html:not(.ie8) input[type="checkbox"].checkbox--white:checked + label:before { - background-image: url('../img/actions/checkbox-checked-white.svg'); -} - -html:not(.ie8) input[type="checkbox"].checkbox--white:disabled + label:before { - background-image: url('../img/actions/checkbox-disabled-white.svg'); -} - -html:not(.ie8) input[type="checkbox"].checkbox--white:checked:disabled + label:before { - background-image: url('../img/actions/checkbox-checked-disabled.svg'); -} - -html:not(.ie8) input[type="checkbox"].checkbox:hover+label:before, input[type="checkbox"]:focus+label:before { - color:#111 !important; -} - -input[type="time"] { - width: initial; - height: 31px; - box-sizing: border-box; -} - -select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background: url('../../core/img/actions/triangle-s.svg') no-repeat right 8px center rgba(240, 240, 240, 0.90); - outline: 0; - padding-right: 24px !important; -} - -select:hover { - background-color: #fefefe; -} - -.select2-choices { - border: 1px solid #ddd; - border-radius: 3px; - color: #333; - background-image: none; -} -.select2-dropdown-open .select2-choices { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border: 1px solid #3875d7; -} - -/* correctly align images inside of buttons */ -input img, button img, .button img { - vertical-align: text-bottom; -} - -input[type="submit"].enabled { - background-color: #66f866; - border: 1px solid #5e5; -} - -.input-button-inline { - position: absolute !important; - right: 0; - background-color: transparent !important; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; - opacity: .3; -} - - -/* BUTTONS */ -input[type="submit"], input[type="button"], -button, .button, -#quota, select, .pager li a { - width: auto; - min-width: 25px; - padding: 5px; - background-color: rgba(240,240,240,.9); - font-weight: 600; - color: #555; - border: 1px solid rgba(240,240,240,.9); - cursor: pointer; -} -select, .button.multiselect { - font-weight: 400; -} -input[type="submit"]:hover, input[type="submit"]:focus, -input[type="button"]:hover, input[type="button"]:focus, -button:hover, button:focus, -.button:hover, .button:focus, -.button a:focus, -select:hover, select:focus, select:active { - background-color: rgba(255, 255, 255, .95); - color: #111; -} -input[type="submit"] img, input[type="button"] img, button img, .button img { cursor:pointer; } -#header .button { - border: none; - box-shadow: none; -} - -/* disabled input fields and buttons */ -input:disabled, input:disabled:hover, input:disabled:focus, -button:disabled, button:disabled:hover, button:disabled:focus, -.button:disabled, .button:disabled:hover, .button:disabled:focus, -a.disabled, a.disabled:hover, a.disabled:focus, -textarea:disabled { - background-color: rgba(230,230,230,.9); - color: #999; - cursor: default; -} -input:disabled+label, input:disabled:hover+label, input:disabled:focus+label { - color: #999 !important; - cursor: default; -} - -/* Primary action button, use sparingly */ -.primary, input[type="submit"].primary, input[type="button"].primary, button.primary, .button.primary { - border: 1px solid #1d2d44; - background-color: #35537a; - color: #ddd; -} -.primary:hover, input[type="submit"].primary:hover, input[type="button"].primary:hover, button.primary:hover, .button.primary:hover, -.primary:focus, input[type="submit"].primary:focus, input[type="button"].primary:focus, button.primary:focus, .button.primary:focus { - background-color: #304d76; - color: #fff; -} -.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active, -.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled, -.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover, -.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus { - background-color: #1d2d44; - color: #bbb; -} +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */input,textarea,select,button,div[contenteditable=true],div[contenteditable=false]{font-family:var(--font-face)}.select2-container-multi .select2-choices .select2-search-field input,.select2-search input,.ui-widget{font-family:var(--font-face) !important}.select2-container.select2-drop-above .select2-choice{background-image:unset !important}select,button:not(.button-vue,[class^=vs__]),input,textarea,div[contenteditable=true],div[contenteditable=false]{width:130px;min-height:var(--default-clickable-area);box-sizing:border-box}button:not(.button-vue):disabled,input:not([type=range]):disabled,textarea:disabled{cursor:default;color:var(--color-text-maxcontrast);border-color:var(--color-border-dark);opacity:.7}input:not([type=range]){outline:none}div.select2-drop .select2-search input,input[type=submit],input[type=button],input[type=reset],button:not(.button-vue,[class^=vs__]),.button,.pager li a{padding:7px 14px;background-color:var(--color-main-background);color:var(--color-main-text);border:1px solid var(--color-border-dark);font-size:var(--default-font-size);outline:none;border-radius:var(--border-radius);cursor:text}div.select2-drop .select2-search input:not(.app-navigation-entry-button),input[type=submit]:not(.app-navigation-entry-button),input[type=button]:not(.app-navigation-entry-button),input[type=reset]:not(.app-navigation-entry-button),button:not(.button-vue,[class^=vs__]):not(.app-navigation-entry-button),.button:not(.app-navigation-entry-button),.pager li a:not(.app-navigation-entry-button){margin:3px;margin-inline-start:0}div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):hover,div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):focus,div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button).active,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):hover,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):focus,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button).active,.button:not(:disabled,.primary):not(.app-navigation-entry-button):hover,.button:not(:disabled,.primary):not(.app-navigation-entry-button):focus,.button:not(:disabled,.primary):not(.app-navigation-entry-button).active,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):hover,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):focus,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button).active{border-color:var(--color-main-text);outline:none}div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):active,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):active,.button:not(:disabled,.primary):not(.app-navigation-entry-button):active,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):active{outline:none;background-color:var(--color-main-background);color:var(--color-main-text)}div.select2-drop .select2-search input:not(:disabled,.primary):focus-visible,input[type=submit]:not(:disabled,.primary):focus-visible,input[type=button]:not(:disabled,.primary):focus-visible,input[type=reset]:not(:disabled,.primary):focus-visible,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):focus-visible,.button:not(:disabled,.primary):focus-visible,.pager li a:not(:disabled,.primary):focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}div.select2-drop .select2-search input:disabled,input[type=submit]:disabled,input[type=button]:disabled,input[type=reset]:disabled,button:not(.button-vue,[class^=vs__]):disabled,.button:disabled,.pager li a:disabled{background-color:var(--color-background-dark);color:var(--color-main-text);cursor:default;opacity:.5}div.select2-drop .select2-search input:required,input[type=submit]:required,input[type=button]:required,input[type=reset]:required,button:not(.button-vue,[class^=vs__]):required,.button:required,.pager li a:required{box-shadow:none}div.select2-drop .select2-search input:user-invalid,input[type=submit]:user-invalid,input[type=button]:user-invalid,input[type=reset]:user-invalid,button:not(.button-vue,[class^=vs__]):user-invalid,.button:user-invalid,.pager li a:user-invalid{box-shadow:0 0 0 2px var(--color-error) !important}div.select2-drop .select2-search input.primary,input[type=submit].primary,input[type=button].primary,input[type=reset].primary,button:not(.button-vue,[class^=vs__]).primary,.button.primary,.pager li a.primary{background-color:var(--color-primary-element);border-color:var(--color-primary-element);color:var(--color-primary-element-text);cursor:pointer}#body-login :not(.body-login-container) div.select2-drop .select2-search input.primary,#header div.select2-drop .select2-search input.primary,#body-login :not(.body-login-container) input[type=submit].primary,#header input[type=submit].primary,#body-login :not(.body-login-container) input[type=button].primary,#header input[type=button].primary,#body-login :not(.body-login-container) input[type=reset].primary,#header input[type=reset].primary,#body-login :not(.body-login-container) button:not(.button-vue,[class^=vs__]).primary,#header button:not(.button-vue,[class^=vs__]).primary,#body-login :not(.body-login-container) .button.primary,#header .button.primary,#body-login :not(.body-login-container) .pager li a.primary,#header .pager li a.primary{border-color:var(--color-primary-element-text)}div.select2-drop .select2-search input.primary:not(:disabled):hover,div.select2-drop .select2-search input.primary:not(:disabled):focus,div.select2-drop .select2-search input.primary:not(:disabled):active,input[type=submit].primary:not(:disabled):hover,input[type=submit].primary:not(:disabled):focus,input[type=submit].primary:not(:disabled):active,input[type=button].primary:not(:disabled):hover,input[type=button].primary:not(:disabled):focus,input[type=button].primary:not(:disabled):active,input[type=reset].primary:not(:disabled):hover,input[type=reset].primary:not(:disabled):focus,input[type=reset].primary:not(:disabled):active,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):hover,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):active,.button.primary:not(:disabled):hover,.button.primary:not(:disabled):focus,.button.primary:not(:disabled):active,.pager li a.primary:not(:disabled):hover,.pager li a.primary:not(:disabled):focus,.pager li a.primary:not(:disabled):active{background-color:var(--color-primary-element-hover);border-color:var(--color-primary-element-hover)}div.select2-drop .select2-search input.primary:not(:disabled):focus,div.select2-drop .select2-search input.primary:not(:disabled):focus-visible,input[type=submit].primary:not(:disabled):focus,input[type=submit].primary:not(:disabled):focus-visible,input[type=button].primary:not(:disabled):focus,input[type=button].primary:not(:disabled):focus-visible,input[type=reset].primary:not(:disabled):focus,input[type=reset].primary:not(:disabled):focus-visible,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus-visible,.button.primary:not(:disabled):focus,.button.primary:not(:disabled):focus-visible,.pager li a.primary:not(:disabled):focus,.pager li a.primary:not(:disabled):focus-visible{box-shadow:0 0 0 2px var(--color-main-text)}div.select2-drop .select2-search input.primary:not(:disabled):active,input[type=submit].primary:not(:disabled):active,input[type=button].primary:not(:disabled):active,input[type=reset].primary:not(:disabled):active,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):active,.button.primary:not(:disabled):active,.pager li a.primary:not(:disabled):active{color:var(--color-primary-element-text-dark)}div.select2-drop .select2-search input.primary:disabled,input[type=submit].primary:disabled,input[type=button].primary:disabled,input[type=reset].primary:disabled,button:not(.button-vue,[class^=vs__]).primary:disabled,.button.primary:disabled,.pager li a.primary:disabled{background-color:var(--color-primary-element);color:var(--color-primary-element-text-dark);cursor:default}div[contenteditable=false]{margin:3px;margin-inline-start:0;padding:7px 6px;font-size:13px;border:1px solid var(--color-background-darker);outline:none;border-radius:var(--border-radius);background-color:var(--color-background-dark);color:var(--color-text-maxcontrast);cursor:default;opacity:.5}input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=color]):not([type=file]):not([type=image]){-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;height:var(--default-clickable-area)}input[type=radio],input[type=checkbox],input[type=file],input[type=image]{height:auto;width:auto}input[type=color]{margin:3px;padding:0 2px;min-height:30px;width:40px;cursor:pointer}input[type=hidden]{height:0;width:0}input[type=time]{width:initial}select,button:not(.button-vue,[class^=vs__]),.button,input[type=button],input[type=submit],input[type=reset]{padding:calc((var(--default-clickable-area) - 1lh)/2) calc(3*var(--default-grid-baseline));font-size:var(--default-font-size);width:auto;min-height:var(--default-clickable-area);cursor:pointer;box-sizing:border-box;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light);border:none}select:hover,select:focus,button:not(.button-vue,[class^=vs__]):hover,button:not(.button-vue,[class^=vs__]):focus,.button:hover,.button:focus,input[type=button]:hover,input[type=button]:focus,input[type=submit]:hover,input[type=submit]:focus,input[type=reset]:hover,input[type=reset]:focus{background-color:var(--color-primary-element-light-hover)}select:disabled,button:not(.button-vue,[class^=vs__]):disabled,.button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled{cursor:default}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]),select,div[contenteditable=true],textarea{margin:3px;margin-inline-start:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px;outline:none;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):hover,input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):focus,input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):active,select:not(:disabled):hover,select:not(:disabled):focus,select:not(:disabled):active,div[contenteditable=true]:not(:disabled):hover,div[contenteditable=true]:not(:disabled):focus,div[contenteditable=true]:not(:disabled):active,textarea:not(:disabled):hover,textarea:not(:disabled):focus,textarea:not(:disabled):active{border-color:2px solid var(--color-main-text);box-shadow:0 0 0 2px var(--color-main-background)}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):focus,select:not(:disabled):focus,div[contenteditable=true]:not(:disabled):focus,textarea:not(:disabled):focus{cursor:text}.multiselect__input,.select2-input{background-color:var(--color-main-background);color:var(--color-main-text)}textarea,div[contenteditable=true]{padding:12px;height:auto}select{background:var(--icon-triangle-s-dark) no-repeat;appearance:none;background-color:var(--color-main-background);padding-inline-end:28px !important}body[dir=ltr] select{background-position:right 8px center}body[dir=rtl] select{background-position:left 8px center}select *,button:not(.button-vue,[class^=vs__]) *,.button *{cursor:pointer}select:disabled *,button:not(.button-vue,[class^=vs__]):disabled *,.button:disabled *{cursor:default}button:not(.button-vue,[class^=vs__]),.button,input[type=button],input[type=submit],input[type=reset]{font-weight:bold;border-radius:var(--border-radius-element)}button:not(.button-vue,[class^=vs__])::-moz-focus-inner,.button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=submit]::-moz-focus-inner,input[type=reset]::-moz-focus-inner{border:0}button:not(.button-vue,[class^=vs__]).error,.button.error,input[type=button].error,input[type=submit].error,input[type=reset].error{background-color:var(--color-error) !important;border-color:var(--color-error) !important;color:#fff !important}button:not(.button-vue,[class^=vs__]).error:hover,.button.error:hover,input[type=button].error:hover,input[type=submit].error:hover,input[type=reset].error:hover{background-color:var(--color-error-hover) !important;border-color:var(--color-main-text) !important}button:not(.button-vue,.action-button,[class^=vs__])>span[class^=icon-],button:not(.button-vue,.action-button,[class^=vs__])>span[class*=" icon-"],.button>span[class^=icon-],.button>span[class*=" icon-"]{display:inline-block;vertical-align:text-bottom;opacity:.5}input[type=text]+.icon-confirm,input[type=password]+.icon-confirm,input[type=email]+.icon-confirm{margin-inline-start:-13px !important;border-inline-start-color:rgba(0,0,0,0) !important;border-radius:0 var(--border-radius-large) var(--border-radius-large) 0 !important;border-width:2px;background-clip:padding-box;background-color:var(--color-main-background) !important;opacity:1;height:var(--default-clickable-area);width:var(--default-clickable-area);padding:7px 6px;cursor:pointer;margin-inline-end:0}input[type=text]+.icon-confirm:disabled,input[type=password]+.icon-confirm:disabled,input[type=email]+.icon-confirm:disabled{cursor:default;background-image:var(--icon-confirm-fade-dark)}input[type=text]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm,input[type=password]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm,input[type=email]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm{border-color:var(--color-error)}input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus{border-color:var(--color-primary-element) !important;border-radius:var(--border-radius) !important}input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled{border-color:var(--color-background-darker) !important}input[type=text]:active+.icon-confirm,input[type=text]:hover+.icon-confirm,input[type=text]:focus+.icon-confirm,input[type=password]:active+.icon-confirm,input[type=password]:hover+.icon-confirm,input[type=password]:focus+.icon-confirm,input[type=email]:active+.icon-confirm,input[type=email]:hover+.icon-confirm,input[type=email]:focus+.icon-confirm{border-color:var(--color-primary-element) !important;border-inline-start-color:rgba(0,0,0,0) !important;z-index:2}button img,.button img{cursor:pointer}select,.button.multiselect{font-weight:normal}input[type=checkbox].radio,input[type=checkbox].checkbox,input[type=radio].radio,input[type=radio].checkbox{position:absolute;inset-inline-start:-10000px;top:auto;width:1px;height:1px;overflow:hidden}input[type=checkbox].radio+label,input[type=checkbox].checkbox+label,input[type=radio].radio+label,input[type=radio].checkbox+label{user-select:none}input[type=checkbox].radio:disabled+label,input[type=checkbox].radio:disabled+label:before,input[type=checkbox].checkbox:disabled+label,input[type=checkbox].checkbox:disabled+label:before,input[type=radio].radio:disabled+label,input[type=radio].radio:disabled+label:before,input[type=radio].checkbox:disabled+label,input[type=radio].checkbox:disabled+label:before{cursor:default}input[type=checkbox].radio+label:before,input[type=checkbox].checkbox+label:before,input[type=radio].radio+label:before,input[type=radio].checkbox+label:before{content:"";display:inline-block;height:14px;width:14px;vertical-align:middle;border-radius:50%;margin:0 3px;margin-inline:3px 6px;border:1px solid var(--color-text-maxcontrast)}input[type=checkbox].radio:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].radio:focus+label:before,input[type=checkbox].checkbox:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].checkbox:focus+label:before,input[type=radio].radio:not(:disabled):not(:checked)+label:hover:before,input[type=radio].radio:focus+label:before,input[type=radio].checkbox:not(:disabled):not(:checked)+label:hover:before,input[type=radio].checkbox:focus+label:before{border-color:var(--color-primary-element)}input[type=checkbox].radio:focus-visible+label,input[type=checkbox].checkbox:focus-visible+label,input[type=radio].radio:focus-visible+label,input[type=radio].checkbox:focus-visible+label{outline-style:solid;outline-color:var(--color-main-text);outline-width:1px;outline-offset:2px}input[type=checkbox].radio:checked+label:before,input[type=checkbox].radio.checkbox:indeterminate+label:before,input[type=checkbox].checkbox:checked+label:before,input[type=checkbox].checkbox.checkbox:indeterminate+label:before,input[type=radio].radio:checked+label:before,input[type=radio].radio.checkbox:indeterminate+label:before,input[type=radio].checkbox:checked+label:before,input[type=radio].checkbox.checkbox:indeterminate+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);background-color:var(--color-primary-element);border-color:var(--color-primary-element)}input[type=checkbox].radio:disabled+label:before,input[type=checkbox].checkbox:disabled+label:before,input[type=radio].radio:disabled+label:before,input[type=radio].checkbox:disabled+label:before{border:1px solid var(--color-text-maxcontrast);background-color:var(--color-text-maxcontrast) !important}input[type=checkbox].radio:checked:disabled+label:before,input[type=checkbox].checkbox:checked:disabled+label:before,input[type=radio].radio:checked:disabled+label:before,input[type=radio].checkbox:checked:disabled+label:before{background-color:var(--color-text-maxcontrast)}input[type=checkbox].radio+label~em,input[type=checkbox].checkbox+label~em,input[type=radio].radio+label~em,input[type=radio].checkbox+label~em{display:inline-block;margin-inline-start:25px}input[type=checkbox].radio+label~em:last-of-type,input[type=checkbox].checkbox+label~em:last-of-type,input[type=radio].radio+label~em:last-of-type,input[type=radio].checkbox+label~em:last-of-type{margin-bottom:14px}input[type=checkbox].checkbox+label:before,input[type=radio].checkbox+label:before{border-radius:1px;height:14px;width:14px;box-shadow:none !important;background-position:center}input[type=checkbox].checkbox:checked+label:before,input[type=radio].checkbox:checked+label:before{background-image:url("../img/actions/checkbox-mark.svg")}input[type=checkbox].checkbox:indeterminate+label:before,input[type=radio].checkbox:indeterminate+label:before{background-image:url("../img/actions/checkbox-mixed.svg")}input[type=checkbox].radio--white+label:before,input[type=checkbox].radio--white:focus+label:before,input[type=checkbox].checkbox--white+label:before,input[type=checkbox].checkbox--white:focus+label:before,input[type=radio].radio--white+label:before,input[type=radio].radio--white:focus+label:before,input[type=radio].checkbox--white+label:before,input[type=radio].checkbox--white:focus+label:before{border-color:hsl(0,0%,73%)}input[type=checkbox].radio--white:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].checkbox--white:not(:disabled):not(:checked)+label:hover:before,input[type=radio].radio--white:not(:disabled):not(:checked)+label:hover:before,input[type=radio].checkbox--white:not(:disabled):not(:checked)+label:hover:before{border-color:#fff}input[type=checkbox].radio--white:checked+label:before,input[type=checkbox].checkbox--white:checked+label:before,input[type=radio].radio--white:checked+label:before,input[type=radio].checkbox--white:checked+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);background-color:hsl(0,0%,86%);border-color:hsl(0,0%,86%)}input[type=checkbox].radio--white:disabled+label:before,input[type=checkbox].checkbox--white:disabled+label:before,input[type=radio].radio--white:disabled+label:before,input[type=radio].checkbox--white:disabled+label:before{background-color:hsl(0,0%,73%) !important;border-color:hsla(0,0%,100%,.4) !important}input[type=checkbox].radio--white:checked:disabled+label:before,input[type=checkbox].checkbox--white:checked:disabled+label:before,input[type=radio].radio--white:checked:disabled+label:before,input[type=radio].checkbox--white:checked:disabled+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);border-color:hsla(0,0%,100%,.4) !important;background-color:hsl(0,0%,73%)}input[type=checkbox].checkbox--white:checked+label:before,input[type=checkbox].checkbox--white:indeterminate+label:before,input[type=radio].checkbox--white:checked+label:before,input[type=radio].checkbox--white:indeterminate+label:before{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;background-image:url("../img/actions/checkbox-mark-white.svg")}input[type=checkbox].checkbox--white:indeterminate+label:before,input[type=radio].checkbox--white:indeterminate+label:before{background-image:url("../img/actions/checkbox-mixed-white.svg")}input[type=checkbox].checkbox--white:disabled+label:before,input[type=radio].checkbox--white:disabled+label:before{opacity:.7}div.select2-drop{margin-top:-2px;background-color:var(--color-main-background)}div.select2-drop.select2-drop-active{border-color:var(--color-border-dark)}div.select2-drop .avatar{display:inline-block;margin-inline-end:8px;vertical-align:middle}div.select2-drop .avatar img{cursor:pointer}div.select2-drop .select2-search input{min-height:auto;background:var(--icon-search-dark) no-repeat !important;background-origin:content-box !important}div.select2-drop .select2-results{max-height:250px;margin:0;padding:0}div.select2-drop .select2-results .select2-result-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.select2-drop .select2-results .select2-result-label span{cursor:pointer}div.select2-drop .select2-results .select2-result-label span em{cursor:inherit;background:unset}div.select2-drop .select2-results .select2-result,div.select2-drop .select2-results .select2-no-results,div.select2-drop .select2-results .select2-searching{position:relative;display:list-item;padding:12px;background-color:rgba(0,0,0,0);cursor:pointer;color:var(--color-text-maxcontrast)}div.select2-drop .select2-results .select2-result.select2-selected{background-color:var(--color-background-dark)}div.select2-drop .select2-results .select2-highlighted{background-color:var(--color-background-dark);color:var(--color-main-text)}body[dir=ltr] div.select2-drop .select2-search input{background-position:right center !important}body[dir=rtl] div.select2-drop .select2-search input{background-position:left center !important}.select2-chosen .avatar,.select2-chosen .avatar img,#select2-drop .avatar,#select2-drop .avatar img{cursor:pointer}div.select2-container-multi .select2-choices,div.select2-container-multi.select2-container-active .select2-choices{box-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:var(--color-main-background);color:var(--color-text-maxcontrast) !important;box-sizing:content-box;border-radius:var(--border-radius-large);border:2px solid var(--color-border-dark);margin:0;padding:6px;min-height:44px}div.select2-container-multi .select2-choices:focus-within,div.select2-container-multi.select2-container-active .select2-choices:focus-within{border-color:var(--color-primary-element)}div.select2-container-multi .select2-choices .select2-search-choice,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice{line-height:20px;padding-inline-start:5px}div.select2-container-multi .select2-choices .select2-search-choice.select2-search-choice-focus,div.select2-container-multi .select2-choices .select2-search-choice:hover,div.select2-container-multi .select2-choices .select2-search-choice:active,div.select2-container-multi .select2-choices .select2-search-choice,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice.select2-search-choice-focus,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice:hover,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice:active,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice{background-image:none;background-color:var(--color-main-background);color:var(--color-text-maxcontrast);border:1px solid var(--color-border-dark)}div.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice .select2-search-choice-close{display:none}div.select2-container-multi .select2-choices .select2-search-field input,div.select2-container-multi.select2-container-active .select2-choices .select2-search-field input{line-height:20px;min-height:28px;max-height:28px;color:var(--color-main-text)}div.select2-container-multi .select2-choices .select2-search-field input.select2-active,div.select2-container-multi.select2-container-active .select2-choices .select2-search-field input.select2-active{background:none !important}div.select2-container{margin:3px;margin-inline-start:0}div.select2-container.select2-container-multi .select2-choices{display:flex;flex-wrap:wrap}div.select2-container.select2-container-multi .select2-choices li{float:none}div.select2-container a.select2-choice{box-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:var(--color-main-background);color:var(--color-text-maxcontrast) !important;box-sizing:content-box;border-radius:var(--border-radius-large);border:2px solid var(--color-border-dark);margin:0;padding:6px 12px;min-height:44px}div.select2-container a.select2-choice:focus-within{border-color:var(--color-primary-element)}div.select2-container a.select2-choice .select2-search-choice{line-height:20px;padding-inline-start:5px;background-image:none;background-color:var(--color-background-dark);border-color:var(--color-background-dark)}div.select2-container a.select2-choice .select2-search-choice .select2-search-choice-close{display:none}div.select2-container a.select2-choice .select2-search-choice.select2-search-choice-focus,div.select2-container a.select2-choice .select2-search-choice:hover{background-color:var(--color-border);border-color:var(--color-border)}div.select2-container a.select2-choice .select2-arrow{background:none;border-radius:0;border:none}div.select2-container a.select2-choice .select2-arrow b{background:var(--icon-triangle-s-dark) no-repeat center !important;opacity:.5}div.select2-container a.select2-choice:hover .select2-arrow b,div.select2-container a.select2-choice:focus .select2-arrow b,div.select2-container a.select2-choice:active .select2-arrow b{opacity:.7}div.select2-container a.select2-choice .select2-search-field input{line-height:20px}.v-select{margin:3px;margin-inline-start:0;display:inline-block}.v-select .dropdown-toggle{display:flex !important;flex-wrap:wrap}.v-select .dropdown-toggle .selected-tag{line-height:20px;padding-inline-start:5px;background-image:none;background-color:var(--color-main-background);color:var(--color-text-maxcontrast);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center}.v-select .dropdown-toggle .selected-tag .close{margin-inline-start:3px}.v-select .dropdown-menu{padding:0}.v-select .dropdown-menu li{padding:5px;position:relative;display:list-item;background-color:rgba(0,0,0,0);cursor:pointer;color:var(--color-text-maxcontrast)}.v-select .dropdown-menu li a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:25px;padding-block:3px 4px;padding-inline:2px 7px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:rgba(0,0,0,0) !important;color:inherit !important}.v-select .dropdown-menu li a::before{content:" ";background-image:var(--icon-checkmark-dark);background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-inline-end:5px;visibility:hidden}.v-select .dropdown-menu li.highlight{color:var(--color-main-text)}.v-select .dropdown-menu li.active>a{background-color:var(--color-background-dark);color:var(--color-main-text)}.v-select .dropdown-menu li.active>a::before{visibility:visible}progress:not(.vue){display:block;width:100%;padding:0;border:0 none;background-color:var(--color-background-dark);border-radius:var(--border-radius);flex-basis:100%;height:5px;overflow:hidden}progress:not(.vue).warn::-moz-progress-bar{background:var(--color-error)}progress:not(.vue).warn::-webkit-progress-value{background:var(--color-error)}progress:not(.vue)::-webkit-progress-bar{background:rgba(0,0,0,0)}progress:not(.vue)::-moz-progress-bar{border-radius:var(--border-radius);background:var(--color-primary-element);transition:250ms all ease-in-out}progress:not(.vue)::-webkit-progress-value{border-radius:var(--border-radius);background:var(--color-primary-element);transition:250ms all ease-in-out}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.shake{animation-name:shake;animation-duration:.7s;animation-timing-function:ease-out}label.infield{position:absolute;inset-inline-start:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}::placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}::-ms-input-placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}::-webkit-input-placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}/*# sourceMappingURL=inputs.css.map */ diff --git a/core/css/inputs.css.map b/core/css/inputs.css.map new file mode 100644 index 00000000000..c0f372b1aa0 --- /dev/null +++ b/core/css/inputs.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["inputs.scss","variables.scss","functions.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GCFA;AAAA;AAAA;AAAA,GFUA,kFACC,6BAGD,uGACC,wCAGD,sDACC,kCAMD,iHAUC,YACA,yCACA,sBAYA,oFACC,eACA,oCACA,sCACA,QA/BiB,GAmCnB,wBACC,aAID,yJAUC,iBACA,8CACA,6BACA,0CACA,mCACA,aACA,mCACA,YACA,uYACC,WACA,sBAOC,kxDAIC,oCACA,aAED,gmBACC,aACA,8CACA,6BAGF,maACC,6DACA,oDAGF,wNACC,8CACA,6BACA,eACA,WAED,wNACC,gBAED,oPACC,mDAGD,iNACC,8CACA,0CACA,wCACA,eAGA,kvBAEC,+CAIA,mjCAGC,oDACA,gDAED,gwBAEC,4CAED,2WACC,6CAGF,gRAEC,8CACA,6CACA,eAKH,2BACC,WACA,sBACA,gBACA,eACA,gDACA,aACA,mCAEA,8CACA,oCACA,eACA,WAKA,4KACC,6BACA,0BACA,qBAEA,qCAED,0EAIC,YACA,WAID,kBACC,WACA,cACA,gBACA,WACA,eAED,mBACC,SACA,QAED,iBACC,cAKF,6GASC,2FACA,mCACA,WACA,yCACA,eACA,sBACA,8CACA,oDACA,YAEA,kSAEC,0DAGD,mKACC,eAIF,qMAcC,WACA,sBACA,eACA,mCACA,8CACA,6BACA,iDACA,YACA,aACA,yCACA,uBACA,eACA,+0BACC,8CACA,kDAED,yRACC,YAIF,mCACC,8CACA,6BAGD,mCACC,aACA,YAID,OACC,iDACA,gBACA,8CACA,mCAGD,qBACC,qCAGD,qBACC,oCASA,2DACC,eAIA,sFACC,eAMH,sGAQC,iBACA,2CAGA,gMACC,SAGD,oIACC,+CACA,2CACA,sBACA,kKACC,qDACA,+CAaD,4MAEC,qBACA,2BACA,WASF,kGACC,qCACA,mDACA,mFACA,iBACA,4BAEA,yDACA,UACA,qCACA,oCACA,gBACA,eACA,oBACA,6HACC,eEzUF,+CFiVE,yOACC,gCAID,4qBAGC,qDACA,8CACA,6vBACC,uDAQH,+VACC,qDACA,mDAEA,UAOH,uBAEC,eAGD,2BAEC,mBASA,4GAEC,kBACA,4BACA,SACA,UACA,WACA,gBACA,oIACC,iBAED,4WAEC,eAED,gKACC,WACA,qBACA,OAvBmB,KAwBnB,MAxBmB,KAyBnB,sBACA,kBACA,aACA,sBACA,+CAED,oeAEC,0CAED,4LACC,oBACA,qCACA,kBACA,mBAED,4bAIC,8DACA,8CACA,0CAED,oMACC,+CACA,0DAED,oOACC,+CAID,gJACC,qBACA,yBAED,oMACC,cA/DmB,KAmEpB,mFACC,kBACA,OArEmB,KAsEnB,MAtEmB,KAuEnB,2BACA,2BAED,mGACC,yDAED,+GACC,0DAOD,gZAEC,2BAED,wUACC,aAzF0B,KA2F3B,4NACC,8DACA,+BACA,2BAED,gOACC,0CACA,2CAED,gQACC,8DACA,2CACA,+BAID,8OAEC,0CACA,6BACA,+DAED,6HACC,gEAED,mHACC,WAMH,iBACC,gBACA,8CACA,qCACC,sCAED,yBACC,qBACA,sBACA,sBACA,6BACC,eAGF,uCACC,gBACA,wDACA,yCAED,kCACC,iBACA,SACA,UACA,wDACC,mBACA,gBACA,uBACA,6DACC,eACA,gEACC,eACA,iBAIH,6JAGC,kBACA,kBACA,aACA,+BACA,eACA,oCAGA,mEACC,8CAGF,uDACE,8CACA,6BAKJ,qDACC,4CAGD,qDACC,2CAKA,oGAEC,eAKD,mHAEC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,YACA,gBACA,6IACC,0CAED,iKACC,iBACA,yBACA,stBAIC,sBACA,8CACA,oCACA,0CAED,2NACC,aAGF,2KACC,iBACA,gBACA,gBACA,6BACA,yMACC,2BAMJ,sBACC,WACA,sBACA,+DACC,aACA,eACA,kEACC,WAGF,uCACC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,iBACA,gBACA,oDACC,0CAED,8DACC,iBACA,yBACA,sBACA,8CACA,0CACA,2FACC,aAED,8JAEC,qCACA,iCAGF,sDACC,gBACA,gBACA,YACA,wDACC,mEACA,WAGF,2LAGC,WAED,mEACC,iBAMH,UACC,WACA,sBACA,qBACA,2BACC,wBACA,eACA,yCACC,iBACA,yBACA,sBACA,8CACA,oCACA,0CACA,oBACA,mBACA,gDACC,wBAIH,yBACC,UACA,4BACC,YACA,kBACA,kBACA,+BACA,eACA,oCACA,8BACC,mBACA,gBACA,uBACA,YACA,sBACA,uBACA,SACA,eACA,eACA,2BACA,yBACA,sBACA,qBACA,iBACA,oBACA,mBACA,0CACA,yBACA,sCACC,YACA,4CACA,4BACA,2BACA,eACA,gBACA,cACA,WACA,sBACA,kBAGF,sCACC,6BAED,qCACC,8CACA,6BACA,6CACC,mBAQL,mBACC,cACA,WACA,UACA,cACA,8CACA,mCACA,gBACA,WACA,gBAEC,2CACC,8BAED,gDACC,8BAGF,yCACC,yBAED,sCACC,mCACA,wCACA,iCAED,2CACC,mCACA,wCACA,iCAKF,iBACC,QAEC,0BAED,QAEC,yBAED,YAGC,0BAED,QAEC,0BAIF,OACC,qBACA,uBACA,mCAKD,cACC,kBACA,4BACA,aACA,UACA,WACA,gBAWD,cAJC,oCACA,mCAOD,wBARC,oCACA,mCAWD,4BAZC,oCACA","file":"inputs.css"}
\ No newline at end of file diff --git a/core/css/inputs.css.map.license b/core/css/inputs.css.map.license new file mode 100644 index 00000000000..82ac7cce426 --- /dev/null +++ b/core/css/inputs.css.map.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/inputs.scss b/core/css/inputs.scss new file mode 100644 index 00000000000..27136b69ad4 --- /dev/null +++ b/core/css/inputs.scss @@ -0,0 +1,896 @@ +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +@use 'variables'; +@use 'sass:color'; +@use 'functions'; + + /* Specifically override browser styles */ +input, textarea, select, button, div[contenteditable=true], div[contenteditable=false] { + font-family: var(--font-face); +} + +.select2-container-multi .select2-choices .select2-search-field input, .select2-search input, .ui-widget { + font-family: var(--font-face) !important; +} + +.select2-container.select2-drop-above .select2-choice { + background-image: unset !important; +} + +$opacity-disabled: .7; + +/* Simple selector to allow easy overriding */ +select, +button:not( + .button-vue, + /* "vs__" class prefix is used in the vue-select lib */ + [class^="vs__"] +), +input, +textarea, +div[contenteditable=true], +div[contenteditable=false] { + width: 130px; + min-height: var(--default-clickable-area); + box-sizing: border-box; +} + +/** + * color-main-text normal state + * color-main-text active state + * color-text-maxcontrast disabled state + */ + +button:not(.button-vue), +input:not([type='range']), +textarea { + &:disabled { + cursor: default; + color: var(--color-text-maxcontrast); + border-color: var(--color-border-dark); + opacity: $opacity-disabled; + } +} + +input:not([type="range"]) { + outline: none; +} + +/* Default global values */ +div.select2-drop .select2-search input, // TODO: REMOVE WHEN DROPPING SELECT2 +input[type='submit'], +input[type='button'], +input[type='reset'], +button:not( + .button-vue, + [class^="vs__"] +), +.button, +.pager li a { + padding: 7px 14px; + background-color: var(--color-main-background); + color: var(--color-main-text); + border: 1px solid var(--color-border-dark); + font-size: var(--default-font-size); + outline: none; + border-radius: var(--border-radius); + cursor: text; + &:not(.app-navigation-entry-button) { + margin: 3px; + margin-inline-start: 0; + } + &:not( + :disabled, + .primary + ) { + &:not(.app-navigation-entry-button) { + &:hover, + &:focus, + &.active { + /* active class used for multiselect */ + border-color: var(--color-main-text); + outline: none; + } + &:active { + outline: none; + background-color: var(--color-main-background); + color: var(--color-main-text); + } + } + &:focus-visible { + box-shadow: 0 0 0 4px var(--color-main-background) !important; + outline: 2px solid var(--color-main-text) !important; + } + } + &:disabled { + background-color: var(--color-background-dark); + color: var(--color-main-text); + cursor: default; + opacity: 0.5; + } + &:required { + box-shadow: none; + } + &:user-invalid { + box-shadow: 0 0 0 2px var(--color-error) !important; + } + /* Primary action button, use sparingly */ + &.primary { + background-color: var(--color-primary-element); + border-color: var(--color-primary-element); + color: var(--color-primary-element-text); + cursor: pointer; + + /* Apply border to primary button if on log in page (and not in a dark container) or if in header */ + #body-login :not(.body-login-container) &, + #header & { + border-color: var(--color-primary-element-text); + } + + &:not(:disabled) { + &:hover, + &:focus, + &:active { + background-color: var(--color-primary-element-hover); + border-color: var(--color-primary-element-hover); + } + &:focus, + &:focus-visible { + box-shadow: 0 0 0 2px var(--color-main-text); + } + &:active { + color: var(--color-primary-element-text-dark); + } + } + &:disabled { + // opacity is already defined to .5 if disabled + background-color: var(--color-primary-element); + color: var(--color-primary-element-text-dark); + cursor: default; + } + } +} + +div[contenteditable=false] { + margin: 3px; + margin-inline-start: 0; + padding: 7px 6px; + font-size: 13px; + border: 1px solid var(--color-background-darker); + outline: none; + border-radius: var(--border-radius); + + background-color: var(--color-background-dark); + color: var(--color-text-maxcontrast); + cursor: default; + opacity: 0.5; +} + +/* Specific override */ +input { + &:not([type='radio']):not([type='checkbox']):not([type='range']):not([type='submit']):not([type='button']):not([type='reset']):not([type='color']):not([type='file']):not([type='image']) { + -webkit-appearance: textfield; + -moz-appearance: textfield; + appearance: textfield; + // force height for inline elements like inputs (not textarea, contenteditable...) + height: var(--default-clickable-area); + } + &[type='radio'], + &[type='checkbox'], + &[type='file'], + &[type='image'] { + height: auto; + width: auto; + } + /* Color input doesn't respect the initial height + so we need to set a custom one */ + &[type='color'] { + margin: 3px; + padding: 0 2px; + min-height: 30px; + width: 40px; + cursor: pointer; + } + &[type='hidden'] { + height: 0; + width: 0; + } + &[type='time'] { + width: initial; + } +} + +/* 'Click' inputs */ +select, +button:not( + .button-vue, + [class^="vs__"] +), +.button, +input[type='button'], +input[type='submit'], +input[type='reset'] { + padding: calc((var(--default-clickable-area) - 1lh) / 2) calc(3 * var(--default-grid-baseline)); + font-size: var(--default-font-size); + width: auto; + min-height: var(--default-clickable-area); + cursor: pointer; + box-sizing: border-box; + color: var(--color-primary-element-light-text); + background-color: var(--color-primary-element-light); + border: none; + + &:hover, + &:focus { + background-color: var(--color-primary-element-light-hover); + } + + &:disabled { + cursor: default; + } +} + +input:not( + [type='range'], + .input-field__input, + [type='submit'], + [type='button'], + [type='reset'], + .multiselect__input, + .select2-input, + .action-input__input, + [class^="vs__"] +), +select, +div[contenteditable=true], +textarea { + margin: 3px; + margin-inline-start: 0; + padding: 0 12px; + font-size: var(--default-font-size); + background-color: var(--color-main-background); + color: var(--color-main-text); + border: 2px solid var(--color-border-maxcontrast); + height: 36px; + outline: none; + border-radius: var(--border-radius-large); + text-overflow: ellipsis; + cursor: pointer; + &:not(:disabled):hover, &:not(:disabled):focus, &:not(:disabled):active { + border-color: 2px solid var(--color-main-text); + box-shadow: 0 0 0 2px var(--color-main-background); + } + &:not(:disabled):focus { + cursor: text; + } +} + +.multiselect__input, .select2-input { + background-color: var(--color-main-background); + color: var(--color-main-text); +} + +textarea, div[contenteditable=true] { + padding: 12px; + height: auto; +} + +/* Override the ugly select arrow */ +select { + background: var(--icon-triangle-s-dark) no-repeat; + appearance: none; + background-color: var(--color-main-background); + padding-inline-end: 28px !important; +} + +body[dir='ltr'] select { + background-position: right 8px center; +} + +body[dir='rtl'] select { + background-position: left 8px center; +} + +select, +button:not( + .button-vue, + [class^="vs__"] +), +.button { + * { + cursor: pointer; + } + + &:disabled { + * { + cursor: default; + } + } +} + +/* Buttons */ +button:not( + .button-vue, + [class^="vs__"] +), +.button, +input[type='button'], +input[type='submit'], +input[type='reset'] { + font-weight: bold; + border-radius: var(--border-radius-element); + + /* Get rid of the inside dotted line in Firefox */ + &::-moz-focus-inner { + border: 0; + } + + &.error { + background-color: var(--color-error) !important; + border-color: var(--color-error) !important; + color: #fff !important; + &:hover{ + background-color: var(--color-error-hover) !important; + border-color: var(--color-main-text) !important; + } + } +} + +button:not( + .button-vue, + .action-button, + [class^="vs__"] +), +.button { + > span { + /* icon position inside buttons */ + &[class^='icon-'], + &[class*=' icon-'] { + display: inline-block; + vertical-align: text-bottom; + opacity: 0.5; + } + } +} + +/* Confirm inputs */ +input[type='text'], +input[type='password'], +input[type='email'] { + + .icon-confirm { + margin-inline-start: -13px !important; + border-inline-start-color: transparent !important; + border-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important; + border-width: 2px; + background-clip: padding-box; + /* Avoid background under border */ + background-color: var(--color-main-background) !important; + opacity: 1; + height: var(--default-clickable-area); + width: var(--default-clickable-area); + padding: 7px 6px; + cursor: pointer; + margin-inline-end: 0; + &:disabled { + cursor: default; + @include functions.icon-color('confirm-fade', 'actions', variables.$color-black, 2, true); + } + } + + /* only show confirm borders if input is not focused */ + &:not(:active):not(:hover):not(:focus){ + &:invalid { + + .icon-confirm { + border-color: var(--color-error); + } + } + + .icon-confirm { + &:active, + &:hover, + &:focus { + border-color: var(--color-primary-element) !important; + border-radius: var(--border-radius) !important; + &:disabled { + border-color: var(--color-background-darker) !important; + } + } + } + } + &:active, + &:hover, + &:focus { + + .icon-confirm { + border-color: var(--color-primary-element) !important; + border-inline-start-color: transparent !important; + /* above previous input */ + z-index: 2; + } + } +} + + +/* Various Fixes */ +button img, +.button img { + cursor: pointer; +} + +select, +.button.multiselect { + font-weight: normal; +} + +/* Radio & Checkboxes */ +$checkbox-radio-size: 14px; +$color-checkbox-radio-white: #fff; + +input[type='checkbox'], +input[type='radio'] { + &.radio, + &.checkbox { + position: absolute; + inset-inline-start: -10000px; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; + + label { + user-select: none; + } + &:disabled + label, + &:disabled + label:before { + cursor: default; + } + + label:before { + content: ''; + display: inline-block; + height: $checkbox-radio-size; + width: $checkbox-radio-size; + vertical-align: middle; + border-radius: 50%; + margin: 0 3px; + margin-inline: 3px 6px; + border: 1px solid var(--color-text-maxcontrast); + } + &:not(:disabled):not(:checked) + label:hover:before, + &:focus + label:before { + border-color: var(--color-primary-element); + } + &:focus-visible + label { + outline-style: solid; + outline-color: var(--color-main-text); + outline-width: 1px; + outline-offset: 2px; + } + &:checked + label:before, + &.checkbox:indeterminate + label:before { + /* ^ :indeterminate have a strange behavior on radio, + so we respecified the checkbox class again to be safe */ + box-shadow: inset 0px 0px 0px 2px var(--color-main-background); + background-color: var(--color-primary-element); + border-color: var(--color-primary-element); + } + &:disabled + label:before { + border: 1px solid var(--color-text-maxcontrast); + background-color: var(--color-text-maxcontrast) !important; /* override other status */ + } + &:checked:disabled + label:before { + background-color: var(--color-text-maxcontrast); + } + + // Detail description below label of checkbox or radio button + & + label ~ em { + display: inline-block; + margin-inline-start: 25px; + } + & + label ~ em:last-of-type { + margin-bottom: $checkbox-radio-size; + } + } + &.checkbox { + + label:before { + border-radius: 1px; + height: $checkbox-radio-size; + width: $checkbox-radio-size; + box-shadow: none !important; + background-position: center; + } + &:checked + label:before { + background-image: url('../img/actions/checkbox-mark.svg'); + } + &:indeterminate + label:before { + background-image: url('../img/actions/checkbox-mixed.svg'); + } + } + + /* We do not use the variables as we keep the colours as white for this variant */ + &.radio--white, + &.checkbox--white { + + label:before, + &:focus + label:before { + border-color: color.adjust($color-checkbox-radio-white, $lightness: -27%, $space: hsl); + } + &:not(:disabled):not(:checked) + label:hover:before { + border-color: $color-checkbox-radio-white; + } + &:checked + label:before { + box-shadow: inset 0px 0px 0px 2px var(--color-main-background); + background-color: color.adjust($color-checkbox-radio-white, $lightness: -14%, $space: hsl); + border-color: color.adjust($color-checkbox-radio-white, $lightness: -14%, $space: hsl); + } + &:disabled + label:before { + background-color: color.adjust($color-checkbox-radio-white, $lightness: -27%, $space: hsl) !important; /* override other status */ + border-color: rgba($color-checkbox-radio-white, 0.4) !important; /* override other status */ + } + &:checked:disabled + label:before { + box-shadow: inset 0px 0px 0px 2px var(--color-main-background); + border-color: rgba($color-checkbox-radio-white, 0.4) !important; /* override other status */ + background-color: color.adjust($color-checkbox-radio-white, $lightness: -27%, $space: hsl); + } + } + &.checkbox--white { + &:checked + label:before, + &:indeterminate + label:before { + background-color: transparent !important; /* Override default checked */ + border-color: $color-checkbox-radio-white !important; /* Override default checked */ + background-image: url('../img/actions/checkbox-mark-white.svg'); + } + &:indeterminate + label:before { + background-image: url('../img/actions/checkbox-mixed-white.svg'); + } + &:disabled + label:before { + opacity: 0.7; /* No other choice for white background image */ + } + } +} + +/* Select2 overriding. Merged to core with vendor stylesheet */ +div.select2-drop { + margin-top: -2px; + background-color: var(--color-main-background); + &.select2-drop-active { + border-color: var(--color-border-dark); + } + .avatar { + display: inline-block; + margin-inline-end: 8px; + vertical-align: middle; + img { + cursor: pointer; + } + } + .select2-search input { + min-height: auto; + background: var(--icon-search-dark) no-repeat !important; + background-origin: content-box !important; + } + .select2-results { + max-height: 250px; + margin: 0; + padding: 0; + .select2-result-label { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + span { + cursor: pointer; + em { + cursor: inherit; + background: unset; + } + } + } + .select2-result, + .select2-no-results, + .select2-searching { + position: relative; + display: list-item; + padding: 12px; + background-color: transparent; + cursor: pointer; + color: var(--color-text-maxcontrast); + } + .select2-result { + &.select2-selected { + background-color: var(--color-background-dark); + } + } + .select2-highlighted { + background-color: var(--color-background-dark); + color: var(--color-main-text); + } + } +} + +body[dir='ltr'] div.select2-drop .select2-search input { + background-position: right center !important; +} + +body[dir='rtl'] div.select2-drop .select2-search input { + background-position: left center !important; +} + +.select2-chosen, +#select2-drop { + .avatar, + .avatar img { + cursor: pointer; + } +} + +div.select2-container-multi { + .select2-choices, + &.select2-container-active .select2-choices { + box-shadow: none; + white-space: nowrap; + text-overflow: ellipsis; + background: var(--color-main-background); + color: var(--color-text-maxcontrast) !important; + box-sizing: content-box; + border-radius: var(--border-radius-large); + border: 2px solid var(--color-border-dark); + margin: 0; + padding: 6px; + min-height: 44px; + &:focus-within { + border-color: var(--color-primary-element) + } + .select2-search-choice { + line-height: 20px; + padding-inline-start: 5px; + &.select2-search-choice-focus, + &:hover, + &:active, + & { + background-image: none; + background-color: var(--color-main-background); + color: var(--color-text-maxcontrast); + border: 1px solid var(--color-border-dark); + } + .select2-search-choice-close { + display: none; + } + } + .select2-search-field input { + line-height: 20px; + min-height: 28px; + max-height: 28px; + color: var(--color-main-text); + &.select2-active { + background: none !important; + } + } + } +} + +div.select2-container { + margin: 3px; + margin-inline-start: 0; + &.select2-container-multi .select2-choices { + display: flex; + flex-wrap: wrap; + li { + float: none; + } + } + a.select2-choice { + box-shadow: none; + white-space: nowrap; + text-overflow: ellipsis; + background: var(--color-main-background); + color: var(--color-text-maxcontrast) !important; + box-sizing: content-box; + border-radius: var(--border-radius-large); + border: 2px solid var(--color-border-dark); + margin: 0; + padding: 6px 12px; + min-height: 44px; + &:focus-within { + border-color: var(--color-primary-element) + } + .select2-search-choice { + line-height: 20px; + padding-inline-start: 5px; + background-image: none; + background-color: var(--color-background-dark); + border-color: var(--color-background-dark); + .select2-search-choice-close { + display: none; + } + &.select2-search-choice-focus, + &:hover { + background-color: var(--color-border); + border-color: var(--color-border); + } + } + .select2-arrow { + background: none; + border-radius: 0; + border: none; + b { + background: var(--icon-triangle-s-dark) no-repeat center !important; + opacity: .5; + } + } + &:hover .select2-arrow b, + &:focus .select2-arrow b, + &:active .select2-arrow b { + opacity: .7; + } + .select2-search-field input { + line-height: 20px; + } + } +} + +/* Vue v-select */ +.v-select { + margin: 3px; + margin-inline-start: 0; + display: inline-block; + .dropdown-toggle { + display: flex !important; + flex-wrap: wrap; + .selected-tag { + line-height: 20px; + padding-inline-start: 5px; + background-image: none; + background-color: var(--color-main-background); + color: var(--color-text-maxcontrast); + border: 1px solid var(--color-border-dark); + display: inline-flex; + align-items: center; + .close { + margin-inline-start: 3px; + } + } + } + .dropdown-menu { + padding: 0; + li { + padding: 5px; + position: relative; + display: list-item; + background-color: transparent; + cursor: pointer; + color: var(--color-text-maxcontrast); + a { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + height: 25px; + padding-block: 3px 4px; + padding-inline: 2px 7px; + margin: 0; + cursor: pointer; + min-height: 1em; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + display: inline-flex; + align-items: center; + background-color: transparent !important; + color: inherit !important; + &::before { + content: ' '; + background-image: var(--icon-checkmark-dark); + background-repeat: no-repeat; + background-position: center; + min-width: 16px; + min-height: 16px; + display: block; + opacity: 0.5; + margin-inline-end: 5px; + visibility: hidden; + } + } + &.highlight { + color: var(--color-main-text); + } + &.active > a { + background-color: var(--color-background-dark); + color: var(--color-main-text); + &::before { + visibility: visible; + } + } + } + } +} + +/* Progressbar */ +progress:not(.vue) { + display: block; + width: 100%; + padding: 0; + border: 0 none; + background-color: var(--color-background-dark); + border-radius: var(--border-radius); + flex-basis: 100%; + height: 5px; + overflow: hidden; + &.warn { + &::-moz-progress-bar { + background: var(--color-error); + } + &::-webkit-progress-value { + background: var(--color-error); + } + } + &::-webkit-progress-bar { + background: transparent; + } + &::-moz-progress-bar { + border-radius: var(--border-radius); + background: var(--color-primary-element); + transition: 250ms all ease-in-out; + } + &::-webkit-progress-value { + border-radius: var(--border-radius); + background: var(--color-primary-element); + transition: 250ms all ease-in-out; + } +} + +/* Animation */ +@keyframes shake { + 10%, + 90% { + transform: translate(-1px); + } + 20%, + 80% { + transform: translate(2px); + } + 30%, + 50%, + 70% { + transform: translate(-4px); + } + 40%, + 60% { + transform: translate(4px); + } +} + +.shake { + animation-name: shake; + animation-duration: .7s; + animation-timing-function: ease-out; +} + +// Keep the labels for screen readers but hide them since we use placeholders +// Same as .hidden-visually +label.infield { + position: absolute; + inset-inline-start: -10000px; + top: -10000px; + width: 1px; + height: 1px; + overflow: hidden; +} + +// when rules are grouped using the comma operator and one selector is invalid / unknown then the whole group is invalidated. +// https://www.w3.org/TR/selectors-3/#grouping +// In this case `::-ms-input-placeholder` is unknown to Firefox and Chrome +@mixin placeholder-style { + color: var(--color-text-maxcontrast); + font-size: var(--default-font-size); +} + +::placeholder { + @include placeholder-style; +} + +::-ms-input-placeholder { + @include placeholder-style; +} + +::-webkit-input-placeholder { + @include placeholder-style; +} diff --git a/core/css/jquery-ui-fixes.css b/core/css/jquery-ui-fixes.css deleted file mode 100644 index 7e0cdd18204..00000000000 --- a/core/css/jquery-ui-fixes.css +++ /dev/null @@ -1,138 +0,0 @@ -/* Component containers -----------------------------------*/ -.ui-widget { - font-family: "Lucida Grande", Arial, Verdana, sans-serif; - font-size: 1em; -} -.ui-widget button { - font-family: "Lucida Grande", Arial, Verdana, sans-serif; -} -.ui-widget-content { - border: 1px solid #dddddd; - background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; - color: #333333; -} -.ui-widget-content a { - color: #333333; -} -.ui-widget-header { - border: 1px solid #1d2d44; - background: #1d2d44 url(images/ui-bg_flat_35_1d2d44_40x100.png) 50% 50% repeat-x; - color: #ffffff; -} -.ui-widget-header a { - color: #ffffff; -} - -/* Interaction states -----------------------------------*/ -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default { - border: 1px solid #ddd; - background: #f8f8f8 url(images/ui-bg_glass_100_f8f8f8_1x400.png) 50% 50% repeat-x; - font-weight: bold; - color: #555; -} -.ui-state-default a, -.ui-state-default a:link, -.ui-state-default a:visited { - color: #555; -} -.ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus { - border: 1px solid #ddd; - background: #ffffff url(images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x; - font-weight: bold; - color: #333; -} -.ui-state-hover a, -.ui-state-hover a:hover, -.ui-state-hover a:link, -.ui-state-hover a:visited { - color: #333; -} -.ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active { - border: 1px solid #1d2d44; - background: #f8f8f8 url(images/ui-bg_glass_100_f8f8f8_1x400.png) 50% 50% repeat-x; - font-weight: bold; - color: #1d2d44; -} -.ui-state-active a, -.ui-state-active a:link, -.ui-state-active a:visited { - color: #1d2d44; -} - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, -.ui-widget-content .ui-state-highlight, -.ui-widget-header .ui-state-highlight { - border: 1px solid #ddd; - background: #f8f8f8 url(images/ui-bg_highlight-hard_100_f8f8f8_1x100.png) 50% top repeat-x; - color: #555; -} -.ui-state-highlight a, -.ui-widget-content .ui-state-highlight a, -.ui-widget-header .ui-state-highlight a { - color: #555; -} -.ui-state-error, -.ui-widget-content .ui-state-error, -.ui-widget-header .ui-state-error { - border: 1px solid #cd0a0a; - background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; - color: #ffffff; -} -.ui-state-error a, -.ui-widget-content .ui-state-error a, -.ui-widget-header .ui-state-error a { - color: #ffffff; -} -.ui-state-error-text, -.ui-widget-content .ui-state-error-text, -.ui-widget-header .ui-state-error-text { - color: #ffffff; -} - -/* Icons -----------------------------------*/ -.ui-state-default .ui-icon { - background-image: url(images/ui-icons_1d2d44_256x240.png); -} -.ui-state-hover .ui-icon, -.ui-state-focus .ui-icon { - background-image: url(images/ui-icons_1d2d44_256x240.png); -} -.ui-state-active .ui-icon { - background-image: url(images/ui-icons_1d2d44_256x240.png); -} -.ui-state-highlight .ui-icon { - background-image: url(images/ui-icons_ffffff_256x240.png); -} -.ui-state-error .ui-icon, -.ui-state-error-text .ui-icon { - background-image: url(images/ui-icons_ffd27a_256x240.png); -} - -/* Misc visuals -----------------------------------*/ -/* Overlays */ -.ui-widget-overlay { - background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; - opacity: .5; -} -.ui-widget-shadow { - margin: -5px 0 0 -5px; - padding: 5px; - background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; - opacity: .2; - border-radius: 5px; -} diff --git a/core/css/jquery.ocdialog.css b/core/css/jquery.ocdialog.css deleted file mode 100644 index b241dcfea6f..00000000000 --- a/core/css/jquery.ocdialog.css +++ /dev/null @@ -1,60 +0,0 @@ -.oc-dialog { - background: white; - color: #333333; - border-radius: 3px; box-shadow: 0 0 7px #888888; - padding: 15px; - z-index: 1000; - font-size: 100%; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - min-width: 200px; -} -.oc-dialog-title { - background: white; - font-weight: bold; - font-size: 110%; - margin-bottom: 10px; -} -.oc-dialog-content { - z-index: 1000; - background: white; -} -.oc-dialog-separator { -} -.oc-dialog-buttonrow { - background: white; - float: right; - position: relative; - bottom: 5px; - display: block; - margin-top: 10px; - width: 100%; -} -/* align primary button to right, other buttons to left */ -.oc-dialog-buttonrow.twobuttons button:nth-child(1) { - float: left; -} -.oc-dialog-buttonrow.twobuttons button:nth-child(2) { - float: right; -} - -.oc-dialog-buttonrow.onebutton button { - float: right; -} - -.oc-dialog-close { - position:absolute; - top:7px; right:7px; - height:20px; width:20px; - background:url('../img/actions/close.svg') no-repeat center; -} - -.oc-dialog-dim { - background-color: #000; - opacity: .20; - z-index: 999; - position: fixed; - top: 0; left: 0; - width: 100%; height: 100%; -} diff --git a/core/css/login/authpicker.css b/core/css/login/authpicker.css new file mode 100644 index 00000000000..faecfba41a5 --- /dev/null +++ b/core/css/login/authpicker.css @@ -0,0 +1,27 @@ +/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +.picker-window { + display: inline-block; + padding: 16px; + margin: 20px; + background-color: var(--color-main-background); + color: var(--color-main-text); + border-radius: var(--border-radius-large); + box-shadow: 0 0 10px var(--color-box-shadow); + cursor: default; +} + +.picker-window.small { + max-width: 400px; +} + +.picker-window h2 { + margin: 20px auto; +} + +.apptoken-link { + margin: 20px; + display: block; +} diff --git a/core/css/lostpassword/resetpassword.css b/core/css/lostpassword/resetpassword.css deleted file mode 100644 index 0b3c251e8d7..00000000000 --- a/core/css/lostpassword/resetpassword.css +++ /dev/null @@ -1,7 +0,0 @@ -#reset-password p { - position: relative; -} - -.text-center { - text-align: center; -} diff --git a/core/css/mobile.css b/core/css/mobile.css index 5bf0b1e58a7..917982e6af7 100644 --- a/core/css/mobile.css +++ b/core/css/mobile.css @@ -1,154 +1,7 @@ -@media only screen and (max-width: 768px) { - -#body-login #header { - padding-top: 10px; -} - -#body-login .wrapper { - display: -webkit-box; - -webkit-box-orient: horizontal; - -webkit-box-pack: center; - -webkit-box-align: center; - - display: -moz-box; - -moz-box-orient: horizontal; - -moz-box-pack: center; - -moz-box-align: center; - - display: box; - box-orient: horizontal; - box-pack: center; - box-align: center; -} - -/* on mobile public share, show only the icon of the logo, hide the text */ -#body-public #header .header-appname-container { - display: none; -} - -/* do not show update notification on mobile */ -#update-notification { - display: none !important; -} - -/* position share dropdown */ -#dropdown { - margin-right: 10% !important; - width: 80% !important; -} - -/* fix name autocomplete not showing on mobile */ -.ui-autocomplete { - z-index: 1000 !important; -} - -/* fix error display on smaller screens */ -.error-wide { - width: 100%; - margin-left: 0 !important; - box-sizing: border-box; -} - - -/* APP SIDEBAR TOGGLE and SWIPE ----------------------------------------------*/ - -#app-navigation, -#app-content { - position: absolute !important; - top: 0; - left: 0; - right: 0; - bottom: 0; -} - -#app-navigation { - width: 250px !important; -} - -#app-content { - width: 100% !important; - left: 0 !important; - background-color: #fff; - overflow-x: hidden !important; - z-index: 1000; -} - -/* allow horizontal scrollbar in settings - otherwise user management is not usable on mobile */ -#body-settings #app-content { - overflow-x: auto !important; -} - -#app-navigation-toggle { - position: fixed; - display: inline-block !important; - top: 45px; - left: 0; - width: 44px; - height: 44px; - z-index: 149; - background-color: rgba(255, 255, 255, .7); - cursor: pointer; - opacity: .6; -} -#app-navigation-toggle:hover, -#app-navigation-toggle:focus { - opacity: 1; -} - - -/* controls bar for mobile */ -#controls { - min-width: initial !important; - left: 0 !important; - padding-left: 0; -} -/* position controls for apps with app-navigation */ -#app-navigation+#app-content #controls { - padding-left: 44px; -} - -/* .viewer-mode is when text editor, PDF viewer, etc is open */ -#body-user .app-files.viewer-mode #controls { - padding-left: 0 !important; -} -.app-files.viewer-mode #app-navigation-toggle { - display: none !important; -} - -table.multiselect thead { - left: 0 !important; -} - - -/* prevent overflow in user management controls bar */ -#usersearchform { - display: none; -} -#body-settings #controls { - min-width: 768px !important; -} - - -/* do not show dates in filepicker */ -#oc-dialog-filepicker-content .filelist .date { - display: none; -} -#oc-dialog-filepicker-content .filelist .filename { - max-width: 80%; -} - - -/* fix controls bar jumping when navigation is slid out */ -.snapjs-left #app-navigation-toggle, -.snapjs-left #controls { - top: 0; -} -.snapjs-left table.multiselect thead { - top: 44px; -} - - - -/* end of media query */ -} +/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */@media only screen and (width < 1024px){#dropdown{margin-inline-end:10% !important;width:80% !important}.ui-autocomplete{z-index:1000 !important}.error-wide{width:100%;margin-inline-start:0 !important;box-sizing:border-box}#app-navigation:not(.vue){transform:translateX(-300px);position:fixed;height:var(--body-height)}.snapjs-left #app-navigation{transform:translateX(0)}#app-navigation:not(.hidden)+#app-content{margin-inline-start:0}.skip-navigation.skip-content{inset-inline-start:3px;margin-inline-start:0}.app-content-list{background:var(--color-main-background);flex:1 1 100%;max-height:unset;max-width:100%}.app-content-list+.app-content-details{display:none}.app-content-list.showdetails{display:none}.app-content-list.showdetails+.app-content-details{display:initial}#app-content.showdetails #app-navigation-toggle{transform:translateX(-44px)}#app-content.showdetails #app-navigation-toggle-back{position:fixed;display:inline-block !important;top:50px;inset-inline-start:0;width:44px;height:44px;z-index:1050;background-color:hsla(0,0%,100%,.7);cursor:pointer;opacity:.6;transform:rotate(90deg)}#app-content.showdetails .app-content-list{transform:translateX(-100%)}#app-navigation-toggle{position:fixed;display:inline-block !important;inset-inline-start:0;width:44px;height:44px;z-index:1050;cursor:pointer;opacity:.6}#app-navigation-toggle:hover,#app-navigation-toggle:focus{opacity:1}#app-navigation+#app-content .files-controls{padding-inline-start:44px}#body-user .app-files.viewer-mode .files-controls{padding-inline-start:0 !important}.app-files.viewer-mode #app-navigation-toggle{display:none !important}table.multiselect thead{inset-inline-start:0 !important}#usersearchform{display:none}#body-settings .files-controls{min-width:1024px !important}}@media only screen and (max-width: 480px){#header .header-end>div>.menu{max-width:calc(100vw - 10px);position:fixed}#header .header-end>div>.menu::after{display:none !important}#header .header-end>div.openedMenu::after{display:block}#header .header-end>div::after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:0;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:15px;z-index:2001;display:none}#header .header-end>div#settings::after{inset-inline-end:27px}}/*# sourceMappingURL=mobile.css.map */ diff --git a/core/css/mobile.css.map b/core/css/mobile.css.map new file mode 100644 index 00000000000..406572ad8fc --- /dev/null +++ b/core/css/mobile.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["mobile.scss","variables.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GDIA,wCAGC,UACC,iCACA,qBAID,iBACC,wBAID,YACC,WACA,iCACA,sBAID,0BACC,6BACA,eACA,0BAGA,6BACC,wBAIF,0CACC,sBAGD,8BACC,uBACA,sBAID,kBACC,wCACA,cAEA,iBAEA,eACA,uCACC,aAED,8BACC,aACA,mDACC,gBAOF,gDACC,4BAED,qDACC,eACA,gCACA,ICiBa,KDhBb,qBACA,WACA,YACA,aACA,oCACA,eACA,WACA,wBAED,2CACC,4BAKF,uBACC,eACA,gCACA,qBACA,WACA,YACA,aACA,eACA,WAED,0DAEC,UAID,6CACC,0BAID,kDACC,kCAED,8CACC,wBAGD,wBACC,gCAID,gBACC,aAED,+BACC,6BAMF,0CACC,8BACC,6BACA,eACA,qCACC,wBAMA,0CACC,cAGF,+BACC,gCACA,iDACA,SACA,YACA,SACA,QACA,kBACA,oBACA,sBACA,aACA,aAID,wCACC","file":"mobile.css"}
\ No newline at end of file diff --git a/core/css/mobile.css.map.license b/core/css/mobile.css.map.license new file mode 100644 index 00000000000..0801c996d9d --- /dev/null +++ b/core/css/mobile.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/mobile.scss b/core/css/mobile.scss new file mode 100644 index 00000000000..ebb175a5793 --- /dev/null +++ b/core/css/mobile.scss @@ -0,0 +1,168 @@ +/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +@use 'variables'; + +@media only screen and (width < #{variables.$breakpoint-mobile}) { + + /* position share dropdown */ + #dropdown { + margin-inline-end: 10% !important; + width: 80% !important; + } + + /* fix name autocomplete not showing on mobile */ + .ui-autocomplete { + z-index: 1000 !important; + } + + /* fix error display on smaller screens */ + .error-wide { + width: 100%; + margin-inline-start: 0 !important; + box-sizing: border-box; + } + + /* APP SIDEBAR TOGGLE and SWIPE ----------------------------------------------*/ + #app-navigation:not(.vue) { + transform: translateX(-#{variables.$navigation-width}); + position: fixed; + height: var(--body-height); + } + .snapjs-left { + #app-navigation { + transform: translateX(0); + } + } + + #app-navigation:not(.hidden) + #app-content { + margin-inline-start: 0; + } + + .skip-navigation.skip-content { + inset-inline-start: 3px; + margin-inline-start: 0; + } + + /* full width for message list on mobile */ + .app-content-list { + background: var(--color-main-background); + flex: 1 1 100%; + // make full height scroll since app-content-details is hidden + max-height: unset; + // ignore 300px default max width + max-width: 100%; + + .app-content-details { + display: none; + } + &.showdetails { + display: none; + + .app-content-details { + display: initial; + } + } + } + + /* Show app details page */ + #app-content.showdetails { + #app-navigation-toggle { + transform: translateX(-44px); + } + #app-navigation-toggle-back { + position: fixed; + display: inline-block !important; + top: variables.$header-height; + inset-inline-start: 0; + width: 44px; + height: 44px; + z-index: 1050; // above app-content + background-color: rgba(255, 255, 255, .7); + cursor: pointer; + opacity: .6; + transform: rotate(90deg); + } + .app-content-list { + transform: translateX(-100%); + } + + } + + #app-navigation-toggle { + position: fixed; + display: inline-block !important; + inset-inline-start: 0; + width: 44px; + height: 44px; + z-index: 1050; // above app-content + cursor: pointer; + opacity: 0.6; + } + #app-navigation-toggle:hover, + #app-navigation-toggle:focus { + opacity: 1; + } + + /* position controls for apps with app-navigation */ + #app-navigation + #app-content .files-controls { + padding-inline-start: 44px; + } + + /* .viewer-mode is when text editor, PDF viewer, etc is open */ + #body-user .app-files.viewer-mode .files-controls { + padding-inline-start: 0 !important; + } + .app-files.viewer-mode #app-navigation-toggle { + display: none !important; + } + + table.multiselect thead { + inset-inline-start: 0 !important; + } + + /* prevent overflow in user management controls bar */ + #usersearchform { + display: none; + } + #body-settings .files-controls { + min-width: variables.$breakpoint-mobile !important; + } + + /* end of media query */ +} + +@media only screen and (max-width: 480px) { + #header .header-end > div > .menu { + max-width: calc(100vw - 10px); + position: fixed; + &::after { + display: none !important; + } + } + /* Arrow directly child of menutoggle */ + #header .header-end > div { + &.openedMenu { + &::after { + display: block; + } + } + &::after { + border: 10px solid transparent; + border-bottom-color: var(--color-main-background); + bottom: 0; + content: ' '; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + inset-inline-end: 15px; + z-index: 2001; + display: none; + } + + /* settings need a different offset, since they have a right padding */ + &#settings::after { + inset-inline-end: 27px; + } + } +} diff --git a/core/css/multiselect.css b/core/css/multiselect.css deleted file mode 100644 index a4b03319156..00000000000 --- a/core/css/multiselect.css +++ /dev/null @@ -1,120 +0,0 @@ -/* 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. */ - -ul.multiselectoptions { - background-color: #fff; - border: 1px solid #ddd; - border-top: none; - box-shadow: 0 1px 1px #ddd; - padding-top: 8px; - position: absolute; - max-height: 20em; - overflow-y: auto; - z-index: 49; -} - -ul.multiselectoptions.down { - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - width: 100%; /* do not cut off group names */ - -webkit-box-shadow: 0px 0px 20px rgba(29,45,68,.4); - -moz-box-shadow: 0px 0px 20px rgba(29,45,68,.4); - box-shadow: 0px 0px 20px rgba(29,45,68,.4); -} - -ul.multiselectoptions.up { - border-top-left-radius: 8px; - border-top-right-radius: 8px; -} - -ul.multiselectoptions>li { - overflow: hidden; - white-space: nowrap; -} - -ul.multiselectoptions > li > input[type="checkbox"]+label:before { - margin-left: 7px; -} -ul.multiselectoptions > li input[type='checkbox']+label { - font-weight: normal; - display: inline-block; - width: 100%; - padding: 5px 27px; - margin-left: -27px; /* to have area around checkbox clickable as well */ -} -ul.multiselectoptions > li input[type='checkbox']:checked+label { - font-weight: bold; -} - -div.multiselect, select.multiselect { - display: inline-block; - max-width: 200px; - min-width: 150px !important; - padding-right: 10px; - min-height: 20px; - position: relative; - vertical-align: bottom; -} - -/* To make a select look like a multiselect until it's initialized */ -select.multiselect { - height: 30px; - min-width: 113px; -} - -div.multiselect.active { - background-color: #fff; - position: relative; - z-index: 50; -} - -div.multiselect.up { - border-top: 0 none; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -div.multiselect.down { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} - -div.multiselect>span:first-child { - float: left; - margin-right: 32px; - overflow: hidden; - text-overflow: ellipsis; - width: 90%; - white-space: nowrap; -} - -div.multiselect>span:last-child { - position: absolute; - right: 8px; - top: 8px; -} - -ul.multiselectoptions input.new { - padding-bottom: 3px; - padding-top: 3px; - margin: 0; -} - -ul.multiselectoptions > li.creator { - padding: 10px; - font-weight: bold; -} -ul.multiselectoptions > li.creator > input { - width: 95% !important; /* do not constrain size of text input */ - padding: 5px; - margin: -5px; -} - -.ie8 div.multiselect span:first-child { - display:block; - position:relative; - width: 90%; - margin-right:-1px; -} diff --git a/core/css/public.css b/core/css/public.css new file mode 100644 index 00000000000..49b4b454295 --- /dev/null +++ b/core/css/public.css @@ -0,0 +1,4 @@ +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */#body-public{--footer-height: calc(2lh + 2 * var(--default-grid-baseline))}#body-public .header-end #header-primary-action a{color:var(--color-primary-element-text)}#body-public .header-end #header-secondary-action ul li{min-width:270px}#body-public .header-end #header-secondary-action #header-actions-toggle{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);filter:var(--background-invert-if-dark)}#body-public .header-end #header-secondary-action #header-actions-toggle:hover,#body-public .header-end #header-secondary-action #header-actions-toggle:focus,#body-public .header-end #header-secondary-action #header-actions-toggle:active{opacity:1}#body-public .header-end #header-secondary-action #external-share-menu-item form{display:flex}#body-public .header-end #header-secondary-action #external-share-menu-item .hidden{display:none}#body-public .header-end #header-secondary-action #external-share-menu-item #save-button-confirm{flex-grow:0}#body-public #content{min-height:var(--body-height, calc(100% - var(--footer-height)));padding-block-end:var(--footer-height)}#body-public #app-content-vue{padding-block-end:var(--footer-height)}#body-public.layout-base #content{padding-top:0}#body-public p.info{margin:20px auto;text-shadow:0 0 2px rgba(0,0,0,.4);-moz-user-select:none;-ms-user-select:none;user-select:none}#body-public p.info,#body-public form fieldset legend,#body-public #datadirContent label,#body-public form fieldset .warning-info,#body-public form input[type=checkbox]+label{text-align:center}#body-public footer{position:fixed;bottom:var(--body-container-margin);background-color:var(--color-main-background);border-radius:var(--body-container-radius);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% - 2*var(--body-container-margin));margin-inline:var(--body-container-margin);padding-block:var(--default-grid-baseline)}#body-public footer .footer__legal-links{margin-block-end:var(--default-grid-baseline)}#body-public footer p{text-align:center;color:var(--color-text-maxcontrast);margin-block:0 var(--default-grid-baseline);width:100%}#body-public footer p a{display:inline-block;font-size:var(--default-font-size);font-weight:bold;line-height:var(--default-line-height);height:var(--default-line-height);color:var(--color-text-maxcontrast);white-space:nowrap}/*# sourceMappingURL=public.css.map */ diff --git a/core/css/public.css.map b/core/css/public.css.map new file mode 100644 index 00000000000..74f63ece47d --- /dev/null +++ b/core/css/public.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["public.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAIA,aACC,8DAGC,kDACC,wCAIA,wDACC,gBAED,yEACC,+BACA,2BACA,wCAEA,8OAGC,UAID,iFACC,aAED,oFACC,aAED,iGACC,YAMJ,sBACC,iEACA,uCAGD,8BACC,uCAID,kCACC,cAGD,oBACC,iBACA,mCACA,sBACA,qBACA,iBAED,+KAIC,kBAID,oBACC,eACA,oCACA,8CACA,2CACA,sBAEA,aACA,sBACA,mBACA,uBAEA,kDACA,2CACA,2CAEA,yCACC,8CAGD,sBACC,kBACA,oCACA,4CACA,WAEA,wBACC,qBACA,mCACA,iBACA,uCACA,kCACA,oCACA","file":"public.css"}
\ No newline at end of file diff --git a/core/css/public.css.map.license b/core/css/public.css.map.license new file mode 100644 index 00000000000..b62adf36215 --- /dev/null +++ b/core/css/public.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/public.scss b/core/css/public.scss new file mode 100644 index 00000000000..92c7a069f3e --- /dev/null +++ b/core/css/public.scss @@ -0,0 +1,108 @@ +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +#body-public { + --footer-height: calc(2lh + 2 * var(--default-grid-baseline)); // Set the initial value, will be updated programmatically to match the actual height + + .header-end { + #header-primary-action a { + color: var(--color-primary-element-text); + } + + #header-secondary-action { + ul li { + min-width: 270px; + } + #header-actions-toggle { + background-color: transparent; + border-color: transparent; + filter: var(--background-invert-if-dark); + + &:hover, + &:focus, + &:active { + opacity: 1; + } + } + #external-share-menu-item { + form { + display: flex; + } + .hidden { + display: none; + } + #save-button-confirm { + flex-grow: 0; + } + } + } + } + + #content { + min-height: var(--body-height, calc(100% - var(--footer-height))); + padding-block-end: var(--footer-height); + } + + #app-content-vue { + padding-block-end: var(--footer-height); + } + + /** don't apply content header padding on the base layout */ + &.layout-base #content { + padding-top: 0; + } + + p.info { + margin: 20px auto; + text-shadow: 0 0 2px rgba(0, 0, 0, .4); + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + p.info, form fieldset legend, + #datadirContent label, + form fieldset .warning-info, + form input[type='checkbox']+label { + text-align: center; + } + + /* public footer */ + footer { + position: fixed; + bottom: var(--body-container-margin); + background-color: var(--color-main-background); + border-radius: var(--body-container-radius); + box-sizing: border-box; + + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + width: calc(100% - 2 * var(--body-container-margin)); + margin-inline: var(--body-container-margin); + padding-block: var(--default-grid-baseline); + + .footer__legal-links { + margin-block-end: var(--default-grid-baseline); + } + + p { + text-align: center; + color: var(--color-text-maxcontrast); + margin-block: 0 var(--default-grid-baseline); + width: 100%; + + a { + display: inline-block; + font-size: var(--default-font-size); + font-weight: bold; + line-height: var(--default-line-height); + height: var(--default-line-height); + color: var(--color-text-maxcontrast); + white-space: nowrap; + } + } + } +} diff --git a/core/css/publicshareauth.css b/core/css/publicshareauth.css new file mode 100644 index 00000000000..2bc4c592deb --- /dev/null +++ b/core/css/publicshareauth.css @@ -0,0 +1,40 @@ +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +form fieldset { + display: flex !important; + flex-direction: column; +} + +form fieldset > p { + position: relative; +} + +#email, +#password { + margin: 5px 0; + padding-right: 45px; + height: 45px; + box-sizing: border-box; + flex: 1 1 auto; + width: 100% !important; + min-width: 0; /* FF hack for to override default value */ +} + +#password-input-form input[type='submit'], +#email-input-form input[type='submit'], +#email-input-form input[type='submit'].icon-confirm, +#password-input-form input[type='submit'].icon-confirm { + position: absolute; + top: 0px; + right: -5px; + width: 45px !important; + height: 45px; + background-color: transparent !important; +} + +.warning > .warning { + /* Do not use a top margin for warning messages in the warning container. */ + margin-top: 0; +} diff --git a/core/css/server.css b/core/css/server.css new file mode 100644 index 00000000000..6abf729eb05 --- /dev/null +++ b/core/css/server.css @@ -0,0 +1,67 @@ +/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */@import'../../dist/icons.css';/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */:root{font-size:var(--default-font-size);line-height:var(--default-line-height)}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,hgroup,nav,section,main{margin:0;padding:0;border:0;font-weight:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;cursor:default;scrollbar-color:var(--color-scrollbar)}.js-focus-visible :focus:not(.focus-visible){outline:none}.content:not(#content-vue) :focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary-element);outline:none}html,body{height:100%;overscroll-behavior-y:contain}article,aside,dialog,figure,footer,header,hgroup,nav,section{display:block}table{border-collapse:separate;border-spacing:0;white-space:nowrap}caption,th,td{text-align:start;font-weight:normal}table,td,th{vertical-align:middle}a{border:0;color:var(--color-main-text);text-decoration:none;cursor:pointer}a *{cursor:pointer}a.external{margin:0 3px;text-decoration:underline}input{cursor:pointer}input *{cursor:pointer}select,.button span,label{cursor:pointer}ul{list-style:none}body{font-weight:normal;font-size:var(--default-font-size);line-height:var(--default-line-height);font-family:var(--font-face);color:var(--color-main-text)}.two-factor-header{text-align:center}.two-factor-provider{text-align:center;width:100% !important;display:inline-block;margin-bottom:0 !important;background-color:var(--color-background-darker) !important;border:none !important}.two-factor-link{display:inline-block;padding:12px;color:var(--color-text-lighter)}.float-spinner{height:32px;display:none}#nojavascript{position:fixed;top:0;bottom:0;inset-inline-start:0;height:100%;width:100%;z-index:9000;text-align:center;background-color:var(--color-background-darker);color:var(--color-primary-element-text);line-height:125%;font-size:24px}#nojavascript div{display:block;position:relative;width:50%;top:35%;margin:0px auto}#nojavascript a{color:var(--color-primary-element-text);border-bottom:2px dotted var(--color-main-background)}#nojavascript a:hover,#nojavascript a:focus{color:var(--color-primary-element-text-dark)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}::-webkit-scrollbar-track-piece{background-color:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:var(--border-radius-large);border:2px solid rgba(0,0,0,0);background-clip:content-box}::selection{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}#app-navigation *{box-sizing:border-box}#emptycontent,.emptycontent{color:var(--color-text-maxcontrast);text-align:center;margin-top:30vh;width:100%}#app-sidebar #emptycontent,#app-sidebar .emptycontent{margin-top:10vh}#emptycontent .emptycontent-search,.emptycontent .emptycontent-search{position:static}#emptycontent h2,.emptycontent h2{margin-bottom:10px}#emptycontent [class^=icon-],#emptycontent [class*=icon-],.emptycontent [class^=icon-],.emptycontent [class*=icon-]{background-size:64px;height:64px;width:64px;margin:0 auto 15px}#emptycontent [class^=icon-]:not([class^=icon-loading]),#emptycontent [class^=icon-]:not([class*=icon-loading]),#emptycontent [class*=icon-]:not([class^=icon-loading]),#emptycontent [class*=icon-]:not([class*=icon-loading]),.emptycontent [class^=icon-]:not([class^=icon-loading]),.emptycontent [class^=icon-]:not([class*=icon-loading]),.emptycontent [class*=icon-]:not([class^=icon-loading]),.emptycontent [class*=icon-]:not([class*=icon-loading]){opacity:.4}#datadirContent label{width:100%}.grouptop,.groupmiddle,.groupbottom{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#show,#dbpassword{position:absolute;inset-inline-end:1em;top:.8em;float:right}body[dir=rtl] #show,body[dir=rtl] #dbpassword{float:left}#show+label,#dbpassword+label{inset-inline-end:21px;top:15px !important;margin:-14px !important;padding:14px !important}#show:checked+label,#dbpassword:checked+label,#personal-show:checked+label{opacity:.8}#show:focus-visible+label,#dbpassword-toggle:focus-visible+label,#personal-show:focus-visible+label{box-shadow:var(--color-primary-element) 0 0 0 2px;opacity:1;border-radius:9999px}#show+label,#dbpassword+label,#personal-show+label{position:absolute !important;height:20px;width:24px;background-image:var(--icon-toggle-dark);background-repeat:no-repeat;background-position:center;opacity:.3}#show:focus+label,#dbpassword:focus+label,#personal-show:focus+label{opacity:1}#show+label:hover,#dbpassword+label:hover,#personal-show+label:hover{opacity:1}#show+label:before,#dbpassword+label:before,#personal-show+label:before{display:none}#pass2,input[name=personal-password-clone]{padding-inline-end:30px}.personal-show-container{position:relative;display:inline-block;margin-inline-end:6px}#personal-show+label{display:block;inset-inline-end:0;margin-top:-43px;margin-inline-end:-4px;padding:22px}#body-user .warning,#body-settings .warning{margin-top:8px;padding:5px;border-radius:var(--border-radius);color:var(--color-main-text);background-color:rgba(var(--color-warning-rgb), 0.2)}.warning legend,.warning a{font-weight:bold !important}.error:not(.toastify) a{color:#fff !important;font-weight:bold !important}.error:not(.toastify) a.button{color:var(--color-text-lighter) !important;display:inline-block;text-align:center}.error:not(.toastify) pre{white-space:pre-wrap;text-align:start}.error-wide{width:700px;margin-inline-start:-200px !important}.error-wide .button{color:#000 !important}.warning-input{border-color:var(--color-error) !important}.avatar,.avatardiv{border-radius:50%;flex-shrink:0}.avatar>img,.avatardiv>img{border-radius:50%;flex-shrink:0}td.avatar{border-radius:0}tr .action:not(.permanent),.selectedActions>a{opacity:0}tr .action{width:16px;height:16px}tr:hover .action:hover,tr:focus .action:focus{opacity:1}tr:hover .action:not(.menuitem),tr:focus .action:not(.menuitem),tr .action.permanent:not(.menuitem){opacity:.5}.selectedActions>a{opacity:.5;position:relative;top:2px}.selectedActions>a:hover,.selectedActions>a:focus{opacity:1}.selectedActions a:hover,.selectedActions a:focus{opacity:1}.header-action{opacity:.8}.header-action:hover,.header-action:focus{opacity:1}tbody tr:not(.group-header):hover,tbody tr:not(.group-header):focus,tbody tr:not(.group-header):active{background-color:var(--color-background-dark)}code{font-family:"Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono",monospace}.pager{list-style:none;float:right;display:inline;margin:.7em 13em 0 0}.pager li{display:inline-block}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{overflow:hidden;text-overflow:ellipsis}.ui-icon-circle-triangle-e{background-image:url("../img/actions/play-next.svg?v=1")}.ui-icon-circle-triangle-w{background-image:url("../img/actions/play-previous.svg?v=1")}.ui-widget.ui-datepicker{margin-top:10px;padding:4px 8px;width:auto;border-radius:var(--border-radius);border:none;z-index:1600 !important}.ui-widget.ui-datepicker .ui-state-default,.ui-widget.ui-datepicker .ui-widget-content .ui-state-default,.ui-widget.ui-datepicker .ui-widget-header .ui-state-default{border:1px solid rgba(0,0,0,0);background:inherit}.ui-widget.ui-datepicker .ui-widget-header{padding:7px;font-size:13px;border:none;background-color:var(--color-main-background);color:var(--color-main-text)}.ui-widget.ui-datepicker .ui-widget-header .ui-datepicker-title{line-height:1;font-weight:normal}.ui-widget.ui-datepicker .ui-widget-header .ui-icon{opacity:.5}.ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e,.ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background-position:center center;background-repeat:no-repeat}.ui-widget.ui-datepicker .ui-widget-header .ui-state-hover .ui-icon{opacity:1}.ui-widget.ui-datepicker .ui-datepicker-calendar th{font-weight:normal;color:var(--color-text-lighter);opacity:.8;width:26px;padding:2px}.ui-widget.ui-datepicker .ui-datepicker-calendar tr:hover{background-color:inherit}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a:not(.ui-state-hover){background-color:var(--color-background-darker)}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a.ui-state-active,.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-state-hover,.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-state-focus{background-color:var(--color-primary-element);color:var(--color-primary-element-text);font-weight:bold}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-week-end:not(.ui-state-disabled) :not(.ui-state-hover),.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-priority-secondary:not(.ui-state-hover){color:var(--color-text-lighter);opacity:.8}body[dir=ltr] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:url("../img/actions/arrow-right.svg")}body[dir=ltr] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:url("../img/actions/arrow-left.svg")}body[dir=rtl] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:url("../img/actions/arrow-left.svg")}body[dir=rtl] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:url("../img/actions/arrow-right.svg")}.ui-datepicker-prev,.ui-datepicker-next{border:var(--color-border-dark);background:var(--color-main-background)}.ui-widget.ui-timepicker{margin-top:10px !important;width:auto !important;border-radius:var(--border-radius);z-index:1600 !important}.ui-widget.ui-timepicker .ui-widget-content{border:none !important}.ui-widget.ui-timepicker .ui-state-default,.ui-widget.ui-timepicker .ui-widget-content .ui-state-default,.ui-widget.ui-timepicker .ui-widget-header .ui-state-default{border:1px solid rgba(0,0,0,0);background:inherit}.ui-widget.ui-timepicker .ui-widget-header{padding:7px;font-size:13px;border:none;background-color:var(--color-main-background);color:var(--color-main-text)}.ui-widget.ui-timepicker .ui-widget-header .ui-timepicker-title{line-height:1;font-weight:normal}.ui-widget.ui-timepicker table.ui-timepicker tr .ui-timepicker-hour-cell:first-child{margin-inline-start:30px}.ui-widget.ui-timepicker .ui-timepicker-table th{font-weight:normal;color:var(--color-text-lighter);opacity:.8}.ui-widget.ui-timepicker .ui-timepicker-table th.periods{padding:0;width:30px;line-height:30px}.ui-widget.ui-timepicker .ui-timepicker-table tr:hover{background-color:inherit}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-hour-cell a.ui-state-active,.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-minute-cell a.ui-state-active,.ui-widget.ui-timepicker .ui-timepicker-table td .ui-state-hover,.ui-widget.ui-timepicker .ui-timepicker-table td .ui-state-focus{background-color:var(--color-primary-element);color:var(--color-primary-element-text);font-weight:bold}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-minutes:not(.ui-state-hover){color:var(--color-text-lighter)}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-hours{border-inline-end:1px solid var(--color-border)}.ui-widget.ui-datepicker .ui-datepicker-calendar tr,.ui-widget.ui-timepicker table.ui-timepicker tr{display:flex;flex-wrap:nowrap;justify-content:space-between}.ui-widget.ui-datepicker .ui-datepicker-calendar tr td,.ui-widget.ui-timepicker table.ui-timepicker tr td{flex:1 1 auto;margin:0;padding:2px;height:26px;width:26px;display:flex;align-items:center;justify-content:center}.ui-widget.ui-datepicker .ui-datepicker-calendar tr td>*,.ui-widget.ui-timepicker table.ui-timepicker tr td>*{border-radius:50%;text-align:center;font-weight:normal;color:var(--color-main-text);display:block;line-height:18px;width:18px;height:18px;padding:3px;font-size:.9em}.ui-dialog{position:fixed !important}span.ui-icon{float:left;margin-block:3px 30px;margin-inline:0 7px}.extra-data{padding-inline-end:5px !important}#tagsdialog .content{width:100%;height:280px}#tagsdialog .scrollarea{overflow:auto;border:1px solid var(--color-background-darker);width:100%;height:240px}#tagsdialog .bottombuttons{width:100%;height:30px}#tagsdialog .bottombuttons *{float:left}#tagsdialog .taglist li{background:var(--color-background-dark);padding:.3em .8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transition:background-color 500ms;transition:background-color 500ms}#tagsdialog .taglist li:hover,#tagsdialog .taglist li:active{background:var(--color-background-darker)}#tagsdialog .addinput{width:90%;clear:both}.breadcrumb{display:inline-flex;height:50px}li.crumb{display:inline-flex;background-image:url("../img/breadcrumb.svg?v=1");background-repeat:no-repeat;background-position:right center;height:44px;background-size:auto 24px;flex:0 0 auto;order:1;padding-inline-end:7px}li.crumb.crumbmenu{order:2;position:relative}li.crumb.crumbmenu a{opacity:.5}li.crumb.crumbmenu.canDropChildren .popovermenu,li.crumb.crumbmenu.canDrop .popovermenu{display:block}li.crumb.crumbmenu .popovermenu{top:100%;margin-inline-end:3px}li.crumb.crumbmenu .popovermenu ul{max-height:345px;overflow-y:auto;overflow-x:hidden;padding-inline-end:5px}li.crumb.crumbmenu .popovermenu ul li.canDrop span:first-child{background-image:url("../img/filetypes/folder-drag-accept.svg?v=1") !important}li.crumb.crumbmenu .popovermenu .in-breadcrumb{display:none}li.crumb.hidden{display:none}li.crumb.hidden~.crumb{order:3}li.crumb>a,li.crumb>span{position:relative;padding:12px;opacity:.5;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;flex:0 0 auto;max-width:200px}li.crumb>a.icon-home,li.crumb>a.icon-delete,li.crumb>span.icon-home,li.crumb>span.icon-delete{text-indent:-9999px}li.crumb>a[class^=icon-]{padding:0;width:44px}li.crumb:last-child{font-weight:bold;margin-inline-end:10px}li.crumb:last-child a~span{padding-inline-start:0}li.crumb:hover,li.crumb:focus,li.crumb a:focus,li.crumb:active{opacity:1}li.crumb:hover>a,li.crumb:hover>span,li.crumb:focus>a,li.crumb:focus>span,li.crumb a:focus>a,li.crumb a:focus>span,li.crumb:active>a,li.crumb:active>span{opacity:.7}.appear{opacity:1;-webkit-transition:opacity 500ms ease 0s;-moz-transition:opacity 500ms ease 0s;-ms-transition:opacity 500ms ease 0s;-o-transition:opacity 500ms ease 0s;transition:opacity 500ms ease 0s}.appear.transparent{opacity:0}fieldset.warning legend,fieldset.update legend{top:18px;position:relative}fieldset.warning legend+p,fieldset.update legend+p{margin-top:12px}@-ms-viewport{width:device-width}.hiddenuploadfield{display:none;width:0;height:0;opacity:0}/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */input,textarea,select,button,div[contenteditable=true],div[contenteditable=false]{font-family:var(--font-face)}.select2-container-multi .select2-choices .select2-search-field input,.select2-search input,.ui-widget{font-family:var(--font-face) !important}.select2-container.select2-drop-above .select2-choice{background-image:unset !important}select,button:not(.button-vue,[class^=vs__]),input,textarea,div[contenteditable=true],div[contenteditable=false]{width:130px;min-height:var(--default-clickable-area);box-sizing:border-box}button:not(.button-vue):disabled,input:not([type=range]):disabled,textarea:disabled{cursor:default;color:var(--color-text-maxcontrast);border-color:var(--color-border-dark);opacity:.7}input:not([type=range]){outline:none}div.select2-drop .select2-search input,input[type=submit],input[type=button],input[type=reset],button:not(.button-vue,[class^=vs__]),.button,.pager li a{padding:7px 14px;background-color:var(--color-main-background);color:var(--color-main-text);border:1px solid var(--color-border-dark);font-size:var(--default-font-size);outline:none;border-radius:var(--border-radius);cursor:text}div.select2-drop .select2-search input:not(.app-navigation-entry-button),input[type=submit]:not(.app-navigation-entry-button),input[type=button]:not(.app-navigation-entry-button),input[type=reset]:not(.app-navigation-entry-button),button:not(.button-vue,[class^=vs__]):not(.app-navigation-entry-button),.button:not(.app-navigation-entry-button),.pager li a:not(.app-navigation-entry-button){margin:3px;margin-inline-start:0}div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):hover,div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):focus,div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button).active,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):hover,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):focus,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button).active,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):hover,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):focus,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button).active,.button:not(:disabled,.primary):not(.app-navigation-entry-button):hover,.button:not(:disabled,.primary):not(.app-navigation-entry-button):focus,.button:not(:disabled,.primary):not(.app-navigation-entry-button).active,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):hover,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):focus,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button).active{border-color:var(--color-main-text);outline:none}div.select2-drop .select2-search input:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=submit]:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=button]:not(:disabled,.primary):not(.app-navigation-entry-button):active,input[type=reset]:not(:disabled,.primary):not(.app-navigation-entry-button):active,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):not(.app-navigation-entry-button):active,.button:not(:disabled,.primary):not(.app-navigation-entry-button):active,.pager li a:not(:disabled,.primary):not(.app-navigation-entry-button):active{outline:none;background-color:var(--color-main-background);color:var(--color-main-text)}div.select2-drop .select2-search input:not(:disabled,.primary):focus-visible,input[type=submit]:not(:disabled,.primary):focus-visible,input[type=button]:not(:disabled,.primary):focus-visible,input[type=reset]:not(:disabled,.primary):focus-visible,button:not(.button-vue,[class^=vs__]):not(:disabled,.primary):focus-visible,.button:not(:disabled,.primary):focus-visible,.pager li a:not(:disabled,.primary):focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}div.select2-drop .select2-search input:disabled,input[type=submit]:disabled,input[type=button]:disabled,input[type=reset]:disabled,button:not(.button-vue,[class^=vs__]):disabled,.button:disabled,.pager li a:disabled{background-color:var(--color-background-dark);color:var(--color-main-text);cursor:default;opacity:.5}div.select2-drop .select2-search input:required,input[type=submit]:required,input[type=button]:required,input[type=reset]:required,button:not(.button-vue,[class^=vs__]):required,.button:required,.pager li a:required{box-shadow:none}div.select2-drop .select2-search input:user-invalid,input[type=submit]:user-invalid,input[type=button]:user-invalid,input[type=reset]:user-invalid,button:not(.button-vue,[class^=vs__]):user-invalid,.button:user-invalid,.pager li a:user-invalid{box-shadow:0 0 0 2px var(--color-error) !important}div.select2-drop .select2-search input.primary,input[type=submit].primary,input[type=button].primary,input[type=reset].primary,button:not(.button-vue,[class^=vs__]).primary,.button.primary,.pager li a.primary{background-color:var(--color-primary-element);border-color:var(--color-primary-element);color:var(--color-primary-element-text);cursor:pointer}#body-login :not(.body-login-container) div.select2-drop .select2-search input.primary,#header div.select2-drop .select2-search input.primary,#body-login :not(.body-login-container) input[type=submit].primary,#header input[type=submit].primary,#body-login :not(.body-login-container) input[type=button].primary,#header input[type=button].primary,#body-login :not(.body-login-container) input[type=reset].primary,#header input[type=reset].primary,#body-login :not(.body-login-container) button:not(.button-vue,[class^=vs__]).primary,#header button:not(.button-vue,[class^=vs__]).primary,#body-login :not(.body-login-container) .button.primary,#header .button.primary,#body-login :not(.body-login-container) .pager li a.primary,#header .pager li a.primary{border-color:var(--color-primary-element-text)}div.select2-drop .select2-search input.primary:not(:disabled):hover,div.select2-drop .select2-search input.primary:not(:disabled):focus,div.select2-drop .select2-search input.primary:not(:disabled):active,input[type=submit].primary:not(:disabled):hover,input[type=submit].primary:not(:disabled):focus,input[type=submit].primary:not(:disabled):active,input[type=button].primary:not(:disabled):hover,input[type=button].primary:not(:disabled):focus,input[type=button].primary:not(:disabled):active,input[type=reset].primary:not(:disabled):hover,input[type=reset].primary:not(:disabled):focus,input[type=reset].primary:not(:disabled):active,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):hover,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):active,.button.primary:not(:disabled):hover,.button.primary:not(:disabled):focus,.button.primary:not(:disabled):active,.pager li a.primary:not(:disabled):hover,.pager li a.primary:not(:disabled):focus,.pager li a.primary:not(:disabled):active{background-color:var(--color-primary-element-hover);border-color:var(--color-primary-element-hover)}div.select2-drop .select2-search input.primary:not(:disabled):focus,div.select2-drop .select2-search input.primary:not(:disabled):focus-visible,input[type=submit].primary:not(:disabled):focus,input[type=submit].primary:not(:disabled):focus-visible,input[type=button].primary:not(:disabled):focus,input[type=button].primary:not(:disabled):focus-visible,input[type=reset].primary:not(:disabled):focus,input[type=reset].primary:not(:disabled):focus-visible,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):focus-visible,.button.primary:not(:disabled):focus,.button.primary:not(:disabled):focus-visible,.pager li a.primary:not(:disabled):focus,.pager li a.primary:not(:disabled):focus-visible{box-shadow:0 0 0 2px var(--color-main-text)}div.select2-drop .select2-search input.primary:not(:disabled):active,input[type=submit].primary:not(:disabled):active,input[type=button].primary:not(:disabled):active,input[type=reset].primary:not(:disabled):active,button:not(.button-vue,[class^=vs__]).primary:not(:disabled):active,.button.primary:not(:disabled):active,.pager li a.primary:not(:disabled):active{color:var(--color-primary-element-text-dark)}div.select2-drop .select2-search input.primary:disabled,input[type=submit].primary:disabled,input[type=button].primary:disabled,input[type=reset].primary:disabled,button:not(.button-vue,[class^=vs__]).primary:disabled,.button.primary:disabled,.pager li a.primary:disabled{background-color:var(--color-primary-element);color:var(--color-primary-element-text-dark);cursor:default}div[contenteditable=false]{margin:3px;margin-inline-start:0;padding:7px 6px;font-size:13px;border:1px solid var(--color-background-darker);outline:none;border-radius:var(--border-radius);background-color:var(--color-background-dark);color:var(--color-text-maxcontrast);cursor:default;opacity:.5}input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=color]):not([type=file]):not([type=image]){-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;height:var(--default-clickable-area)}input[type=radio],input[type=checkbox],input[type=file],input[type=image]{height:auto;width:auto}input[type=color]{margin:3px;padding:0 2px;min-height:30px;width:40px;cursor:pointer}input[type=hidden]{height:0;width:0}input[type=time]{width:initial}select,button:not(.button-vue,[class^=vs__]),.button,input[type=button],input[type=submit],input[type=reset]{padding:calc((var(--default-clickable-area) - 1lh)/2) calc(3*var(--default-grid-baseline));font-size:var(--default-font-size);width:auto;min-height:var(--default-clickable-area);cursor:pointer;box-sizing:border-box;color:var(--color-primary-element-light-text);background-color:var(--color-primary-element-light);border:none}select:hover,select:focus,button:not(.button-vue,[class^=vs__]):hover,button:not(.button-vue,[class^=vs__]):focus,.button:hover,.button:focus,input[type=button]:hover,input[type=button]:focus,input[type=submit]:hover,input[type=submit]:focus,input[type=reset]:hover,input[type=reset]:focus{background-color:var(--color-primary-element-light-hover)}select:disabled,button:not(.button-vue,[class^=vs__]):disabled,.button:disabled,input[type=button]:disabled,input[type=submit]:disabled,input[type=reset]:disabled{cursor:default}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]),select,div[contenteditable=true],textarea{margin:3px;margin-inline-start:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-maxcontrast);height:36px;outline:none;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):hover,input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):focus,input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):active,select:not(:disabled):hover,select:not(:disabled):focus,select:not(:disabled):active,div[contenteditable=true]:not(:disabled):hover,div[contenteditable=true]:not(:disabled):focus,div[contenteditable=true]:not(:disabled):active,textarea:not(:disabled):hover,textarea:not(:disabled):focus,textarea:not(:disabled):active{border-color:2px solid var(--color-main-text);box-shadow:0 0 0 2px var(--color-main-background)}input:not([type=range],.input-field__input,[type=submit],[type=button],[type=reset],.multiselect__input,.select2-input,.action-input__input,[class^=vs__]):not(:disabled):focus,select:not(:disabled):focus,div[contenteditable=true]:not(:disabled):focus,textarea:not(:disabled):focus{cursor:text}.multiselect__input,.select2-input{background-color:var(--color-main-background);color:var(--color-main-text)}textarea,div[contenteditable=true]{padding:12px;height:auto}select{background:var(--icon-triangle-s-dark) no-repeat;appearance:none;background-color:var(--color-main-background);padding-inline-end:28px !important}body[dir=ltr] select{background-position:right 8px center}body[dir=rtl] select{background-position:left 8px center}select *,button:not(.button-vue,[class^=vs__]) *,.button *{cursor:pointer}select:disabled *,button:not(.button-vue,[class^=vs__]):disabled *,.button:disabled *{cursor:default}button:not(.button-vue,[class^=vs__]),.button,input[type=button],input[type=submit],input[type=reset]{font-weight:bold;border-radius:var(--border-radius-element)}button:not(.button-vue,[class^=vs__])::-moz-focus-inner,.button::-moz-focus-inner,input[type=button]::-moz-focus-inner,input[type=submit]::-moz-focus-inner,input[type=reset]::-moz-focus-inner{border:0}button:not(.button-vue,[class^=vs__]).error,.button.error,input[type=button].error,input[type=submit].error,input[type=reset].error{background-color:var(--color-error) !important;border-color:var(--color-error) !important;color:#fff !important}button:not(.button-vue,[class^=vs__]).error:hover,.button.error:hover,input[type=button].error:hover,input[type=submit].error:hover,input[type=reset].error:hover{background-color:var(--color-error-hover) !important;border-color:var(--color-main-text) !important}button:not(.button-vue,.action-button,[class^=vs__])>span[class^=icon-],button:not(.button-vue,.action-button,[class^=vs__])>span[class*=" icon-"],.button>span[class^=icon-],.button>span[class*=" icon-"]{display:inline-block;vertical-align:text-bottom;opacity:.5}input[type=text]+.icon-confirm,input[type=password]+.icon-confirm,input[type=email]+.icon-confirm{margin-inline-start:-13px !important;border-inline-start-color:rgba(0,0,0,0) !important;border-radius:0 var(--border-radius-large) var(--border-radius-large) 0 !important;border-width:2px;background-clip:padding-box;background-color:var(--color-main-background) !important;opacity:1;height:var(--default-clickable-area);width:var(--default-clickable-area);padding:7px 6px;cursor:pointer;margin-inline-end:0}input[type=text]+.icon-confirm:disabled,input[type=password]+.icon-confirm:disabled,input[type=email]+.icon-confirm:disabled{cursor:default;background-image:var(--icon-confirm-fade-dark)}input[type=text]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm,input[type=password]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm,input[type=email]:not(:active):not(:hover):not(:focus):invalid+.icon-confirm{border-color:var(--color-error)}input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:active,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus{border-color:var(--color-primary-element) !important;border-radius:var(--border-radius) !important}input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=text]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=password]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:active:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:hover:disabled,input[type=email]:not(:active):not(:hover):not(:focus)+.icon-confirm:focus:disabled{border-color:var(--color-background-darker) !important}input[type=text]:active+.icon-confirm,input[type=text]:hover+.icon-confirm,input[type=text]:focus+.icon-confirm,input[type=password]:active+.icon-confirm,input[type=password]:hover+.icon-confirm,input[type=password]:focus+.icon-confirm,input[type=email]:active+.icon-confirm,input[type=email]:hover+.icon-confirm,input[type=email]:focus+.icon-confirm{border-color:var(--color-primary-element) !important;border-inline-start-color:rgba(0,0,0,0) !important;z-index:2}button img,.button img{cursor:pointer}select,.button.multiselect{font-weight:normal}input[type=checkbox].radio,input[type=checkbox].checkbox,input[type=radio].radio,input[type=radio].checkbox{position:absolute;inset-inline-start:-10000px;top:auto;width:1px;height:1px;overflow:hidden}input[type=checkbox].radio+label,input[type=checkbox].checkbox+label,input[type=radio].radio+label,input[type=radio].checkbox+label{user-select:none}input[type=checkbox].radio:disabled+label,input[type=checkbox].radio:disabled+label:before,input[type=checkbox].checkbox:disabled+label,input[type=checkbox].checkbox:disabled+label:before,input[type=radio].radio:disabled+label,input[type=radio].radio:disabled+label:before,input[type=radio].checkbox:disabled+label,input[type=radio].checkbox:disabled+label:before{cursor:default}input[type=checkbox].radio+label:before,input[type=checkbox].checkbox+label:before,input[type=radio].radio+label:before,input[type=radio].checkbox+label:before{content:"";display:inline-block;height:14px;width:14px;vertical-align:middle;border-radius:50%;margin:0 3px;margin-inline:3px 6px;border:1px solid var(--color-text-maxcontrast)}input[type=checkbox].radio:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].radio:focus+label:before,input[type=checkbox].checkbox:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].checkbox:focus+label:before,input[type=radio].radio:not(:disabled):not(:checked)+label:hover:before,input[type=radio].radio:focus+label:before,input[type=radio].checkbox:not(:disabled):not(:checked)+label:hover:before,input[type=radio].checkbox:focus+label:before{border-color:var(--color-primary-element)}input[type=checkbox].radio:focus-visible+label,input[type=checkbox].checkbox:focus-visible+label,input[type=radio].radio:focus-visible+label,input[type=radio].checkbox:focus-visible+label{outline-style:solid;outline-color:var(--color-main-text);outline-width:1px;outline-offset:2px}input[type=checkbox].radio:checked+label:before,input[type=checkbox].radio.checkbox:indeterminate+label:before,input[type=checkbox].checkbox:checked+label:before,input[type=checkbox].checkbox.checkbox:indeterminate+label:before,input[type=radio].radio:checked+label:before,input[type=radio].radio.checkbox:indeterminate+label:before,input[type=radio].checkbox:checked+label:before,input[type=radio].checkbox.checkbox:indeterminate+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);background-color:var(--color-primary-element);border-color:var(--color-primary-element)}input[type=checkbox].radio:disabled+label:before,input[type=checkbox].checkbox:disabled+label:before,input[type=radio].radio:disabled+label:before,input[type=radio].checkbox:disabled+label:before{border:1px solid var(--color-text-maxcontrast);background-color:var(--color-text-maxcontrast) !important}input[type=checkbox].radio:checked:disabled+label:before,input[type=checkbox].checkbox:checked:disabled+label:before,input[type=radio].radio:checked:disabled+label:before,input[type=radio].checkbox:checked:disabled+label:before{background-color:var(--color-text-maxcontrast)}input[type=checkbox].radio+label~em,input[type=checkbox].checkbox+label~em,input[type=radio].radio+label~em,input[type=radio].checkbox+label~em{display:inline-block;margin-inline-start:25px}input[type=checkbox].radio+label~em:last-of-type,input[type=checkbox].checkbox+label~em:last-of-type,input[type=radio].radio+label~em:last-of-type,input[type=radio].checkbox+label~em:last-of-type{margin-bottom:14px}input[type=checkbox].checkbox+label:before,input[type=radio].checkbox+label:before{border-radius:1px;height:14px;width:14px;box-shadow:none !important;background-position:center}input[type=checkbox].checkbox:checked+label:before,input[type=radio].checkbox:checked+label:before{background-image:url("../img/actions/checkbox-mark.svg")}input[type=checkbox].checkbox:indeterminate+label:before,input[type=radio].checkbox:indeterminate+label:before{background-image:url("../img/actions/checkbox-mixed.svg")}input[type=checkbox].radio--white+label:before,input[type=checkbox].radio--white:focus+label:before,input[type=checkbox].checkbox--white+label:before,input[type=checkbox].checkbox--white:focus+label:before,input[type=radio].radio--white+label:before,input[type=radio].radio--white:focus+label:before,input[type=radio].checkbox--white+label:before,input[type=radio].checkbox--white:focus+label:before{border-color:hsl(0,0%,73%)}input[type=checkbox].radio--white:not(:disabled):not(:checked)+label:hover:before,input[type=checkbox].checkbox--white:not(:disabled):not(:checked)+label:hover:before,input[type=radio].radio--white:not(:disabled):not(:checked)+label:hover:before,input[type=radio].checkbox--white:not(:disabled):not(:checked)+label:hover:before{border-color:#fff}input[type=checkbox].radio--white:checked+label:before,input[type=checkbox].checkbox--white:checked+label:before,input[type=radio].radio--white:checked+label:before,input[type=radio].checkbox--white:checked+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);background-color:hsl(0,0%,86%);border-color:hsl(0,0%,86%)}input[type=checkbox].radio--white:disabled+label:before,input[type=checkbox].checkbox--white:disabled+label:before,input[type=radio].radio--white:disabled+label:before,input[type=radio].checkbox--white:disabled+label:before{background-color:hsl(0,0%,73%) !important;border-color:hsla(0,0%,100%,.4) !important}input[type=checkbox].radio--white:checked:disabled+label:before,input[type=checkbox].checkbox--white:checked:disabled+label:before,input[type=radio].radio--white:checked:disabled+label:before,input[type=radio].checkbox--white:checked:disabled+label:before{box-shadow:inset 0px 0px 0px 2px var(--color-main-background);border-color:hsla(0,0%,100%,.4) !important;background-color:hsl(0,0%,73%)}input[type=checkbox].checkbox--white:checked+label:before,input[type=checkbox].checkbox--white:indeterminate+label:before,input[type=radio].checkbox--white:checked+label:before,input[type=radio].checkbox--white:indeterminate+label:before{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;background-image:url("../img/actions/checkbox-mark-white.svg")}input[type=checkbox].checkbox--white:indeterminate+label:before,input[type=radio].checkbox--white:indeterminate+label:before{background-image:url("../img/actions/checkbox-mixed-white.svg")}input[type=checkbox].checkbox--white:disabled+label:before,input[type=radio].checkbox--white:disabled+label:before{opacity:.7}div.select2-drop{margin-top:-2px;background-color:var(--color-main-background)}div.select2-drop.select2-drop-active{border-color:var(--color-border-dark)}div.select2-drop .avatar{display:inline-block;margin-inline-end:8px;vertical-align:middle}div.select2-drop .avatar img{cursor:pointer}div.select2-drop .select2-search input{min-height:auto;background:var(--icon-search-dark) no-repeat !important;background-origin:content-box !important}div.select2-drop .select2-results{max-height:250px;margin:0;padding:0}div.select2-drop .select2-results .select2-result-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.select2-drop .select2-results .select2-result-label span{cursor:pointer}div.select2-drop .select2-results .select2-result-label span em{cursor:inherit;background:unset}div.select2-drop .select2-results .select2-result,div.select2-drop .select2-results .select2-no-results,div.select2-drop .select2-results .select2-searching{position:relative;display:list-item;padding:12px;background-color:rgba(0,0,0,0);cursor:pointer;color:var(--color-text-maxcontrast)}div.select2-drop .select2-results .select2-result.select2-selected{background-color:var(--color-background-dark)}div.select2-drop .select2-results .select2-highlighted{background-color:var(--color-background-dark);color:var(--color-main-text)}body[dir=ltr] div.select2-drop .select2-search input{background-position:right center !important}body[dir=rtl] div.select2-drop .select2-search input{background-position:left center !important}.select2-chosen .avatar,.select2-chosen .avatar img,#select2-drop .avatar,#select2-drop .avatar img{cursor:pointer}div.select2-container-multi .select2-choices,div.select2-container-multi.select2-container-active .select2-choices{box-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:var(--color-main-background);color:var(--color-text-maxcontrast) !important;box-sizing:content-box;border-radius:var(--border-radius-large);border:2px solid var(--color-border-dark);margin:0;padding:6px;min-height:44px}div.select2-container-multi .select2-choices:focus-within,div.select2-container-multi.select2-container-active .select2-choices:focus-within{border-color:var(--color-primary-element)}div.select2-container-multi .select2-choices .select2-search-choice,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice{line-height:20px;padding-inline-start:5px}div.select2-container-multi .select2-choices .select2-search-choice.select2-search-choice-focus,div.select2-container-multi .select2-choices .select2-search-choice:hover,div.select2-container-multi .select2-choices .select2-search-choice:active,div.select2-container-multi .select2-choices .select2-search-choice,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice.select2-search-choice-focus,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice:hover,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice:active,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice{background-image:none;background-color:var(--color-main-background);color:var(--color-text-maxcontrast);border:1px solid var(--color-border-dark)}div.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close,div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice .select2-search-choice-close{display:none}div.select2-container-multi .select2-choices .select2-search-field input,div.select2-container-multi.select2-container-active .select2-choices .select2-search-field input{line-height:20px;min-height:28px;max-height:28px;color:var(--color-main-text)}div.select2-container-multi .select2-choices .select2-search-field input.select2-active,div.select2-container-multi.select2-container-active .select2-choices .select2-search-field input.select2-active{background:none !important}div.select2-container{margin:3px;margin-inline-start:0}div.select2-container.select2-container-multi .select2-choices{display:flex;flex-wrap:wrap}div.select2-container.select2-container-multi .select2-choices li{float:none}div.select2-container a.select2-choice{box-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:var(--color-main-background);color:var(--color-text-maxcontrast) !important;box-sizing:content-box;border-radius:var(--border-radius-large);border:2px solid var(--color-border-dark);margin:0;padding:6px 12px;min-height:44px}div.select2-container a.select2-choice:focus-within{border-color:var(--color-primary-element)}div.select2-container a.select2-choice .select2-search-choice{line-height:20px;padding-inline-start:5px;background-image:none;background-color:var(--color-background-dark);border-color:var(--color-background-dark)}div.select2-container a.select2-choice .select2-search-choice .select2-search-choice-close{display:none}div.select2-container a.select2-choice .select2-search-choice.select2-search-choice-focus,div.select2-container a.select2-choice .select2-search-choice:hover{background-color:var(--color-border);border-color:var(--color-border)}div.select2-container a.select2-choice .select2-arrow{background:none;border-radius:0;border:none}div.select2-container a.select2-choice .select2-arrow b{background:var(--icon-triangle-s-dark) no-repeat center !important;opacity:.5}div.select2-container a.select2-choice:hover .select2-arrow b,div.select2-container a.select2-choice:focus .select2-arrow b,div.select2-container a.select2-choice:active .select2-arrow b{opacity:.7}div.select2-container a.select2-choice .select2-search-field input{line-height:20px}.v-select{margin:3px;margin-inline-start:0;display:inline-block}.v-select .dropdown-toggle{display:flex !important;flex-wrap:wrap}.v-select .dropdown-toggle .selected-tag{line-height:20px;padding-inline-start:5px;background-image:none;background-color:var(--color-main-background);color:var(--color-text-maxcontrast);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center}.v-select .dropdown-toggle .selected-tag .close{margin-inline-start:3px}.v-select .dropdown-menu{padding:0}.v-select .dropdown-menu li{padding:5px;position:relative;display:list-item;background-color:rgba(0,0,0,0);cursor:pointer;color:var(--color-text-maxcontrast)}.v-select .dropdown-menu li a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:25px;padding-block:3px 4px;padding-inline:2px 7px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:rgba(0,0,0,0) !important;color:inherit !important}.v-select .dropdown-menu li a::before{content:" ";background-image:var(--icon-checkmark-dark);background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-inline-end:5px;visibility:hidden}.v-select .dropdown-menu li.highlight{color:var(--color-main-text)}.v-select .dropdown-menu li.active>a{background-color:var(--color-background-dark);color:var(--color-main-text)}.v-select .dropdown-menu li.active>a::before{visibility:visible}progress:not(.vue){display:block;width:100%;padding:0;border:0 none;background-color:var(--color-background-dark);border-radius:var(--border-radius);flex-basis:100%;height:5px;overflow:hidden}progress:not(.vue).warn::-moz-progress-bar{background:var(--color-error)}progress:not(.vue).warn::-webkit-progress-value{background:var(--color-error)}progress:not(.vue)::-webkit-progress-bar{background:rgba(0,0,0,0)}progress:not(.vue)::-moz-progress-bar{border-radius:var(--border-radius);background:var(--color-primary-element);transition:250ms all ease-in-out}progress:not(.vue)::-webkit-progress-value{border-radius:var(--border-radius);background:var(--color-primary-element);transition:250ms all ease-in-out}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.shake{animation-name:shake;animation-duration:.7s;animation-timing-function:ease-out}label.infield{position:absolute;inset-inline-start:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}::placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}::-ms-input-placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}::-webkit-input-placeholder{color:var(--color-text-maxcontrast);font-size:var(--default-font-size)}/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */#skip-actions{position:absolute;overflow:hidden;z-index:9999;top:-999px;inset-inline-start:3px;padding:11px;display:flex;flex-wrap:wrap;gap:11px}#skip-actions:focus-within{top:var(--header-height)}#header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#header:not(.header-guest){display:inline-flex;position:absolute;top:0;width:100%;z-index:2000;height:var(--header-height);box-sizing:border-box;justify-content:space-between}#header #nextcloud{padding:5px 0;padding-inline-start:86px;position:relative;height:calc(100% - var(--default-grid-baseline));box-sizing:border-box;opacity:1;align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;margin:2px}#header #nextcloud:hover,#header #nextcloud:active{opacity:1}#header #nextcloud .logo{display:inline-flex;background-image:var(--image-logoheader, var(--image-logo, url("../img/logo/logo.svg")));background-repeat:no-repeat;background-size:contain;background-position:center;width:62px;position:absolute;inset-inline-start:12px;top:1px;bottom:1px;filter:var(--image-logoheader-custom, var(--background-image-invert-if-bright))}#header #nextcloud:focus-visible,#header .app-menu-entry a:focus-visible,#header .header-menu button:first-of-type:focus-visible{outline:none}#header #nextcloud:focus-visible::after,#header .app-menu-entry a:focus-visible::after,#header .header-menu button:first-of-type:focus-visible::after{content:" ";position:absolute;inset-block-end:2px;transform:translateX(-50%);width:12px;height:2px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;opacity:1}#header .header-start{display:inline-flex;align-items:center;flex:1 0;white-space:nowrap;min-width:0}#header .header-end{display:inline-flex;align-items:center;justify-content:flex-end;flex-shrink:1;margin-inline-end:calc(3*var(--default-grid-baseline))}#header .header-end>div,#header .header-end>form{height:100%;position:relative}#header .header-end>div>.menutoggle,#header .header-end>form>.menutoggle{display:flex;justify-content:center;align-items:center;width:var(--header-height);height:var(--header-menu-item-height);cursor:pointer;opacity:.85;padding:0;margin:2px 0}#header .header-end>div>.menutoggle:focus,#header .header-end>form>.menutoggle:focus{opacity:1}#header .header-end>div>.menutoggle:focus-visible,#header .header-end>form>.menutoggle:focus-visible{outline:none}#header .header-end>div>.menu,#header .header-end>form>.menu{background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));border-radius:var(--border-radius-large);box-sizing:border-box;z-index:2000;position:absolute;max-width:350px;min-height:calc(var(--default-clickable-area)*1.5);max-height:calc(100vh - var(--header-height) - 2*var(--default-grid-baseline));inset-inline-end:8px;top:var(--header-height);margin:0;overflow-y:auto}#header .header-end>div>.menu:not(.popovermenu),#header .header-end>form>.menu:not(.popovermenu){display:none}#header .header-end>div>.menu:after,#header .header-end>form>.menu:after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:100%;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:10px}#header .header-end>div>.menu>div,#header .header-end>div>.menu>ul,#header .header-end>form>.menu>div,#header .header-end>form>.menu>ul{-webkit-overflow-scrolling:touch;min-height:calc(var(--default-clickable-area)*1.5);max-height:calc(100vh - var(--header-height) - 2*var(--default-grid-baseline))}#header .header-end>div .emptycontent h2,#header .header-end>form .emptycontent h2{font-weight:normal;font-size:16px}#header .header-end>div .emptycontent [class^=icon-],#header .header-end>div .emptycontent [class*=icon-],#header .header-end>form .emptycontent [class^=icon-],#header .header-end>form .emptycontent [class*=icon-]{background-size:48px;height:48px;width:48px}#header .header-appname{color:var(--color-background-plain-text);font-size:16px;font-weight:bold;margin:0;padding:0;padding-inline-end:5px;overflow:hidden;text-overflow:ellipsis;flex:1 1 100%}#header .header-appname .header-info{display:flex;flex-direction:column;overflow:hidden}#header .header-appname .header-info .header-title{overflow:hidden;text-overflow:ellipsis}#header .header-appname .header-info .header-shared-by{color:var(--color-background-plain-text);position:relative;font-weight:300;font-size:var(--font-size-small);line-height:var(--font-size-small);overflow:hidden;text-overflow:ellipsis}@media(display-mode: standalone)or (display-mode: minimal-ui){#header:not(.header-guest){display:none !important}#content,#content-vue{margin-top:var(--body-container-margin)}:root{--body-height: calc(100% - env(safe-area-inset-bottom) - var(--body-container-margin) * 2) !important}}/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */[class^=icon-],[class*=" icon-"]{background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px}.icon-breadcrumb{background-image:url("../img/breadcrumb.svg?v=1")}.loading,.loading-small,.icon-loading,.icon-loading-dark,.icon-loading-small,.icon-loading-small-dark{position:relative}.loading:after,.loading-small:after,.icon-loading:after,.icon-loading-dark:after,.icon-loading-small:after,.icon-loading-small-dark:after{z-index:2;content:"";height:28px;width:28px;margin:-16px 0 0 -16px;position:absolute;top:50%;inset-inline-start:50%;border-radius:100%;-webkit-animation:rotate .8s infinite linear;animation:rotate .8s infinite linear;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;border:2px solid var(--color-loading-light);border-top-color:var(--color-loading-dark);filter:var(--background-invert-if-dark)}.primary .loading:after,.primary+.loading:after,.primary .loading-small:after,.primary+.loading-small:after,.primary .icon-loading:after,.primary+.icon-loading:after,.primary .icon-loading-dark:after,.primary+.icon-loading-dark:after,.primary .icon-loading-small:after,.primary+.icon-loading-small:after,.primary .icon-loading-small-dark:after,.primary+.icon-loading-small-dark:after{filter:var(--primary-invert-if-bright)}.icon-loading-dark:after,.icon-loading-small-dark:after{border:2px solid var(--color-loading-dark);border-top-color:var(--color-loading-light)}.icon-loading-small:after,.icon-loading-small-dark:after{height:12px;width:12px;margin:-8px 0 0 -8px}audio.icon-loading,canvas.icon-loading,embed.icon-loading,iframe.icon-loading,img.icon-loading,input.icon-loading,object.icon-loading,video.icon-loading{background-image:url("../img/loading.gif")}audio.icon-loading-dark,canvas.icon-loading-dark,embed.icon-loading-dark,iframe.icon-loading-dark,img.icon-loading-dark,input.icon-loading-dark,object.icon-loading-dark,video.icon-loading-dark{background-image:url("../img/loading-dark.gif")}audio.icon-loading-small,canvas.icon-loading-small,embed.icon-loading-small,iframe.icon-loading-small,img.icon-loading-small,input.icon-loading-small,object.icon-loading-small,video.icon-loading-small{background-image:url("../img/loading-small.gif")}audio.icon-loading-small-dark,canvas.icon-loading-small-dark,embed.icon-loading-small-dark,iframe.icon-loading-small-dark,img.icon-loading-small-dark,input.icon-loading-small-dark,object.icon-loading-small-dark,video.icon-loading-small-dark{background-image:url("../img/loading-small-dark.gif")}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon-32{background-size:32px !important}.icon-white.icon-shadow,.icon-audio-white,.icon-audio-off-white,.icon-fullscreen-white,.icon-screen-white,.icon-screen-off-white,.icon-video-white,.icon-video-off-white{filter:drop-shadow(1px 1px 4px var(--color-box-shadow))}/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */@media screen and (max-width: 1024px){:root{--body-container-margin: 0px !important;--body-container-radius: 0px !important}}html{width:100%;height:100%;position:absolute;background-color:var(--color-background-plain, var(--color-main-background))}body{background-color:var(--color-background-plain, var(--color-main-background));background-image:var(--image-background);background-size:cover;background-position:center;position:fixed;width:100%;height:calc(100vh - env(safe-area-inset-bottom))}h2,h3,h4,h5,h6{font-weight:600;line-height:1.5;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}h2{font-size:1.8em}h3{font-size:1.6em}h4{font-size:1.4em}h5{font-size:1.25em}h6{font-size:1.1em}em{font-style:normal;color:var(--color-text-maxcontrast)}dl{padding:12px 0}dt,dd{display:inline-block;padding:12px;padding-inline-start:0}dt{width:130px;white-space:nowrap;text-align:end}kbd{padding:4px 10px;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:var(--border-radius);display:inline-block;white-space:nowrap}#content[class*=app-] *{box-sizing:border-box}#app-navigation:not(.vue){--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));width:300px;z-index:500;overflow-y:auto;overflow-x:hidden;background-color:var(--color-main-background-blur);backdrop-filter:var(--filter-background-blur);-webkit-backdrop-filter:var(--filter-background-blur);-webkit-user-select:none;position:sticky;height:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0}#app-navigation:not(.vue) .app-navigation-caption{font-weight:bold;line-height:var(--default-clickable-area);padding:10px var(--default-clickable-area) 0 var(--default-clickable-area);white-space:nowrap;text-overflow:ellipsis;box-shadow:none !important;user-select:none;pointer-events:none;margin-inline-start:10px}.app-navigation-personal .app-navigation-new,.app-navigation-administration .app-navigation-new{display:block;padding:calc(var(--default-grid-baseline)*2)}.app-navigation-personal .app-navigation-new button,.app-navigation-administration .app-navigation-new button{display:inline-block;width:100%;padding:10px;padding-inline-start:34px;text-align:start;margin:0}.app-navigation-personal li,.app-navigation-administration li{position:relative}.app-navigation-personal>ul,.app-navigation-administration>ul{position:relative;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;padding:calc(var(--default-grid-baseline)*2);padding-bottom:0}.app-navigation-personal>ul:last-child,.app-navigation-administration>ul:last-child{padding-bottom:calc(var(--default-grid-baseline)*2)}.app-navigation-personal>ul>li,.app-navigation-administration>ul>li{display:inline-flex;flex-wrap:wrap;order:1;flex-shrink:0;margin:0;margin-bottom:3px;width:100%;border-radius:var(--border-radius-element)}.app-navigation-personal>ul>li.pinned,.app-navigation-administration>ul>li.pinned{order:2}.app-navigation-personal>ul>li.pinned.first-pinned,.app-navigation-administration>ul>li.pinned.first-pinned{margin-top:auto !important}.app-navigation-personal>ul>li>.app-navigation-entry-deleted,.app-navigation-administration>ul>li>.app-navigation-entry-deleted{padding-inline-start:var(--default-clickable-area) !important}.app-navigation-personal>ul>li>.app-navigation-entry-edit,.app-navigation-administration>ul>li>.app-navigation-entry-edit{padding-inline-start:calc(var(--default-clickable-area) - 6px) !important}.app-navigation-personal>ul>li a:hover,.app-navigation-personal>ul>li a:hover>a,.app-navigation-personal>ul>li a:focus,.app-navigation-personal>ul>li a:focus>a,.app-navigation-administration>ul>li a:hover,.app-navigation-administration>ul>li a:hover>a,.app-navigation-administration>ul>li a:focus,.app-navigation-administration>ul>li a:focus>a{background-color:var(--color-background-hover)}.app-navigation-personal>ul>li a:focus-visible,.app-navigation-administration>ul>li a:focus-visible{box-shadow:0 0 0 4px var(--color-main-background);outline:2px solid var(--color-main-text)}.app-navigation-personal>ul>li.active,.app-navigation-personal>ul>li.active>a,.app-navigation-personal>ul>li a:active,.app-navigation-personal>ul>li a:active>a,.app-navigation-personal>ul>li a.selected,.app-navigation-personal>ul>li a.selected>a,.app-navigation-personal>ul>li a.active,.app-navigation-personal>ul>li a.active>a,.app-navigation-administration>ul>li.active,.app-navigation-administration>ul>li.active>a,.app-navigation-administration>ul>li a:active,.app-navigation-administration>ul>li a:active>a,.app-navigation-administration>ul>li a.selected,.app-navigation-administration>ul>li a.selected>a,.app-navigation-administration>ul>li a.active,.app-navigation-administration>ul>li a.active>a{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.app-navigation-personal>ul>li.active:first-child>img,.app-navigation-personal>ul>li.active>a:first-child>img,.app-navigation-personal>ul>li a:active:first-child>img,.app-navigation-personal>ul>li a:active>a:first-child>img,.app-navigation-personal>ul>li a.selected:first-child>img,.app-navigation-personal>ul>li a.selected>a:first-child>img,.app-navigation-personal>ul>li a.active:first-child>img,.app-navigation-personal>ul>li a.active>a:first-child>img,.app-navigation-administration>ul>li.active:first-child>img,.app-navigation-administration>ul>li.active>a:first-child>img,.app-navigation-administration>ul>li a:active:first-child>img,.app-navigation-administration>ul>li a:active>a:first-child>img,.app-navigation-administration>ul>li a.selected:first-child>img,.app-navigation-administration>ul>li a.selected>a:first-child>img,.app-navigation-administration>ul>li a.active:first-child>img,.app-navigation-administration>ul>li a.active>a:first-child>img{filter:var(--primary-invert-if-dark)}.app-navigation-personal>ul>li.icon-loading-small:after,.app-navigation-administration>ul>li.icon-loading-small:after{inset-inline-start:22px;top:22px}.app-navigation-personal>ul>li.deleted>ul,.app-navigation-personal>ul>li.collapsible:not(.open)>ul,.app-navigation-administration>ul>li.deleted>ul,.app-navigation-administration>ul>li.collapsible:not(.open)>ul{display:none}.app-navigation-personal>ul>li>ul,.app-navigation-administration>ul>li>ul{flex:0 1 auto;width:100%;position:relative}.app-navigation-personal>ul>li>ul>li,.app-navigation-administration>ul>li>ul>li{display:inline-flex;flex-wrap:wrap;padding-inline-start:var(--default-clickable-area);width:100%;margin-bottom:3px}.app-navigation-personal>ul>li>ul>li:hover,.app-navigation-personal>ul>li>ul>li:hover>a,.app-navigation-personal>ul>li>ul>li:focus,.app-navigation-personal>ul>li>ul>li:focus>a,.app-navigation-administration>ul>li>ul>li:hover,.app-navigation-administration>ul>li>ul>li:hover>a,.app-navigation-administration>ul>li>ul>li:focus,.app-navigation-administration>ul>li>ul>li:focus>a{border-radius:var(--border-radius-element);background-color:var(--color-background-hover)}.app-navigation-personal>ul>li>ul>li.active,.app-navigation-personal>ul>li>ul>li.active>a,.app-navigation-personal>ul>li>ul>li a.selected,.app-navigation-personal>ul>li>ul>li a.selected>a,.app-navigation-administration>ul>li>ul>li.active,.app-navigation-administration>ul>li>ul>li.active>a,.app-navigation-administration>ul>li>ul>li a.selected,.app-navigation-administration>ul>li>ul>li a.selected>a{border-radius:var(--border-radius-element);background-color:var(--color-primary-element-light)}.app-navigation-personal>ul>li>ul>li.active:first-child>img,.app-navigation-personal>ul>li>ul>li.active>a:first-child>img,.app-navigation-personal>ul>li>ul>li a.selected:first-child>img,.app-navigation-personal>ul>li>ul>li a.selected>a:first-child>img,.app-navigation-administration>ul>li>ul>li.active:first-child>img,.app-navigation-administration>ul>li>ul>li.active>a:first-child>img,.app-navigation-administration>ul>li>ul>li a.selected:first-child>img,.app-navigation-administration>ul>li>ul>li a.selected>a:first-child>img{filter:var(--primary-invert-if-dark)}.app-navigation-personal>ul>li>ul>li.icon-loading-small:after,.app-navigation-administration>ul>li>ul>li.icon-loading-small:after{inset-inline-start:calc(var(--default-clickable-area)/2)}.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-deleted,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-deleted{margin-inline-start:4px;padding-inline-start:84px}.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-edit,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-edit{margin-inline-start:4px;padding-inline-start:calc(2*var(--default-clickable-area) - 10px) !important}.app-navigation-personal>ul>li,.app-navigation-personal>ul>li>ul>li,.app-navigation-administration>ul>li,.app-navigation-administration>ul>li>ul>li{position:relative;box-sizing:border-box}.app-navigation-personal>ul>li.icon-loading-small>a,.app-navigation-personal>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-personal>ul>li>ul>li.icon-loading-small>a,.app-navigation-personal>ul>li>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-administration>ul>li.icon-loading-small>a,.app-navigation-administration>ul>li.icon-loading-small>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>ul>li.icon-loading-small>a,.app-navigation-administration>ul>li>ul>li.icon-loading-small>.app-navigation-entry-bullet{background:rgba(0,0,0,0) !important}.app-navigation-personal>ul>li>a,.app-navigation-personal>ul>li>ul>li>a,.app-navigation-administration>ul>li>a,.app-navigation-administration>ul>li>ul>li>a{background-size:16px 16px;background-repeat:no-repeat;display:block;justify-content:space-between;line-height:var(--default-clickable-area);min-height:var(--default-clickable-area);padding-block:0;padding-inline:calc(2*var(--default-grid-baseline));overflow:hidden;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;border-radius:var(--border-radius-element);color:var(--color-main-text);flex:1 1 0px;z-index:100}.app-navigation-personal>ul>li>a.svg,.app-navigation-personal>ul>li>ul>li>a.svg,.app-navigation-administration>ul>li>a.svg,.app-navigation-administration>ul>li>ul>li>a.svg{padding-block:0;padding-inline:var(--default-clickable-area) 12px}.app-navigation-personal>ul>li>a.svg :focus-visible,.app-navigation-personal>ul>li>ul>li>a.svg :focus-visible,.app-navigation-administration>ul>li>a.svg :focus-visible,.app-navigation-administration>ul>li>ul>li>a.svg :focus-visible{padding-block:0;padding-inline:calc(var(--default-clickable-area) - 2px) 8px}.app-navigation-personal>ul>li>a:first-child img,.app-navigation-personal>ul>li>ul>li>a:first-child img,.app-navigation-administration>ul>li>a:first-child img,.app-navigation-administration>ul>li>ul>li>a:first-child img{margin-inline-end:calc(2*var(--default-grid-baseline)) !important;width:16px;height:16px;filter:var(--background-invert-if-dark)}.app-navigation-personal>ul>li>a>.app-navigation-entry-utils,.app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,.app-navigation-administration>ul>li>a>.app-navigation-entry-utils,.app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{display:inline-block}.app-navigation-personal>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils .app-navigation-entry-utils-counter{padding-inline-end:0 !important}.app-navigation-personal>ul>li>.app-navigation-entry-bullet,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>.app-navigation-entry-bullet,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-bullet{position:absolute;display:block;margin:16px;width:12px;height:12px;border:none;border-radius:50%;cursor:pointer;transition:background 100ms ease-in-out}.app-navigation-personal>ul>li>.app-navigation-entry-bullet+a,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-bullet+a,.app-navigation-administration>ul>li>.app-navigation-entry-bullet+a,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-bullet+a{background:rgba(0,0,0,0) !important}.app-navigation-personal>ul>li>.app-navigation-entry-menu,.app-navigation-personal>ul>li>ul>li>.app-navigation-entry-menu,.app-navigation-administration>ul>li>.app-navigation-entry-menu,.app-navigation-administration>ul>li>ul>li>.app-navigation-entry-menu{top:var(--default-clickable-area)}.app-navigation-personal>ul>li.editing .app-navigation-entry-edit,.app-navigation-personal>ul>li>ul>li.editing .app-navigation-entry-edit,.app-navigation-administration>ul>li.editing .app-navigation-entry-edit,.app-navigation-administration>ul>li>ul>li.editing .app-navigation-entry-edit{opacity:1;z-index:250}.app-navigation-personal>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-personal>ul>li>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-administration>ul>li.deleted .app-navigation-entry-deleted,.app-navigation-administration>ul>li>ul>li.deleted .app-navigation-entry-deleted{transform:translateX(0);z-index:250}.app-navigation-personal.hidden,.app-navigation-administration.hidden{display:none}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button{border:0;opacity:.5;background-color:rgba(0,0,0,0);background-repeat:no-repeat;background-position:center}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:hover,.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:focus,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:hover,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button>button:focus,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus{background-color:rgba(0,0,0,0);opacity:1}.app-navigation-personal .collapsible .collapse,.app-navigation-administration .collapsible .collapse{opacity:0;position:absolute;width:var(--default-clickable-area);height:var(--default-clickable-area);margin:0;z-index:110;inset-inline-start:0}.app-navigation-personal .collapsible .collapse:focus-visible,.app-navigation-administration .collapsible .collapse:focus-visible{opacity:1;border-width:0;box-shadow:inset 0 0 0 2px var(--color-primary-element);background:none}.app-navigation-personal .collapsible:before,.app-navigation-administration .collapsible:before{position:absolute;height:var(--default-clickable-area);width:var(--default-clickable-area);margin:0;padding:0;background:none;background-image:var(--icon-triangle-s-dark);background-size:16px;background-repeat:no-repeat;background-position:center;border:none;outline:none !important;box-shadow:none;content:" ";opacity:0;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);z-index:105;border-radius:50%;transition:opacity 100ms ease-in-out}.app-navigation-personal .collapsible>a:first-child,.app-navigation-administration .collapsible>a:first-child{padding-inline-start:var(--default-clickable-area)}.app-navigation-personal .collapsible:hover:before,.app-navigation-personal .collapsible:focus:before,.app-navigation-administration .collapsible:hover:before,.app-navigation-administration .collapsible:focus:before{opacity:1}.app-navigation-personal .collapsible:hover>a,.app-navigation-personal .collapsible:focus>a,.app-navigation-administration .collapsible:hover>a,.app-navigation-administration .collapsible:focus>a{background-image:none}.app-navigation-personal .collapsible:hover>.app-navigation-entry-bullet,.app-navigation-personal .collapsible:focus>.app-navigation-entry-bullet,.app-navigation-administration .collapsible:hover>.app-navigation-entry-bullet,.app-navigation-administration .collapsible:focus>.app-navigation-entry-bullet{background:rgba(0,0,0,0) !important}.app-navigation-personal .collapsible.open:before,.app-navigation-administration .collapsible.open:before{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.app-navigation-personal .app-navigation-entry-utils,.app-navigation-administration .app-navigation-entry-utils{flex:0 1 auto}.app-navigation-personal .app-navigation-entry-utils ul,.app-navigation-administration .app-navigation-entry-utils ul{display:flex !important;align-items:center;justify-content:flex-end}.app-navigation-personal .app-navigation-entry-utils li,.app-navigation-administration .app-navigation-entry-utils li{width:var(--default-clickable-area) !important;height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-utils button,.app-navigation-administration .app-navigation-entry-utils button{height:100%;width:100%;margin:0;box-shadow:none}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button button:not([class^=icon-]):not([class*=" icon-"]),.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button button:not([class^=icon-]):not([class*=" icon-"]){background-image:var(--icon-more-dark)}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:hover button,.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:focus button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:hover button,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-menu-button:focus button{background-color:rgba(0,0,0,0);opacity:1}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter{overflow:hidden;text-align:end;font-size:9pt;line-height:var(--default-clickable-area);padding:0 12px}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted{padding:0;text-align:center}.app-navigation-personal .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted span,.app-navigation-administration .app-navigation-entry-utils .app-navigation-entry-utils-counter.highlighted span{padding:2px 5px;border-radius:10px;background-color:var(--color-primary-element);color:var(--color-primary-element-text)}.app-navigation-personal .app-navigation-entry-edit,.app-navigation-administration .app-navigation-entry-edit{padding-inline:5px;display:block;width:calc(100% - 1px);transition:opacity 250ms ease-in-out;opacity:0;position:absolute;background-color:var(--color-main-background);z-index:-1}.app-navigation-personal .app-navigation-entry-edit form,.app-navigation-personal .app-navigation-entry-edit div,.app-navigation-administration .app-navigation-entry-edit form,.app-navigation-administration .app-navigation-entry-edit div{display:inline-flex;width:100%}.app-navigation-personal .app-navigation-entry-edit input,.app-navigation-administration .app-navigation-entry-edit input{padding:5px;margin-inline-end:0;height:38px}.app-navigation-personal .app-navigation-entry-edit input:hover,.app-navigation-personal .app-navigation-entry-edit input:focus,.app-navigation-administration .app-navigation-entry-edit input:hover,.app-navigation-administration .app-navigation-entry-edit input:focus{z-index:1}.app-navigation-personal .app-navigation-entry-edit input[type=text],.app-navigation-administration .app-navigation-entry-edit input[type=text]{width:100%;min-width:0;border-end-end-radius:0;border-start-end-radius:0}.app-navigation-personal .app-navigation-entry-edit button,.app-navigation-personal .app-navigation-entry-edit input:not([type=text]),.app-navigation-administration .app-navigation-entry-edit button,.app-navigation-administration .app-navigation-entry-edit input:not([type=text]){width:36px;height:38px;flex:0 0 36px}.app-navigation-personal .app-navigation-entry-edit button:not(:last-child),.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):not(:last-child),.app-navigation-administration .app-navigation-entry-edit button:not(:last-child),.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):not(:last-child){border-radius:0 !important}.app-navigation-personal .app-navigation-entry-edit button:not(:first-child),.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):not(:first-child),.app-navigation-administration .app-navigation-entry-edit button:not(:first-child),.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):not(:first-child){margin-inline-start:-1px}.app-navigation-personal .app-navigation-entry-edit button:last-child,.app-navigation-personal .app-navigation-entry-edit input:not([type=text]):last-child,.app-navigation-administration .app-navigation-entry-edit button:last-child,.app-navigation-administration .app-navigation-entry-edit input:not([type=text]):last-child{border-end-end-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-start-radius:0;border-start-start-radius:0}.app-navigation-personal .app-navigation-entry-deleted,.app-navigation-administration .app-navigation-entry-deleted{display:inline-flex;padding-inline-start:var(--default-clickable-area);transform:translateX(300px)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-description,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-description{position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1 1 0px;line-height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button{margin:0;height:var(--default-clickable-area);width:var(--default-clickable-area);line-height:var(--default-clickable-area)}.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-personal .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:hover,.app-navigation-administration .app-navigation-entry-deleted .app-navigation-entry-deleted-button:focus{opacity:1}.app-navigation-personal .app-navigation-entry-edit,.app-navigation-personal .app-navigation-entry-deleted,.app-navigation-administration .app-navigation-entry-edit,.app-navigation-administration .app-navigation-entry-deleted{width:calc(100% - 1px);transition:transform 250ms ease-in-out,opacity 250ms ease-in-out,z-index 250ms ease-in-out;position:absolute;inset-inline-start:0;background-color:var(--color-main-background);box-sizing:border-box}.app-navigation-personal .drag-and-drop,.app-navigation-administration .drag-and-drop{-webkit-transition:padding-bottom 500ms ease 0s;transition:padding-bottom 500ms ease 0s;padding-bottom:40px}.app-navigation-personal .error,.app-navigation-administration .error{color:var(--color-error)}.app-navigation-personal .app-navigation-entry-utils ul,.app-navigation-personal .app-navigation-entry-menu ul,.app-navigation-administration .app-navigation-entry-utils ul,.app-navigation-administration .app-navigation-entry-menu ul{list-style-type:none}body[dir=ltr] .app-navigation-personal .app-navigation-new button,body[dir=ltr] .app-navigation-administration .app-navigation-new button{background-position:left 10px center}body[dir=ltr] .app-navigation-personal>ul>li>ul>li>a,body[dir=ltr] .app-navigation-administration>ul>li>ul>li>a{background-position:left 14px center}body[dir=ltr] .app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,body[dir=ltr] .app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{float:right}body[dir=rtl] .app-navigation-personal .app-navigation-new button,body[dir=rtl] .app-navigation-administration .app-navigation-new button{background-position:right 10px center}body[dir=rtl] .app-navigation-personal>ul>li>ul>li>a,body[dir=rtl] .app-navigation-administration>ul>li>ul>li>a{background-position:right 14px center}body[dir=rtl] .app-navigation-personal>ul>li>ul>li>a>.app-navigation-entry-utils,body[dir=rtl] .app-navigation-administration>ul>li>ul>li>a>.app-navigation-entry-utils{float:left}#content{box-sizing:border-box;position:static;margin:var(--body-container-margin);margin-top:var(--header-height);padding:0;display:flex;width:calc(100% - var(--body-container-margin)*2);height:var(--body-height);border-radius:var(--body-container-radius);overflow:clip}#content:not(.with-sidebar--full){position:fixed}@media only screen and (max-width: 1024px){#content{border-start-start-radius:var(--border-radius-large);border-start-end-radius:var(--border-radius-large)}#app-navigation{border-start-start-radius:var(--border-radius-large)}#app-sidebar{border-start-end-radius:var(--border-radius-large)}}#app-content{z-index:1000;background-color:var(--color-main-background);flex-basis:100vw;overflow:auto;position:initial;height:100%}#app-content>.section:first-child{border-top:none}#app-content #app-content-wrapper{display:flex;position:relative;align-items:stretch;min-height:100%}#app-content #app-content-wrapper .app-content-details{flex:1 1 524px}#app-content #app-content-wrapper .app-content-details #app-navigation-toggle-back{display:none}#app-content::-webkit-scrollbar-button{height:var(--body-container-radius)}#app-sidebar{width:27vw;min-width:300px;max-width:500px;display:block;position:-webkit-sticky;position:sticky;top:50px;inset-inline-end:0;overflow-y:auto;overflow-x:hidden;z-index:1500;opacity:.7px;height:calc(100vh - 50px);background:var(--color-main-background);border-inline-start:1px solid var(--color-border);flex-shrink:0}#app-sidebar.disappear{display:none}#app-settings{margin-top:auto}#app-settings.open #app-settings-content,#app-settings.opened #app-settings-content{display:block}#app-settings-content{display:none;padding:calc(var(--default-grid-baseline)*2);padding-top:0;padding-inline-start:calc(var(--default-grid-baseline)*4);max-height:300px;overflow-y:auto;box-sizing:border-box}#app-settings-content input[type=text]{width:93%}#app-settings-content .info-text{padding-block:5px 7px;padding-inline:22px 0;color:var(--color-text-lighter)}#app-settings-content input[type=checkbox].radio+label,#app-settings-content input[type=checkbox].checkbox+label,#app-settings-content input[type=radio].radio+label,#app-settings-content input[type=radio].checkbox+label{display:inline-block;width:100%;padding:5px 0}#app-settings-header{box-sizing:border-box;background-color:rgba(0,0,0,0);overflow:hidden;border-radius:calc(var(--default-clickable-area)/2);padding:calc(var(--default-grid-baseline)*2);padding-top:0}#app-settings-header .settings-button{display:flex;align-items:center;height:var(--default-clickable-area);width:100%;padding:0;margin:0;background-color:rgba(0,0,0,0);box-shadow:none;border:0;border-radius:calc(var(--default-clickable-area)/2);text-align:start;font-weight:normal;font-size:100%;opacity:.8;color:var(--color-main-text)}#app-settings-header .settings-button.opened{border-top:solid 1px var(--color-border);background-color:var(--color-main-background);margin-top:8px}#app-settings-header .settings-button:hover,#app-settings-header .settings-button:focus{background-color:var(--color-background-hover)}#app-settings-header .settings-button::before{background-image:var(--icon-settings-dark);background-repeat:no-repeat;content:"";width:var(--default-clickable-area);height:var(--default-clickable-area);top:0;inset-inline-start:0;display:block}#app-settings-header .settings-button:focus-visible{box-shadow:0 0 0 2px inset var(--color-primary-element) !important}body[dir=ltr] #app-settings-header .settings-button::before{background-position:left 14px center}body[dir=ltr] #app-settings-header .settings-button:focus-visible{background-position:left 12px center}body[dir=rtl] #app-settings-header .settings-button::before{background-position:right 14px center}body[dir=rtl] #app-settings-header .settings-button:focus-visible{background-position:right 12px center}.section{display:block;padding:30px;margin-bottom:24px}.section.hidden{display:none !important}.section input[type=checkbox],.section input[type=radio]{vertical-align:-2px;margin-inline-end:4px}.sub-section{position:relative;margin-top:10px;margin-inline-start:27px;margin-bottom:10px}.appear{opacity:1;-webkit-transition:opacity 500ms ease 0s;-moz-transition:opacity 500ms ease 0s;-ms-transition:opacity 500ms ease 0s;-o-transition:opacity 500ms ease 0s;transition:opacity 500ms ease 0s}.appear.transparent{opacity:0}.tabHeaders{display:flex;margin-bottom:16px}.tabHeaders .tabHeader{display:flex;flex-direction:column;flex-grow:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--color-text-lighter);margin-bottom:1px;padding:5px}.tabHeaders .tabHeader.hidden{display:none}.tabHeaders .tabHeader:first-child{padding-inline-start:15px}.tabHeaders .tabHeader:last-child{padding-inline-end:15px}.tabHeaders .tabHeader .icon{display:inline-block;width:100%;height:16px;background-size:16px;vertical-align:middle;margin-top:-2px;margin-inline-end:3px;opacity:.7;cursor:pointer}.tabHeaders .tabHeader a{color:var(--color-text-lighter);margin-bottom:1px;overflow:hidden;text-overflow:ellipsis}.tabHeaders .tabHeader.selected{font-weight:bold}.tabHeaders .tabHeader.selected,.tabHeaders .tabHeader:hover,.tabHeaders .tabHeader:focus{margin-bottom:0px;color:var(--color-main-text);border-bottom:1px solid var(--color-text-lighter)}.tabsContainer .tab{padding:0 15px 15px}body[dir=ltr] .tabsContainer{clear:left}body[dir=rtl] .tabsContainer{clear:right}.v-popper__inner div.open>ul>li>a>span.action-link__icon,.v-popper__inner div.open>ul>li>a>span.action-router__icon,.v-popper__inner div.open>ul>li>a>img{filter:var(--background-invert-if-dark)}.v-popper__inner div.open>ul>li>a>span.action-link__icon[src^=data],.v-popper__inner div.open>ul>li>a>span.action-router__icon[src^=data],.v-popper__inner div.open>ul>li>a>img[src^=data]{filter:none}.bubble,.app-navigation-entry-menu,.popovermenu{position:absolute;background-color:var(--color-main-background);color:var(--color-main-text);border-radius:var(--border-radius-large);padding:3px;z-index:110;margin:5px;margin-top:-5px;inset-inline-end:0;filter:drop-shadow(0 1px 3px var(--color-box-shadow));display:none;will-change:filter}.bubble:after,.app-navigation-entry-menu:after,.popovermenu:after{bottom:100%;inset-inline-end:7px;border:solid rgba(0,0,0,0);content:" ";height:0;width:0;position:absolute;pointer-events:none;border-bottom-color:var(--color-main-background);border-width:9px}.bubble.menu-center,.app-navigation-entry-menu.menu-center,.popovermenu.menu-center{transform:translateX(50%);inset-inline-end:50%;margin-inline-end:0}.bubble.menu-center:after,.app-navigation-entry-menu.menu-center:after,.popovermenu.menu-center:after{inset-inline-end:50%;transform:translateX(50%)}.bubble.menu-left,.app-navigation-entry-menu.menu-left,.popovermenu.menu-left{inset-inline:0 auto;margin-inline-end:0}.bubble.menu-left:after,.app-navigation-entry-menu.menu-left:after,.popovermenu.menu-left:after{inset-inline:6px auto}.bubble.open,.app-navigation-entry-menu.open,.popovermenu.open{display:block}.bubble.contactsmenu-popover,.app-navigation-entry-menu.contactsmenu-popover,.popovermenu.contactsmenu-popover{margin:0}.bubble ul,.app-navigation-entry-menu ul,.popovermenu ul{display:flex !important;flex-direction:column}.bubble li,.app-navigation-entry-menu li,.popovermenu li{display:flex;flex:0 0 auto}.bubble li.hidden,.app-navigation-entry-menu li.hidden,.popovermenu li.hidden{display:none}.bubble li>button,.bubble li>a,.bubble li>.menuitem,.app-navigation-entry-menu li>button,.app-navigation-entry-menu li>a,.app-navigation-entry-menu li>.menuitem,.popovermenu li>button,.popovermenu li>a,.popovermenu li>.menuitem{cursor:pointer;line-height:34px;border:0;border-radius:var(--border-radius-large);background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap}.bubble li>button span[class^=icon-],.bubble li>button span[class*=" icon-"],.bubble li>button[class^=icon-],.bubble li>button[class*=" icon-"],.bubble li>a span[class^=icon-],.bubble li>a span[class*=" icon-"],.bubble li>a[class^=icon-],.bubble li>a[class*=" icon-"],.bubble li>.menuitem span[class^=icon-],.bubble li>.menuitem span[class*=" icon-"],.bubble li>.menuitem[class^=icon-],.bubble li>.menuitem[class*=" icon-"],.app-navigation-entry-menu li>button span[class^=icon-],.app-navigation-entry-menu li>button span[class*=" icon-"],.app-navigation-entry-menu li>button[class^=icon-],.app-navigation-entry-menu li>button[class*=" icon-"],.app-navigation-entry-menu li>a span[class^=icon-],.app-navigation-entry-menu li>a span[class*=" icon-"],.app-navigation-entry-menu li>a[class^=icon-],.app-navigation-entry-menu li>a[class*=" icon-"],.app-navigation-entry-menu li>.menuitem span[class^=icon-],.app-navigation-entry-menu li>.menuitem span[class*=" icon-"],.app-navigation-entry-menu li>.menuitem[class^=icon-],.app-navigation-entry-menu li>.menuitem[class*=" icon-"],.popovermenu li>button span[class^=icon-],.popovermenu li>button span[class*=" icon-"],.popovermenu li>button[class^=icon-],.popovermenu li>button[class*=" icon-"],.popovermenu li>a span[class^=icon-],.popovermenu li>a span[class*=" icon-"],.popovermenu li>a[class^=icon-],.popovermenu li>a[class*=" icon-"],.popovermenu li>.menuitem span[class^=icon-],.popovermenu li>.menuitem span[class*=" icon-"],.popovermenu li>.menuitem[class^=icon-],.popovermenu li>.menuitem[class*=" icon-"]{min-width:0;min-height:0;background-position:9px center;background-size:16px}.bubble li>button span[class^=icon-],.bubble li>button span[class*=" icon-"],.bubble li>a span[class^=icon-],.bubble li>a span[class*=" icon-"],.bubble li>.menuitem span[class^=icon-],.bubble li>.menuitem span[class*=" icon-"],.app-navigation-entry-menu li>button span[class^=icon-],.app-navigation-entry-menu li>button span[class*=" icon-"],.app-navigation-entry-menu li>a span[class^=icon-],.app-navigation-entry-menu li>a span[class*=" icon-"],.app-navigation-entry-menu li>.menuitem span[class^=icon-],.app-navigation-entry-menu li>.menuitem span[class*=" icon-"],.popovermenu li>button span[class^=icon-],.popovermenu li>button span[class*=" icon-"],.popovermenu li>a span[class^=icon-],.popovermenu li>a span[class*=" icon-"],.popovermenu li>.menuitem span[class^=icon-],.popovermenu li>.menuitem span[class*=" icon-"]{padding:17px 0 17px 34px}.bubble li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.bubble li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.app-navigation-entry-menu li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>button:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>a:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>span:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>input:not([class^=icon-]):not([class*=icon-]):first-child,.popovermenu li>.menuitem:not([class^=icon-]):not([class*=icon-])>form:not([class^=icon-]):not([class*=icon-]):first-child{margin-inline-start:34px}.bubble li>button[class^=icon-],.bubble li>button[class*=" icon-"],.bubble li>a[class^=icon-],.bubble li>a[class*=" icon-"],.bubble li>.menuitem[class^=icon-],.bubble li>.menuitem[class*=" icon-"],.app-navigation-entry-menu li>button[class^=icon-],.app-navigation-entry-menu li>button[class*=" icon-"],.app-navigation-entry-menu li>a[class^=icon-],.app-navigation-entry-menu li>a[class*=" icon-"],.app-navigation-entry-menu li>.menuitem[class^=icon-],.app-navigation-entry-menu li>.menuitem[class*=" icon-"],.popovermenu li>button[class^=icon-],.popovermenu li>button[class*=" icon-"],.popovermenu li>a[class^=icon-],.popovermenu li>a[class*=" icon-"],.popovermenu li>.menuitem[class^=icon-],.popovermenu li>.menuitem[class*=" icon-"]{padding:0 9px 0 34px !important}.bubble li>button:hover,.bubble li>button:focus,.bubble li>a:hover,.bubble li>a:focus,.bubble li>.menuitem:hover,.bubble li>.menuitem:focus,.app-navigation-entry-menu li>button:hover,.app-navigation-entry-menu li>button:focus,.app-navigation-entry-menu li>a:hover,.app-navigation-entry-menu li>a:focus,.app-navigation-entry-menu li>.menuitem:hover,.app-navigation-entry-menu li>.menuitem:focus,.popovermenu li>button:hover,.popovermenu li>button:focus,.popovermenu li>a:hover,.popovermenu li>a:focus,.popovermenu li>.menuitem:hover,.popovermenu li>.menuitem:focus{background-color:var(--color-background-hover)}.bubble li>button:focus,.bubble li>button:focus-visible,.bubble li>a:focus,.bubble li>a:focus-visible,.bubble li>.menuitem:focus,.bubble li>.menuitem:focus-visible,.app-navigation-entry-menu li>button:focus,.app-navigation-entry-menu li>button:focus-visible,.app-navigation-entry-menu li>a:focus,.app-navigation-entry-menu li>a:focus-visible,.app-navigation-entry-menu li>.menuitem:focus,.app-navigation-entry-menu li>.menuitem:focus-visible,.popovermenu li>button:focus,.popovermenu li>button:focus-visible,.popovermenu li>a:focus,.popovermenu li>a:focus-visible,.popovermenu li>.menuitem:focus,.popovermenu li>.menuitem:focus-visible{box-shadow:0 0 0 2px var(--color-primary-element)}.bubble li>button.active,.bubble li>a.active,.bubble li>.menuitem.active,.app-navigation-entry-menu li>button.active,.app-navigation-entry-menu li>a.active,.app-navigation-entry-menu li>.menuitem.active,.popovermenu li>button.active,.popovermenu li>a.active,.popovermenu li>.menuitem.active{border-radius:var(--border-radius-element);background-color:var(--color-primary-element-light)}.bubble li>button.action,.bubble li>a.action,.bubble li>.menuitem.action,.app-navigation-entry-menu li>button.action,.app-navigation-entry-menu li>a.action,.app-navigation-entry-menu li>.menuitem.action,.popovermenu li>button.action,.popovermenu li>a.action,.popovermenu li>.menuitem.action{padding:inherit !important}.bubble li>button>span,.bubble li>a>span,.bubble li>.menuitem>span,.app-navigation-entry-menu li>button>span,.app-navigation-entry-menu li>a>span,.app-navigation-entry-menu li>.menuitem>span,.popovermenu li>button>span,.popovermenu li>a>span,.popovermenu li>.menuitem>span{cursor:pointer;white-space:nowrap}.bubble li>button>p,.bubble li>a>p,.bubble li>.menuitem>p,.app-navigation-entry-menu li>button>p,.app-navigation-entry-menu li>a>p,.app-navigation-entry-menu li>.menuitem>p,.popovermenu li>button>p,.popovermenu li>a>p,.popovermenu li>.menuitem>p{width:150px;line-height:1.6em;padding:8px 0;white-space:normal}.bubble li>button>select,.bubble li>a>select,.bubble li>.menuitem>select,.app-navigation-entry-menu li>button>select,.app-navigation-entry-menu li>a>select,.app-navigation-entry-menu li>.menuitem>select,.popovermenu li>button>select,.popovermenu li>a>select,.popovermenu li>.menuitem>select{margin:0;margin-inline-start:6px}.bubble li>button:not(:empty),.bubble li>a:not(:empty),.bubble li>.menuitem:not(:empty),.app-navigation-entry-menu li>button:not(:empty),.app-navigation-entry-menu li>a:not(:empty),.app-navigation-entry-menu li>.menuitem:not(:empty),.popovermenu li>button:not(:empty),.popovermenu li>a:not(:empty),.popovermenu li>.menuitem:not(:empty){padding-inline-end:9px !important}.bubble li>button>img,.bubble li>a>img,.bubble li>.menuitem>img,.app-navigation-entry-menu li>button>img,.app-navigation-entry-menu li>a>img,.app-navigation-entry-menu li>.menuitem>img,.popovermenu li>button>img,.popovermenu li>a>img,.popovermenu li>.menuitem>img{width:16px;padding:9px}.bubble li>button>input.radio+label,.bubble li>button>input.checkbox+label,.bubble li>a>input.radio+label,.bubble li>a>input.checkbox+label,.bubble li>.menuitem>input.radio+label,.bubble li>.menuitem>input.checkbox+label,.app-navigation-entry-menu li>button>input.radio+label,.app-navigation-entry-menu li>button>input.checkbox+label,.app-navigation-entry-menu li>a>input.radio+label,.app-navigation-entry-menu li>a>input.checkbox+label,.app-navigation-entry-menu li>.menuitem>input.radio+label,.app-navigation-entry-menu li>.menuitem>input.checkbox+label,.popovermenu li>button>input.radio+label,.popovermenu li>button>input.checkbox+label,.popovermenu li>a>input.radio+label,.popovermenu li>a>input.checkbox+label,.popovermenu li>.menuitem>input.radio+label,.popovermenu li>.menuitem>input.checkbox+label{padding:0 !important;width:100%}.bubble li>button>input.checkbox+label::before,.bubble li>a>input.checkbox+label::before,.bubble li>.menuitem>input.checkbox+label::before,.app-navigation-entry-menu li>button>input.checkbox+label::before,.app-navigation-entry-menu li>a>input.checkbox+label::before,.app-navigation-entry-menu li>.menuitem>input.checkbox+label::before,.popovermenu li>button>input.checkbox+label::before,.popovermenu li>a>input.checkbox+label::before,.popovermenu li>.menuitem>input.checkbox+label::before{margin:-2px 13px 0}.bubble li>button>input.radio+label::before,.bubble li>a>input.radio+label::before,.bubble li>.menuitem>input.radio+label::before,.app-navigation-entry-menu li>button>input.radio+label::before,.app-navigation-entry-menu li>a>input.radio+label::before,.app-navigation-entry-menu li>.menuitem>input.radio+label::before,.popovermenu li>button>input.radio+label::before,.popovermenu li>a>input.radio+label::before,.popovermenu li>.menuitem>input.radio+label::before{margin:-2px 12px 0}.bubble li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.bubble li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.bubble li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.app-navigation-entry-menu li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>button>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>a>input:not([type=radio]):not([type=checkbox]):not([type=image]),.popovermenu li>.menuitem>input:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}.bubble li>button form,.bubble li>a form,.bubble li>.menuitem form,.app-navigation-entry-menu li>button form,.app-navigation-entry-menu li>a form,.app-navigation-entry-menu li>.menuitem form,.popovermenu li>button form,.popovermenu li>a form,.popovermenu li>.menuitem form{display:flex;flex:1 1 auto;align-items:center}.bubble li>button form:not(:first-child),.bubble li>a form:not(:first-child),.bubble li>.menuitem form:not(:first-child),.app-navigation-entry-menu li>button form:not(:first-child),.app-navigation-entry-menu li>a form:not(:first-child),.app-navigation-entry-menu li>.menuitem form:not(:first-child),.popovermenu li>button form:not(:first-child),.popovermenu li>a form:not(:first-child),.popovermenu li>.menuitem form:not(:first-child){margin-inline-start:5px}.bubble li>button>span.hidden+form,.bubble li>button>span[style*="display:none"]+form,.bubble li>a>span.hidden+form,.bubble li>a>span[style*="display:none"]+form,.bubble li>.menuitem>span.hidden+form,.bubble li>.menuitem>span[style*="display:none"]+form,.app-navigation-entry-menu li>button>span.hidden+form,.app-navigation-entry-menu li>button>span[style*="display:none"]+form,.app-navigation-entry-menu li>a>span.hidden+form,.app-navigation-entry-menu li>a>span[style*="display:none"]+form,.app-navigation-entry-menu li>.menuitem>span.hidden+form,.app-navigation-entry-menu li>.menuitem>span[style*="display:none"]+form,.popovermenu li>button>span.hidden+form,.popovermenu li>button>span[style*="display:none"]+form,.popovermenu li>a>span.hidden+form,.popovermenu li>a>span[style*="display:none"]+form,.popovermenu li>.menuitem>span.hidden+form,.popovermenu li>.menuitem>span[style*="display:none"]+form{margin-inline-start:0}.bubble li>button input,.bubble li>a input,.bubble li>.menuitem input,.app-navigation-entry-menu li>button input,.app-navigation-entry-menu li>a input,.app-navigation-entry-menu li>.menuitem input,.popovermenu li>button input,.popovermenu li>a input,.popovermenu li>.menuitem input{min-width:34px;max-height:30px;margin:2px 0;flex:1 1 auto}.bubble li>button input:not(:first-child),.bubble li>a input:not(:first-child),.bubble li>.menuitem input:not(:first-child),.app-navigation-entry-menu li>button input:not(:first-child),.app-navigation-entry-menu li>a input:not(:first-child),.app-navigation-entry-menu li>.menuitem input:not(:first-child),.popovermenu li>button input:not(:first-child),.popovermenu li>a input:not(:first-child),.popovermenu li>.menuitem input:not(:first-child){margin-inline-start:5px}.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.bubble li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>button>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>button>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>a>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>a>input,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>form,.popovermenu li:not(.hidden):not([style*="display:none"]):first-of-type>.menuitem>input{margin-top:7px}.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.bubble li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.app-navigation-entry-menu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>button>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>button>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>a>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>a>input,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>form,.popovermenu li:not(.hidden):not([style*="display:none"]):last-of-type>.menuitem>input{margin-bottom:0px}.bubble li>button,.app-navigation-entry-menu li>button,.popovermenu li>button{padding:0}.bubble li>button span,.app-navigation-entry-menu li>button span,.popovermenu li>button span{opacity:1}.popovermenu li>button>img,.popovermenu li>a>img,.popovermenu li>.menuitem>img{width:34px;height:34px}#contactsmenu .contact .popovermenu li>a>img{width:16px;height:16px}.app-content-list{position:-webkit-sticky;position:relative;top:0;border-inline-end:1px solid var(--color-border);display:flex;flex-direction:column;transition:transform 250ms ease-in-out;min-height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;flex:1 1 200px;min-width:200px;max-width:300px}.app-content-list .app-content-list-item{position:relative;height:68px;cursor:pointer;padding:10px 7px;display:flex;flex-wrap:wrap;align-items:center;flex:0 0 auto}.app-content-list .app-content-list-item>[class^=icon-],.app-content-list .app-content-list-item>[class*=" icon-"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]{order:4;width:24px;height:24px;margin:-7px;padding:22px;opacity:.3;cursor:pointer}.app-content-list .app-content-list-item>[class^=icon-]:hover,.app-content-list .app-content-list-item>[class^=icon-]:focus,.app-content-list .app-content-list-item>[class*=" icon-"]:hover,.app-content-list .app-content-list-item>[class*=" icon-"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"]:focus{opacity:.7}.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star],.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"],.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star],.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star],.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]{opacity:.7}.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star]:hover,.app-content-list .app-content-list-item>[class^=icon-][class^=icon-star]:focus,.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>[class^=icon-][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star]:hover,.app-content-list .app-content-list-item>[class*=" icon-"][class^=icon-star]:focus,.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>[class*=" icon-"][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class^=icon-star]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-][class*=" icon-star"]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class^=icon-star]:focus,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]:hover,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"][class*=" icon-star"]:focus{opacity:1}.app-content-list .app-content-list-item>[class^=icon-].icon-starred,.app-content-list .app-content-list-item>[class*=" icon-"].icon-starred,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class^=icon-].icon-starred,.app-content-list .app-content-list-item>.app-content-list-item-menu>[class*=" icon-"].icon-starred{opacity:1}.app-content-list .app-content-list-item:hover,.app-content-list .app-content-list-item:focus,.app-content-list .app-content-list-item.active{background-color:var(--color-background-dark)}.app-content-list .app-content-list-item:hover .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item:focus .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item.active .app-content-list-item-checkbox.checkbox+label{display:flex}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label,.app-content-list .app-content-list-item .app-content-list-item-star{position:absolute;height:40px;width:40px;z-index:50}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:checked+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:hover+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:focus+label,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox.active+label{display:flex}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:checked+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:hover+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox:focus+label+.app-content-list-item-icon,.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox.active+label+.app-content-list-item-icon{opacity:.7}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label{top:14px;inset-inline-start:7px;display:none}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label::before{margin:0}.app-content-list .app-content-list-item .app-content-list-item-checkbox.checkbox+label~.app-content-list-item-star{display:none}.app-content-list .app-content-list-item .app-content-list-item-star{display:flex;top:10px;inset-inline-start:32px;background-size:16px;height:20px;width:20px;margin:0;padding:0}.app-content-list .app-content-list-item .app-content-list-item-icon{position:absolute;display:inline-block;height:40px;width:40px;line-height:40px;border-radius:50%;vertical-align:middle;margin-inline-end:10px;color:#fff;text-align:center;font-size:1.5em;text-transform:capitalize;object-fit:cover;user-select:none;cursor:pointer;top:50%;margin-top:-20px}.app-content-list .app-content-list-item .app-content-list-item-line-one,.app-content-list .app-content-list-item .app-content-list-item-line-two{display:block;padding-inline:50px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;order:1;flex:1 1 0px;cursor:pointer}.app-content-list .app-content-list-item .app-content-list-item-line-two{opacity:.5;order:3;flex:1 0;flex-basis:calc(100% - var(--default-clickable-area))}.app-content-list .app-content-list-item .app-content-list-item-details{order:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;opacity:.5;font-size:80%;user-select:none}.app-content-list .app-content-list-item .app-content-list-item-menu{order:4;position:relative}.app-content-list .app-content-list-item .app-content-list-item-menu .popovermenu{margin:0;inset-inline-end:-2px}.app-content-list.selection .app-content-list-item-checkbox.checkbox+label{display:flex}.button.primary.skip-navigation:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2015 ownCloud Inc. + * SPDX-FileCopyrightText: 2015 Raghu Nayyar, http://raghunayyar.com + * SPDX-License-Identifier: AGPL-3.0-or-later + */body[dir=ltr] .pull-left,body[dir=ltr] .pull-start{float:left}body[dir=ltr] .pull-right,body[dir=ltr] .pull-end{float:right}body[dir=ltr] .clear-left,body[dir=ltr] .clear-start{clear:left}body[dir=ltr] .clear-right,body[dir=ltr] .clear-end{clear:right}body[dir=rtl] .pull-left,body[dir=rtl] .pull-start{float:right}body[dir=rtl] .pull-right,body[dir=rtl] .pull-end{float:left}body[dir=rtl] .clear-left,body[dir=rtl] .clear-start{clear:right}body[dir=rtl] .clear-right,body[dir=rtl] .clear-end{clear:left}.clear-both{clear:both}.hidden{display:none}.hidden-visually{position:absolute;inset-inline-start:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}.bold{font-weight:600}.center{text-align:center}.inlineblock{display:inline-block}/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */::-moz-focus-inner{border:0}/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */@media only screen and (width < 1024px){#dropdown{margin-inline-end:10% !important;width:80% !important}.ui-autocomplete{z-index:1000 !important}.error-wide{width:100%;margin-inline-start:0 !important;box-sizing:border-box}#app-navigation:not(.vue){transform:translateX(-300px);position:fixed;height:var(--body-height)}.snapjs-left #app-navigation{transform:translateX(0)}#app-navigation:not(.hidden)+#app-content{margin-inline-start:0}.skip-navigation.skip-content{inset-inline-start:3px;margin-inline-start:0}.app-content-list{background:var(--color-main-background);flex:1 1 100%;max-height:unset;max-width:100%}.app-content-list+.app-content-details{display:none}.app-content-list.showdetails{display:none}.app-content-list.showdetails+.app-content-details{display:initial}#app-content.showdetails #app-navigation-toggle{transform:translateX(-44px)}#app-content.showdetails #app-navigation-toggle-back{position:fixed;display:inline-block !important;top:50px;inset-inline-start:0;width:44px;height:44px;z-index:1050;background-color:hsla(0,0%,100%,.7);cursor:pointer;opacity:.6;transform:rotate(90deg)}#app-content.showdetails .app-content-list{transform:translateX(-100%)}#app-navigation-toggle{position:fixed;display:inline-block !important;inset-inline-start:0;width:44px;height:44px;z-index:1050;cursor:pointer;opacity:.6}#app-navigation-toggle:hover,#app-navigation-toggle:focus{opacity:1}#app-navigation+#app-content .files-controls{padding-inline-start:44px}#body-user .app-files.viewer-mode .files-controls{padding-inline-start:0 !important}.app-files.viewer-mode #app-navigation-toggle{display:none !important}table.multiselect thead{inset-inline-start:0 !important}#usersearchform{display:none}#body-settings .files-controls{min-width:1024px !important}}@media only screen and (max-width: 480px){#header .header-end>div>.menu{max-width:calc(100vw - 10px);position:fixed}#header .header-end>div>.menu::after{display:none !important}#header .header-end>div.openedMenu::after{display:block}#header .header-end>div::after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:0;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:15px;z-index:2001;display:none}#header .header-end>div#settings::after{inset-inline-end:27px}}/*! + * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2011-2015 Twitter, Inc. (Bootstrap (http://getbootstrap.com)) + * SPDX-License-Identifier: MIT + */.tooltip{position:absolute;display:block;font-family:var(--font-face);font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;overflow-wrap:anywhere;font-size:12px;opacity:0;z-index:100000;margin-top:-3px;padding:10px 0;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.tooltip.in,.tooltip.show,.tooltip.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.tooltip.top .tooltip-arrow,.tooltip[x-placement^=top]{inset-inline-start:50%;margin-inline-start:-10px}.tooltip.bottom,.tooltip[x-placement^=bottom]{margin-top:3px;padding:10px 0}.tooltip.right,.tooltip[x-placement^=right]{margin-inline-start:3px;padding:0 10px}.tooltip.right .tooltip-arrow,.tooltip[x-placement^=right] .tooltip-arrow{top:50%;inset-inline-start:0;margin-top:-10px;border-width:10px 10px 10px 0;border-inline-end-color:var(--color-main-background)}.tooltip.left,.tooltip[x-placement^=left]{margin-inline-start:-3px;padding:0 5px}.tooltip.left .tooltip-arrow,.tooltip[x-placement^=left] .tooltip-arrow{top:50%;inset-inline-end:0;margin-top:-10px;border-width:10px 0 10px 10px;border-inline-start-color:var(--color-main-background)}.tooltip.top .tooltip-arrow,.tooltip.top .arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-left .arrow,.tooltip[x-placement^=top] .tooltip-arrow,.tooltip[x-placement^=top] .arrow,.tooltip.top-right .tooltip-arrow,.tooltip.top-right .arrow{bottom:0;border-width:10px 10px 0;border-top-color:var(--color-main-background)}.tooltip.top-left .tooltip-arrow{inset-inline-end:10px;margin-bottom:-10px}.tooltip.top-right .tooltip-arrow{inset-inline-start:10px;margin-bottom:-10px}.tooltip.bottom .tooltip-arrow,.tooltip.bottom .arrow,.tooltip[x-placement^=bottom] .tooltip-arrow,.tooltip[x-placement^=bottom] .arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-left .arrow,.tooltip.bottom-right .tooltip-arrow,.tooltip.bottom-right .arrow{top:0;border-width:0 10px 10px;border-bottom-color:var(--color-main-background)}.tooltip[x-placement^=bottom] .tooltip-arrow,.tooltip.bottom .tooltip-arrow{inset-inline-start:50%;margin-inline-start:-10px}.tooltip.bottom-left .tooltip-arrow{inset-inline-end:10px;margin-top:-10px}.tooltip.bottom-right .tooltip-arrow{inset-inline-start:10px;margin-top:-10px}.tooltip-inner{max-width:350px;padding:5px 8px;background-color:var(--color-main-background);color:var(--color-main-text);text-align:center;border-radius:var(--border-radius)}.tooltip-arrow,.tooltip .arrow{position:absolute;width:0;height:0;border-color:rgba(0,0,0,0);border-style:solid}/*! + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */.toastify.dialogs{min-width:200px;background:none;background-color:var(--color-main-background);color:var(--color-main-text);box-shadow:0 0 6px 0 var(--color-box-shadow);padding:0 12px;margin-top:45px;position:fixed;z-index:10100;border-radius:var(--border-radius);display:flex;align-items:center;min-height:50px}.toastify.dialogs .toast-loader-container,.toastify.dialogs .toast-undo-container{display:flex;align-items:center;width:100%}.toastify.dialogs .toast-undo-button,.toastify.dialogs .toast-close{position:static;overflow:hidden;box-sizing:border-box;min-width:44px;height:100%;padding:12px;white-space:nowrap;background-repeat:no-repeat;background-position:center;background-color:transparent;min-height:0}.toastify.dialogs .toast-undo-button.toast-close,.toastify.dialogs .toast-close.toast-close{text-indent:0;opacity:.4;border:none;min-height:44px;margin-left:10px;font-size:0}.toastify.dialogs .toast-undo-button.toast-close::before,.toastify.dialogs .toast-close.toast-close::before{background-image:url("data:image/svg+xml,%3csvg%20viewBox='0%200%2016%2016'%20height='16'%20width='16'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2'%3e%3cpath%20d='M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z'%20style='fill-rule:nonzero'%20transform='matrix(.85714%200%200%20.85714%20-2.286%20-2.286)'/%3e%3c/svg%3e");content:" ";filter:var(--background-invert-if-dark);display:inline-block;width:16px;height:16px}.toastify.dialogs .toast-undo-button.toast-undo-button,.toastify.dialogs .toast-close.toast-undo-button{margin:3px;height:calc(100% - 6px);margin-left:12px}.toastify.dialogs .toast-undo-button:hover,.toastify.dialogs .toast-undo-button:focus,.toastify.dialogs .toast-undo-button:active,.toastify.dialogs .toast-close:hover,.toastify.dialogs .toast-close:focus,.toastify.dialogs .toast-close:active{cursor:pointer;opacity:1}.toastify.dialogs.toastify-top{right:10px}.toastify.dialogs.toast-with-click{cursor:pointer}.toastify.dialogs.toast-error{border-left:3px solid var(--color-error)}.toastify.dialogs.toast-info{border-left:3px solid var(--color-primary)}.toastify.dialogs.toast-warning{border-left:3px solid var(--color-warning)}.toastify.dialogs.toast-success{border-left:3px solid var(--color-success)}.toastify.dialogs.toast-undo{border-left:3px solid var(--color-success)}.toastify.dialogs.toast-loading{border-left:3px solid var(--color-primary)}.toastify.dialogs.toast-loading .toast-loader{display:inline-block;width:20px;height:20px;animation:rotate var(--animation-duration, 0.8s) linear infinite;margin-left:auto}.theme--dark .toastify.dialogs .toast-close.toast-close::before{background-image:url("data:image/svg+xml,%3csvg%20viewBox='0%200%2016%2016'%20height='16'%20width='16'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2'%3e%3cpath%20d='M6.4%2019%205%2017.6l5.6-5.6L5%206.4%206.4%205l5.6%205.6L17.6%205%2019%206.4%2013.4%2012l5.6%205.6-1.4%201.4-5.6-5.6L6.4%2019Z'%20style='fill:%23fff;fill-rule:nonzero'%20transform='matrix(.85714%200%200%20.85714%20-2.286%20-2.286)'/%3e%3c/svg%3e")}.nc-generic-dialog .dialog__actions{justify-content:space-between;min-width:calc(100% - 12px)}/*! + * SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */._file-picker__file-icon_3v9zx_9{position:relative;width:32px;height:32px;min-width:32px;min-height:32px;background-repeat:no-repeat;background-size:contain;display:flex;justify-content:center}._file-picker__file-icon--primary_3v9zx_21{color:var(--color-primary-element)}._file-picker__file-icon-overlay_3v9zx_25{color:var(--color-primary-element-text);position:absolute;inset-block-start:10px}/*! +* SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors +* SPDX-License-Identifier: AGPL-3.0-or-later +*/tr.file-picker__row[data-v-15187afc]{height:var(--row-height, 50px)}tr.file-picker__row td[data-v-15187afc]{cursor:pointer;overflow:hidden;text-overflow:ellipsis;border-bottom:none}tr.file-picker__row td.row-checkbox[data-v-15187afc]{padding:0 2px}tr.file-picker__row td[data-v-15187afc]:not(.row-checkbox){padding-inline:14px 0}tr.file-picker__row td.row-size[data-v-15187afc]{text-align:end;padding-inline:0 14px}tr.file-picker__row td.row-name[data-v-15187afc]{padding-inline:2px 0}@keyframes gradient-15187afc{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.loading-row .row-checkbox[data-v-15187afc]{text-align:center !important}.loading-row span[data-v-15187afc]{display:inline-block;height:24px;background:linear-gradient(to right, var(--color-background-darker), var(--color-text-maxcontrast), var(--color-background-darker));background-size:600px 100%;border-radius:var(--border-radius);animation:gradient-15187afc 12s ease infinite}.loading-row .row-wrapper[data-v-15187afc]{display:inline-flex;align-items:center}.loading-row .row-checkbox span[data-v-15187afc]{width:24px}.loading-row .row-name span[data-v-15187afc]:last-of-type{margin-inline-start:6px;width:130px}.loading-row .row-size span[data-v-15187afc]{width:80px}.loading-row .row-modified span[data-v-15187afc]{width:90px}/*! +* SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors +* SPDX-License-Identifier: AGPL-3.0-or-later +*/tr.file-picker__row[data-v-4892c2a0]{height:var(--row-height, 50px)}tr.file-picker__row td[data-v-4892c2a0]{cursor:pointer;overflow:hidden;text-overflow:ellipsis;border-bottom:none}tr.file-picker__row td.row-checkbox[data-v-4892c2a0]{padding:0 2px}tr.file-picker__row td[data-v-4892c2a0]:not(.row-checkbox){padding-inline:14px 0}tr.file-picker__row td.row-size[data-v-4892c2a0]{text-align:end;padding-inline:0 14px}tr.file-picker__row td.row-name[data-v-4892c2a0]{padding-inline:2px 0}.file-picker__row--selected[data-v-4892c2a0]{background-color:var(--color-background-dark)}.file-picker__row[data-v-4892c2a0]:hover{background-color:var(--color-background-hover)}.file-picker__name-container[data-v-4892c2a0]{display:flex;justify-content:start;align-items:center;height:100%}.file-picker__file-name[data-v-4892c2a0]{padding-inline-start:6px;min-width:0;overflow:hidden;text-overflow:ellipsis}.file-picker__file-extension[data-v-4892c2a0]{color:var(--color-text-maxcontrast);min-width:fit-content}.file-picker__header-preview[data-v-4f5d2a56]{width:22px;height:32px;flex:0 0 auto}.file-picker__files[data-v-4f5d2a56]{margin:2px;margin-inline-start:12px;overflow:scroll auto}.file-picker__files table[data-v-4f5d2a56]{width:100%;max-height:100%;table-layout:fixed}.file-picker__files th[data-v-4f5d2a56]{position:sticky;z-index:1;top:0;background-color:var(--color-main-background);padding:2px}.file-picker__files th .header-wrapper[data-v-4f5d2a56]{display:flex}.file-picker__files th.row-checkbox[data-v-4f5d2a56]{width:44px}.file-picker__files th.row-name[data-v-4f5d2a56]{width:230px}.file-picker__files th.row-size[data-v-4f5d2a56]{width:100px}.file-picker__files th.row-modified[data-v-4f5d2a56]{width:120px}.file-picker__files th[data-v-4f5d2a56]:not(.row-size) .button-vue__wrapper{justify-content:start;flex-direction:row-reverse}.file-picker__files th[data-v-4f5d2a56]:not(.row-size) .button-vue{padding-inline:16px 4px}.file-picker__files th.row-size[data-v-4f5d2a56] .button-vue__wrapper{justify-content:end}.file-picker__files th[data-v-4f5d2a56] .button-vue__wrapper{color:var(--color-text-maxcontrast)}.file-picker__files th[data-v-4f5d2a56] .button-vue__wrapper .button-vue__text{font-weight:normal}.file-picker__breadcrumbs[data-v-ec4d392b]{flex-grow:0 !important}.file-picker__side[data-v-f5975252]{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;min-width:200px;padding:2px;margin-block-start:7px;overflow:auto}.file-picker__side[data-v-f5975252] .button-vue__wrapper{justify-content:start}.file-picker__filter-input[data-v-f5975252]{margin-block:7px;max-width:260px}@media(max-width: 736px){.file-picker__side[data-v-f5975252]{flex-direction:row;min-width:unset}}@media(max-width: 512px){.file-picker__side[data-v-f5975252]{flex-direction:row;min-width:unset}.file-picker__filter-input[data-v-f5975252]{max-width:unset}}.file-picker__navigation{padding-inline:8px 2px}.file-picker__navigation,.file-picker__navigation *{box-sizing:border-box}.file-picker__navigation .v-select.select{min-width:220px}@media(min-width: 513px)and (max-width: 736px){.file-picker__navigation{gap:11px}}@media(max-width: 512px){.file-picker__navigation{flex-direction:column-reverse !important}}.file-picker__view[data-v-552cc2f5]{height:50px;display:flex;justify-content:start;align-items:center}.file-picker__view h3[data-v-552cc2f5]{font-weight:bold;height:fit-content;margin:0}.file-picker__main[data-v-552cc2f5]{box-sizing:border-box;width:100%;display:flex;flex-direction:column;min-height:0;flex:1;padding-inline:2px}.file-picker__main *[data-v-552cc2f5]{box-sizing:border-box}[data-v-552cc2f5] .file-picker{height:min(80vh,800px) !important}@media(max-width: 512px){[data-v-552cc2f5] .file-picker{height:calc(100% - 16px - var(--default-clickable-area)) !important}}[data-v-552cc2f5] .file-picker__content{display:flex;flex-direction:column;overflow:hidden}.public-auth-prompt__text[data-v-143ac1fb]{font-size:1.25em;margin-block:0 calc(3*var(--default-grid-baseline))}.public-auth-prompt__header[data-v-143ac1fb]{margin-block:0 calc(3*var(--default-grid-baseline))}.public-auth-prompt__header[data-v-143ac1fb]:first-child{margin-top:0}.public-auth-prompt__input[data-v-143ac1fb]{margin-block:calc(4*var(--default-grid-baseline)) calc(2*var(--default-grid-baseline))}/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */#body-public{--footer-height: calc(2lh + 2 * var(--default-grid-baseline))}#body-public .header-end #header-primary-action a{color:var(--color-primary-element-text)}#body-public .header-end #header-secondary-action ul li{min-width:270px}#body-public .header-end #header-secondary-action #header-actions-toggle{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);filter:var(--background-invert-if-dark)}#body-public .header-end #header-secondary-action #header-actions-toggle:hover,#body-public .header-end #header-secondary-action #header-actions-toggle:focus,#body-public .header-end #header-secondary-action #header-actions-toggle:active{opacity:1}#body-public .header-end #header-secondary-action #external-share-menu-item form{display:flex}#body-public .header-end #header-secondary-action #external-share-menu-item .hidden{display:none}#body-public .header-end #header-secondary-action #external-share-menu-item #save-button-confirm{flex-grow:0}#body-public #content{min-height:var(--body-height, calc(100% - var(--footer-height)));padding-block-end:var(--footer-height)}#body-public #app-content-vue{padding-block-end:var(--footer-height)}#body-public.layout-base #content{padding-top:0}#body-public p.info{margin:20px auto;text-shadow:0 0 2px rgba(0,0,0,.4);-moz-user-select:none;-ms-user-select:none;user-select:none}#body-public p.info,#body-public form fieldset legend,#body-public #datadirContent label,#body-public form fieldset .warning-info,#body-public form input[type=checkbox]+label{text-align:center}#body-public footer{position:fixed;bottom:var(--body-container-margin);background-color:var(--color-main-background);border-radius:var(--body-container-radius);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% - 2*var(--body-container-margin));margin-inline:var(--body-container-margin);padding-block:var(--default-grid-baseline)}#body-public footer .footer__legal-links{margin-block-end:var(--default-grid-baseline)}#body-public footer p{text-align:center;color:var(--color-text-maxcontrast);margin-block:0 var(--default-grid-baseline);width:100%}#body-public footer p a{display:inline-block;font-size:var(--default-font-size);font-weight:bold;line-height:var(--default-line-height);height:var(--default-line-height);color:var(--color-text-maxcontrast);white-space:nowrap}/*# sourceMappingURL=server.css.map */ diff --git a/core/css/server.css.map b/core/css/server.css.map new file mode 100644 index 00000000000..4a1b3a13ba4 --- /dev/null +++ b/core/css/server.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["server.scss","icons.scss","variables.scss","styles.scss","inputs.scss","functions.scss","header.scss","apps.scss","global.scss","fixes.scss","mobile.scss","tooltip.scss","../../node_modules/@nextcloud/dialogs/dist/style.css","public.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCwHQ,8BCtHR;AAAA;AAAA;AAAA,GCMA,MACC,mCACA,uCAGD,yQACC,SACA,UACA,SACA,oBACA,eACA,oBACA,wBACA,eACA,uCAGD,6CACC,aAID,0CACC,wDACA,aAGD,UACC,YAEA,8BAGD,6DACC,cAGD,MACC,yBACA,iBACA,mBAGD,cACC,iBACA,mBAGD,YACC,sBAGD,EACC,SACA,6BACA,qBACA,eACA,IACC,eAIF,WACC,aACA,0BAGD,MACC,eACA,QACC,eAIF,0BACC,eAGD,GACC,gBAGD,KACC,mBAEA,mCACA,uCACA,6BACA,6BAGD,mBACC,kBAGD,qBACC,kBACA,sBACA,qBACA,2BACA,2DACA,uBAGD,iBACC,qBACA,aACA,gCAGD,eACC,YACA,aAGD,cACC,eACA,MACA,SACA,qBACA,YACA,WACA,aACA,kBACA,gDACA,wCACA,iBACA,eACA,kBACC,cACA,kBACA,UACA,QACA,gBAED,gBACC,wCACA,sDACA,4CACC,6CAOH,oBACC,WACA,YAGD,2BACC,+BAGD,gCACC,+BAGD,0BACC,kCACA,yCACA,+BACA,4BAMD,YACC,8CACA,wCAMD,kBACC,sBAKD,4BAEC,oCACA,kBACA,gBACA,WACA,sDACC,gBAED,sEACC,gBAED,kCACC,mBAED,oHAEC,qBACA,YACA,WACA,mBACA,gcAEC,WAOH,sBACC,WASD,oCACC,kBACA,yBACA,sBACA,qBACA,iBAID,kBAEC,kBACA,qBACA,SAEA,YAGD,8CAGC,WAGD,8BACC,sBACA,oBACA,wBACA,wBAGD,2EACC,WAGD,oGACC,kDACA,UACA,qBAGD,mDACC,6BACA,YACA,WACA,yCACA,4BACA,2BACA,WAOA,qEACC,UAED,qEACC,UAIF,wEACC,aAGD,2CACC,wBAGD,yBACC,kBACA,qBACA,sBAGD,qBACC,cACA,mBACA,iBACA,uBACA,aAKD,4CACC,eACA,YACA,mCACA,6BACA,qDAIA,2BACC,4BAKD,wBACC,sBACA,4BACA,+BACC,2CACA,qBACA,kBAGF,0BACC,qBACA,iBAIF,YACC,YACA,sCACA,oBACC,sBAIF,eACC,2CAUD,mBACC,kBACA,cACA,2BACC,kBACA,cAIF,UACC,gBAGD,8CACC,UAIA,WACC,WACA,YAGD,8CAEC,UAGD,oGAGC,WAIF,mBACC,WACA,kBACA,QAEA,kDACC,UAKD,kDACC,UAIF,eACC,WAEA,0CACC,UAKD,uGACC,8CAIF,KACC,mFAGD,OACC,gBACA,YACA,eACA,qBACA,UACC,qBAIF,2FACC,gBACA,uBAGD,2BACC,yDAGD,2BACC,6DAID,yBACC,gBACA,gBACA,WACA,mCACA,YACA,wBAEA,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAED,oDACC,WAEA,4JAEC,kCACA,4BAGF,oEACC,UAID,oDACC,mBACA,gCACA,WACA,WACA,YAED,0DACC,yBAGA,+FACC,gDAGD,wOAGC,8CACA,wCACA,iBAGD,yNAEC,gCACA,WAOH,4FACC,iDAED,4FACC,gDAKD,4FACC,gDAED,4FACC,iDAIF,wCACC,gCACA,wCAKD,yBACC,2BACA,sBACA,mCACA,wBAEA,4CACC,uBAGD,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAIF,qFACC,yBAGA,iDACC,mBACA,gCACA,WACA,yDACC,UACA,WACA,iBAGF,uDACC,yBAGA,0TAIC,8CACA,wCACA,iBAGD,4FACC,gCAGD,qEACC,gDASH,oGACC,aACA,iBACA,8BACA,0GACC,cACA,SACA,YACA,YACA,WACA,aACA,mBACA,uBACA,8GACC,kBACA,kBACA,mBACA,6BACA,cACA,iBACA,WACA,YACA,YACA,eAOJ,WACC,0BAGD,aACC,WACA,sBACA,oBAKD,YACC,kCAMA,qBACC,WACA,aAED,wBACC,cACA,gDACA,WACA,aAED,2BACC,WACA,YACA,6BACC,WAGF,wBACC,wCACA,kBACA,mBACA,gBACA,uBACA,0CACA,kCACA,6DACC,0CAGF,sBACC,UACA,WAKF,YACC,oBACA,YAGD,SACC,oBACA,kDACA,4BACA,iCACA,YACA,0BACA,cACA,QACA,uBACA,mBACC,QACA,kBACA,qBACC,WAIA,wFACC,cAIF,gCACC,SACA,sBACA,mCACC,iBACA,gBACA,kBACA,uBACA,+DACC,+EAGF,+CACC,aAIH,gBACC,aACA,uBACC,QAGF,yBAEC,kBACA,aACA,WACA,uBACA,mBACA,gBACA,cAEA,gBAEA,8FAGC,oBAGF,yBACC,UACA,WAGD,oBACC,iBACA,uBAEA,2BACC,uBAGF,+DACC,UAEA,0JAEC,WAOH,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAOD,+CACC,SACA,kBAED,mDACC,gBAKF,cACC,mBAMD,mBACC,aACA,QACA,SACA,UCz0BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUA,kFACC,6BAGD,uGACC,wCAGD,sDACC,kCAMD,iHAUC,YACA,yCACA,sBAYA,oFACC,eACA,oCACA,sCACA,QA/BiB,GAmCnB,wBACC,aAID,yJAUC,iBACA,8CACA,6BACA,0CACA,mCACA,aACA,mCACA,YACA,uYACC,WACA,sBAOC,kxDAIC,oCACA,aAED,gmBACC,aACA,8CACA,6BAGF,maACC,6DACA,oDAGF,wNACC,8CACA,6BACA,eACA,WAED,wNACC,gBAED,oPACC,mDAGD,iNACC,8CACA,0CACA,wCACA,eAGA,kvBAEC,+CAIA,mjCAGC,oDACA,gDAED,gwBAEC,4CAED,2WACC,6CAGF,gRAEC,8CACA,6CACA,eAKH,2BACC,WACA,sBACA,gBACA,eACA,gDACA,aACA,mCAEA,8CACA,oCACA,eACA,WAKA,4KACC,6BACA,0BACA,qBAEA,qCAED,0EAIC,YACA,WAID,kBACC,WACA,cACA,gBACA,WACA,eAED,mBACC,SACA,QAED,iBACC,cAKF,6GASC,2FACA,mCACA,WACA,yCACA,eACA,sBACA,8CACA,oDACA,YAEA,kSAEC,0DAGD,mKACC,eAIF,qMAcC,WACA,sBACA,eACA,mCACA,8CACA,6BACA,iDACA,YACA,aACA,yCACA,uBACA,eACA,+0BACC,8CACA,kDAED,yRACC,YAIF,mCACC,8CACA,6BAGD,mCACC,aACA,YAID,OACC,iDACA,gBACA,8CACA,mCAGD,qBACC,qCAGD,qBACC,oCASA,2DACC,eAIA,sFACC,eAMH,sGAQC,iBACA,2CAGA,gMACC,SAGD,oIACC,+CACA,2CACA,sBACA,kKACC,qDACA,+CAaD,4MAEC,qBACA,2BACA,WASF,kGACC,qCACA,mDACA,mFACA,iBACA,4BAEA,yDACA,UACA,qCACA,oCACA,gBACA,eACA,oBACA,6HACC,eCzUF,+CDiVE,yOACC,gCAID,4qBAGC,qDACA,8CACA,6vBACC,uDAQH,+VACC,qDACA,mDAEA,UAOH,uBAEC,eAGD,2BAEC,mBASA,4GAEC,kBACA,4BACA,SACA,UACA,WACA,gBACA,oIACC,iBAED,4WAEC,eAED,gKACC,WACA,qBACA,OAvBmB,KAwBnB,MAxBmB,KAyBnB,sBACA,kBACA,aACA,sBACA,+CAED,oeAEC,0CAED,4LACC,oBACA,qCACA,kBACA,mBAED,4bAIC,8DACA,8CACA,0CAED,oMACC,+CACA,0DAED,oOACC,+CAID,gJACC,qBACA,yBAED,oMACC,cA/DmB,KAmEpB,mFACC,kBACA,OArEmB,KAsEnB,MAtEmB,KAuEnB,2BACA,2BAED,mGACC,yDAED,+GACC,0DAOD,gZAEC,2BAED,wUACC,aAzF0B,KA2F3B,4NACC,8DACA,+BACA,2BAED,gOACC,0CACA,2CAED,gQACC,8DACA,2CACA,+BAID,8OAEC,0CACA,6BACA,+DAED,6HACC,gEAED,mHACC,WAMH,iBACC,gBACA,8CACA,qCACC,sCAED,yBACC,qBACA,sBACA,sBACA,6BACC,eAGF,uCACC,gBACA,wDACA,yCAED,kCACC,iBACA,SACA,UACA,wDACC,mBACA,gBACA,uBACA,6DACC,eACA,gEACC,eACA,iBAIH,6JAGC,kBACA,kBACA,aACA,+BACA,eACA,oCAGA,mEACC,8CAGF,uDACE,8CACA,6BAKJ,qDACC,4CAGD,qDACC,2CAKA,oGAEC,eAKD,mHAEC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,YACA,gBACA,6IACC,0CAED,iKACC,iBACA,yBACA,stBAIC,sBACA,8CACA,oCACA,0CAED,2NACC,aAGF,2KACC,iBACA,gBACA,gBACA,6BACA,yMACC,2BAMJ,sBACC,WACA,sBACA,+DACC,aACA,eACA,kEACC,WAGF,uCACC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,iBACA,gBACA,oDACC,0CAED,8DACC,iBACA,yBACA,sBACA,8CACA,0CACA,2FACC,aAED,8JAEC,qCACA,iCAGF,sDACC,gBACA,gBACA,YACA,wDACC,mEACA,WAGF,2LAGC,WAED,mEACC,iBAMH,UACC,WACA,sBACA,qBACA,2BACC,wBACA,eACA,yCACC,iBACA,yBACA,sBACA,8CACA,oCACA,0CACA,oBACA,mBACA,gDACC,wBAIH,yBACC,UACA,4BACC,YACA,kBACA,kBACA,+BACA,eACA,oCACA,8BACC,mBACA,gBACA,uBACA,YACA,sBACA,uBACA,SACA,eACA,eACA,2BACA,yBACA,sBACA,qBACA,iBACA,oBACA,mBACA,0CACA,yBACA,sCACC,YACA,4CACA,4BACA,2BACA,eACA,gBACA,cACA,WACA,sBACA,kBAGF,sCACC,6BAED,qCACC,8CACA,6BACA,6CACC,mBAQL,mBACC,cACA,WACA,UACA,cACA,8CACA,mCACA,gBACA,WACA,gBAEC,2CACC,8BAED,gDACC,8BAGF,yCACC,yBAED,sCACC,mCACA,wCACA,iCAED,2CACC,mCACA,wCACA,iCAKF,iBACC,QAEC,0BAED,QAEC,yBAED,YAGC,0BAED,QAEC,0BAIF,OACC,qBACA,uBACA,mCAKD,cACC,kBACA,4BACA,aACA,UACA,WACA,gBAWD,cAJC,oCACA,mCAOD,wBARC,oCACA,mCAWD,4BAZC,oCACA,mCEl3BD;AAAA;AAAA;AAAA;AAAA,GAYA,cACC,kBACA,gBACA,aACA,WACA,uBACA,aACA,aACA,eACA,SAEA,2BACC,yBAKF,QAEC,yBACA,sBACA,qBACA,iBAGA,2BACC,oBACA,kBACA,MACA,WACA,aACA,4BACA,sBACA,8BAID,mBACC,cACA,0BACA,kBACA,iDACA,sBACA,UACA,mBACA,aACA,eACA,gBACA,WAEA,mDACC,UAID,yBACC,oBACA,yFACA,4BACA,wBACA,2BACA,WACA,kBACA,wBACA,QACA,WAEA,gFAMF,iIAGC,aAEA,sJACC,YACA,kBACA,oBACA,2BACA,WACA,WACA,kBACA,oDACA,uBACA,UAOF,sBACC,oBACA,mBACA,SACA,mBACA,YAKD,oBACC,oBACA,mBACA,yBACA,cAEA,uDAIA,iDAEC,YACA,kBACA,yEACC,aACA,uBACA,mBACA,2BACA,sCACA,eACA,YACA,UACA,aAEA,qFACC,UAGD,qGACC,aAIF,6DACC,8CACA,sDACA,yCACA,sBACA,aACA,kBACA,gBAvJH,mDACA,+EAwJG,qBACA,yBACA,SACA,gBAEA,iGACC,aAID,yEACC,gCACA,iDACA,YACA,YACA,SACA,QACA,kBACA,oBACA,sBAGD,wIAEC,iCAjLJ,mDACA,+EAsLG,mFACC,mBACA,eAED,sNAEC,qBACA,YACA,WAQJ,wBACC,yCACA,eACA,iBACA,SACA,UACA,uBACA,gBACA,uBAEA,cAGA,qCACC,aACA,sBACA,gBAEA,mDACC,gBACA,uBAGD,uDACC,yCACA,kBACA,gBACA,iCACA,mCACA,gBACA,uBAMJ,8DACC,2BACC,wBAGD,sBACC,wCAGD,MAEC,uGF7PF;AAAA;AAAA;AAAA;AAAA,GHQA,iCACC,4BACA,2BACA,eACA,gBAGD,iBACC,kDAID,sGAMC,kBACA,0IACC,UACA,WACA,YACA,WACA,uBACA,kBACA,QACA,uBACA,mBACA,6CACA,qCACA,gCACA,4BACA,wBACA,4CACA,2CAEA,wCAEA,gYAGC,uCAKH,wDAEC,2CACA,4CAGD,yDAEC,YACA,WACA,qBAKA,yJACC,2CAED,iMACC,gDAED,yMACC,iDAED,iPACC,sDAIF,kBACC,KACC,uBAED,GACC,0BAIF,SACC,gCAGD,yKAQC,wDGzGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GGSA,sCAEC,MACC,wCACA,yCAKF,KACC,WACA,YACA,kBAEA,6EAGD,KAEC,6EAEA,yCACA,sBACA,2BACA,eACA,WACA,iDAKD,eAKC,gBACA,gBACA,gBACA,mBACA,6BAGD,GACC,gBAGD,GACC,gBAGD,GACC,gBAGD,GACC,iBAGD,GACC,gBAID,GACC,kBACA,oCAGD,GACC,eAGD,MAEC,qBACA,aACA,uBAGD,GACC,YACA,mBACA,eAGD,IACC,iBACA,sBACA,kCACA,mCACA,qBACA,mBAMD,wBACC,sBAKD,0BAEC,gGACA,MLxBkB,MKyBlB,YACA,gBACA,kBACA,mDACA,8CACA,+EACA,gBACA,YACA,sBACA,qBACA,iBACA,aACA,sBACA,YACA,cAEA,kDACC,iBACA,0CACA,2EACA,mBACA,uBACA,2BACA,iBACA,oBACA,yBAQD,gGACC,cACA,6CACA,8GACC,qBACA,WACA,aACA,0BACA,iBACA,SAIF,8DACC,kBAED,8DACC,kBACA,YACA,WACA,kBACA,gBACA,sBACA,aACA,sBACA,6CACA,iBAEA,oFACC,oDAGD,oEACC,oBACA,eACA,QACA,cACA,SACA,kBACA,WACA,2CAGA,kFACC,QACA,4GACC,2BAIF,gIAEC,8DAED,0HAIC,0EAKA,wVAEC,+CAGF,oGACC,kDACA,yCAMA,gsBAEC,8CACA,wCAEA,g8BACC,qCAMH,sHACC,wBACA,SAMA,kNAEC,aAKF,0EACC,cACA,WACA,kBACA,gFACC,oBACA,eACA,mDACA,WACA,kBAIC,wXAEC,2CACA,+CAKD,gZAEC,2CACA,oDACA,ghBACC,qCAMH,kIACC,yDAGD,4IAEC,wBACA,0BAGD,sIAEC,wBAGA,6EAMJ,oJAEC,kBACA,sBAGC,4jBAGC,oCAIF,4JACC,0BACA,4BACA,cACA,8BACA,0CACA,yCACA,gBACA,oDACA,gBACA,sBACA,mBACA,uBACA,2CACA,6BACA,aACA,YAGA,4KACC,gBACA,kDACA,wOACC,gBACA,6DAGF,4NACC,kEACA,WACA,YAEA,wCAID,4QACC,qBAEA,4ZACC,gCAKH,wQACC,kBACA,cACA,YACA,WACA,YACA,YACA,kBACA,eACA,wCAEA,gRAEC,oCAKF,gQACC,kCAID,gSACC,UACA,YAED,4SACC,wBACA,YAIH,sEACC,aAMD,4YAEC,SACA,WACA,+BACA,4BACA,2BACA,w0BAEC,+BACA,UAUD,sGACC,UACA,kBACA,oCACA,qCACA,SACA,YAIA,qBAEA,kIACC,UACA,eACA,wDACA,gBAGF,gGACC,kBACA,qCACA,oCACA,SACA,UACA,gBFjZF,6CEmZE,qBACA,4BACA,2BACA,YACA,wBACA,gBACA,YACA,UACA,iCACA,6BACA,yBACA,YACA,kBACA,qCAMD,8GACC,mDAIA,wNACC,UAED,oMACC,sBAED,gTACC,oCAID,0GACC,4BACA,wBACA,oBAQH,gHACC,cACA,sHACC,wBACA,mBACA,yBAED,sHACC,+CACA,qCAED,8HACC,YACA,WACA,SACA,gBAIA,oSFpdF,uCEudE,obAEC,+BACA,UAGF,wLACC,gBACA,eACA,cACA,0CACA,eAEA,gNACC,UACA,kBACA,0NACC,gBACA,mBACA,8CACA,wCASJ,8GACC,mBACA,cACA,uBACA,qCACA,UACA,kBACA,8CACA,WACA,8OAEC,oBACA,WAED,0HACC,YACA,oBACA,YACA,4QAGC,UAGF,gJACC,WACA,YACA,wBACA,0BAED,wRAEC,WACA,YACA,cACA,4VACC,2BAED,gWACC,yBAED,oUACC,2CACA,6CACA,0BACA,4BAQH,oHACC,oBACA,mDACA,4BACA,wMACC,kBACA,mBACA,uBACA,gBACA,aACA,0CAED,8LACC,SACA,qCACA,oCACA,0CACA,oZAEC,UAQH,kOAEC,uBACA,2FAGA,kBACA,qBACA,8CACA,sBAMD,sFACC,gDACA,wCACA,oBAGD,sEACC,yBAGD,0OAEC,qBASA,0IACC,qCAGD,gHACC,qCAEA,wKACC,YASF,0IACC,sCAGD,gHACC,sCAEA,wKACC,WAOJ,SACC,sBACA,gBACA,oCACA,gCACA,UACA,aACA,kDACA,0BACA,2CACA,cAEA,kCACC,eAIF,2CACC,SACC,qDACA,mDAED,gBACC,qDAED,aACC,oDAcF,aACC,aACA,8CACA,iBACA,cACA,iBACA,YAGA,kCACC,gBAID,kCACC,aACA,kBACA,oBAGA,gBAGA,uDAEC,eACA,mFACC,aAKH,uCACC,oCASF,aACC,WACA,UL/qBmB,MKgrBnB,UL/qBmB,MKgrBnB,cACA,wBACA,gBACA,ILtrBe,KKurBf,mBACA,gBACA,kBACA,aACA,aACA,0BACA,wCACA,kDACA,cAEA,uBACC,aAOF,cAEC,gBAGC,oFACC,cAKH,sBACC,aACA,6CACA,cACA,0DAEA,iBACA,gBACA,sBAGA,uCACC,UAGD,iCACC,sBACA,sBACA,gCAOE,4NACC,qBACA,WACA,cAOL,qBACC,sBACA,+BACA,gBACA,oDACA,6CACA,cAEA,sCACC,aACA,mBACA,qCACA,WACA,UACA,SACA,+BACA,gBACA,SACA,oDACA,iBACA,mBACA,eACA,WAGA,6BAEA,6CACC,yCACA,8CACA,eAED,wFAEC,+CAGD,8CACC,2CACA,4BACA,WACA,oCACA,qCACA,MACA,qBACA,cAGD,oDACC,mEAOF,4DACC,qCAED,kEACC,qCAKD,4DACC,sCAED,kEACC,sCAIF,SACC,cACA,aACA,mBACA,gBACC,wBAIA,yDAEC,oBACA,sBAKH,aACC,kBACA,gBACA,yBACA,mBAGD,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAKF,YACC,aACA,mBAEA,uBACC,aACA,sBACA,YACA,kBACA,mBACA,gBACA,uBACA,eACA,gCACA,kBACA,YAEA,8BACC,aAID,mCACC,0BAED,kCACC,wBAGD,6BACC,qBACA,WACA,YACA,qBACA,sBACA,gBACA,sBACA,WACA,eAGD,yBACC,gCACA,kBACA,gBACA,uBAED,gCACC,iBAED,0FAGC,kBACA,6BACA,kDAMF,oBACC,oBAKF,6BACC,WAGD,6BACC,YASA,0JAGC,wCAIA,2LACC,YAKH,gDAGC,kBACA,8CACA,6BACA,yCACA,YACA,YACA,WACA,gBACA,mBACA,sDACA,aACA,mBAEA,kEACC,YAKA,qBAEA,2BACA,YACA,SACA,QACA,kBACA,oBACA,iDACA,iBAGD,oFACC,0BACA,qBACA,oBACA,sGACC,qBACA,0BAIF,8EACC,oBACA,oBACA,gGACC,sBAIF,+DACC,cAGD,+GACC,SAGD,yDAEC,wBACA,sBAED,yDACC,aACA,cAEA,8EACC,aAGD,oOAGC,eACA,YA/FkB,KAgGlB,SACA,yCACA,+BACA,aACA,uBACA,YACA,SACA,mBACA,gBACA,WACA,6BACA,mBAEA,whDAIC,YACA,aACA,+BACA,gBAnHe,KAqHhB,yzBAIC,yBAOC,gvGACC,oBAlIe,KAsIlB,+tBAEC,gCAED,ojBAEC,+CAED,4nBAEC,kDAED,mSACC,2CACA,oDAGD,mSACC,2BAED,iRACC,eACA,mBAED,sPACC,YACA,kBACA,cACA,mBAED,mSACC,SACA,wBAGD,gVACC,kCAID,wQACC,MA9Ke,KA+Kf,YAGD,uyBAEC,qBACA,WAED,yeACC,mBAED,8cACC,mBAED,2xBACC,YAED,iRACC,aACA,cAGA,mBACA,mbACC,wBAIF,04BAEC,sBAGD,0RACC,UAlNiB,KAmNjB,gBACA,aACA,cAEA,4bACC,wBAQA,2hDACC,eAMD,ygDACC,kBAKJ,8EACC,UACA,6FACC,UAcD,+EACC,MA/PiB,KAgQjB,OAhQiB,KAyQlB,6CACC,WACA,YAOJ,kBACC,wBACA,kBACA,MACA,gDACA,aACA,sBACA,uCACA,gBACA,gBACA,gBACA,kBACA,eACA,UL5sCgB,MK6sChB,UL5sCgB,MK+sChB,yCACC,kBACA,YACA,eACA,iBACA,aACA,eACA,mBACA,cAKC,8RAEC,QACA,WACA,YACA,YACA,aACA,WACA,eACA,4mBAEC,WAED,wtBAEC,WACA,ghDAEC,UAIF,kVACC,UAKH,8IAGC,8CAEA,2RACC,aAIF,6JAEC,kBACA,YACA,WACA,WAQC,2XAEC,aAEA,2eACC,WAIH,wFACC,SACA,uBAEA,aACA,gGACC,SAGD,oHACC,aAKH,qEACC,aACA,SACA,wBACA,qBACA,YACA,WACA,SACA,UAGD,qEACC,kBACA,qBACA,YACA,WACA,iBACA,kBACA,sBACA,uBACA,WACA,kBACA,gBACA,0BACA,iBACA,iBACA,eACA,QACA,iBAGD,kJAEC,cACA,yBACA,mBACA,gBACA,uBACA,QACA,aACA,eAGD,yEACC,WACA,QACA,SACA,sDAGD,wEACC,QACA,mBACA,gBACA,uBACA,gBACA,WACA,cACA,iBAGD,qEACC,QACA,kBACA,kFACC,SAGA,sBAIH,2EACC,aAIF,8CACC,6DACA,oDCt9CD;AAAA;AAAA;AAAA;AAAA;AAAA,GAcC,mDAEC,WAGD,kDAEC,YAGD,qDAEC,WAGD,oDAEC,YAKD,mDAEC,YAGD,kDAEC,WAGD,qDAEC,YAGD,oDAEC,WAIF,YACC,WAGD,QACC,aAGD,iBACC,kBACA,4BACA,aACA,UACA,WACA,gBAGD,MACC,gBAGD,QACC,kBAGD,aACC,qBCnFD;AAAA;AAAA;AAAA,GAOA,mBACC,SCRD;AAAA;AAAA;AAAA,GAMA,wCAGC,UACC,iCACA,qBAID,iBACC,wBAID,YACC,WACA,iCACA,sBAID,0BACC,6BACA,eACA,0BAGA,6BACC,wBAIF,0CACC,sBAGD,8BACC,uBACA,sBAID,kBACC,wCACA,cAEA,iBAEA,eACA,uCACC,aAED,8BACC,aACA,mDACC,gBAOF,gDACC,4BAED,qDACC,eACA,gCACA,IRiBa,KQhBb,qBACA,WACA,YACA,aACA,oCACA,eACA,WACA,wBAED,2CACC,4BAKF,uBACC,eACA,gCACA,qBACA,WACA,YACA,aACA,eACA,WAED,0DAEC,UAID,6CACC,0BAID,kDACC,kCAED,8CACC,wBAGD,wBACC,gCAID,gBACC,aAED,+BACC,6BAMF,0CACC,8BACC,6BACA,eACA,qCACC,wBAMA,0CACC,cAGF,+BACC,gCACA,iDACA,SACA,YACA,SACA,QACA,kBACA,oBACA,sBACA,aACA,aAID,wCACC,uBCpKH;AAAA;AAAA;AAAA;AAAA,GAMA,SACI,kBACA,cACA,6BACA,kBACA,mBACA,sBACA,gBACA,gBACA,iBACA,qBACA,iBACA,oBACA,mBACA,kBACA,oBACA,iBACA,uBACA,eACA,UACA,eAEA,gBACA,eACA,uDACA,8DAGI,mBACA,UACA,wBAEJ,uDAEI,uBACA,0BAEJ,8CAEI,eACA,eAEJ,4CAEI,wBACA,eACA,0EACI,QACA,qBACA,iBACA,8BACA,qDAGR,0CAEI,yBACA,cACA,wEACI,QACA,mBACA,iBACA,8BACA,uDAQJ,kPACI,SACA,yBACA,8CAGR,iCACI,sBACA,oBAEJ,kCACI,wBACA,oBAOA,0QACI,MACA,yBACA,iDAGR,4EAEI,uBACA,0BAEJ,oCACI,sBACA,iBAEJ,qCACI,wBACA,iBAIR,eACI,gBACA,gBACA,8CACA,6BACA,kBACA,mCAGJ,+BACI,kBACA,QACA,SACA,2BACA,mBCnIJ;AAAA;AAAA;AAAA,GAIA,kBACE,gBACA,gBACA,8CACA,6BACA,6CACA,eACA,gBACA,eACA,cACA,mCACA,aACA,mBACA,gBAEF,kFAEE,aACA,mBACA,WAEF,oEAEE,gBACA,gBACA,sBACA,eACA,YACA,aACA,mBACA,4BACA,2BACA,6BACA,aAEF,4FAEE,cACA,WACA,YACA,gBACA,iBACA,YAGF,4GAEE,sfACA,YACA,wCACA,qBACA,WACA,YAEF,wGAEE,WACA,wBACA,iBAEF,kPAIE,eACA,UAEF,+BACE,WAEF,mCACE,eAEF,8BACE,yCAEF,6BACE,2CAEF,gCACE,2CAEF,gCACE,2CAEF,6BACE,2CAEF,gCACE,2CAEF,8CACE,qBACA,WACA,YACA,iEACA,iBAOF,gEACE,kgBAEF,oCACC,8BACA,4BAED;AAAA;AAAA;AAAA,GAQA,iCACE,kBACA,WACA,YACA,eACA,gBACA,4BACA,wBACA,aACA,uBAGF,2CACE,mCAGF,0CACE,wCACA,kBACA,uBACD;AAAA;AAAA;AAAA,EAID,qCACE,+BAEF,wCACE,eACA,gBACA,uBACA,mBAEF,qDACE,cAEF,2DACE,sBAEF,iDACE,eACA,sBAEF,iDACE,qBAEF,6BACA,GACI,2BAEJ,IACI,6BAEJ,KACI,4BAGJ,4CACE,6BAEF,mCACE,qBACA,YACA,oIACA,2BACA,mCACA,8CAEF,2CACE,oBACA,mBAEF,iDACE,WAEF,0DACE,wBACA,YAEF,6CACE,WAEF,iDACE,WACD;AAAA;AAAA;AAAA,EAID,qCACE,+BAEF,wCACE,eACA,gBACA,uBACA,mBAEF,qDACE,cAEF,2DACE,sBAEF,iDACE,eACA,sBAEF,iDACE,qBAEF,6CACE,8CAEF,yCACE,+CAEF,8CACE,aACA,sBACA,mBACA,YAEF,yCACE,yBACA,YACA,gBACA,uBAEF,8CACE,oCACA,sBACD,8CACC,WACA,YACA,cAEF,qCACE,WACA,yBACA,qBAEF,2CACE,WACA,gBACA,mBAEF,wCACE,gBACA,UACA,MACA,8CACA,YAEF,wDACE,aAEF,qDACE,WAEF,iDACE,YAEF,iDACE,YAEF,qDACE,YAEF,4EACE,sBACA,2BAEF,mEACE,wBAEF,sEACE,oBAEF,6DACE,oCAEF,+EACE,mBACD,2CACC,uBACD,oCACC,aACA,sBACA,oBACA,UACA,gBACA,YACA,uBACA,cAEF,yDACE,sBAEF,4CACE,iBACA,gBAEF,yBACA,oCACI,mBACA,iBAGJ,yBACA,oCACI,mBACA,gBAEJ,4CACI,iBAGJ,yBACE,uBAEF,oDACE,sBAEF,0CACE,gBAEF,+CACA,yBACI,UAGJ,yBACA,yBACI,0CAEH,oCACC,YACA,aACA,sBACA,mBAEF,uCACE,iBACA,mBACA,SAEF,oCACE,sBACA,WACA,aACA,sBACA,aACA,OACA,mBAEF,sCACE,sBAEF,+BACE,kCAEF,yBACA,+BACI,qEAGJ,wCACE,aACA,sBACA,gBACD,2CACC,iBACA,oDAEF,6CACE,oDAEF,yDACE,aAEF,4CACE,uFCnZF;AAAA;AAAA;AAAA,GAIA,aACC,8DAGC,kDACC,wCAIA,wDACC,gBAED,yEACC,+BACA,2BACA,wCAEA,8OAGC,UAID,iFACC,aAED,oFACC,aAED,iGACC,YAMJ,sBACC,iEACA,uCAGD,8BACC,uCAID,kCACC,cAGD,oBACC,iBACA,mCACA,sBACA,qBACA,iBAED,+KAIC,kBAID,oBACC,eACA,oCACA,8CACA,2CACA,sBAEA,aACA,sBACA,mBACA,uBAEA,kDACA,2CACA,2CAEA,yCACC,8CAGD,sBACC,kBACA,oCACA,4CACA,WAEA,wBACC,qBACA,mCACA,iBACA,uCACA,kCACA,oCACA","file":"server.css"}
\ No newline at end of file diff --git a/core/css/server.css.map.license b/core/css/server.css.map.license new file mode 100644 index 00000000000..0801c996d9d --- /dev/null +++ b/core/css/server.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/server.scss b/core/css/server.scss new file mode 100644 index 00000000000..593556a65f8 --- /dev/null +++ b/core/css/server.scss @@ -0,0 +1,16 @@ +/*! + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +@use 'styles'; +@use 'inputs'; +@use 'header'; +@use 'icons'; +@use 'apps'; +@use 'global'; +@use 'fixes'; +@use 'mobile'; +@use 'tooltip'; +// If you include .css, it will be imported as url +@use '../../node_modules/@nextcloud/dialogs/dist/style'; +@use 'public'; diff --git a/core/css/share.css b/core/css/share.css deleted file mode 100644 index 047bb5eba50..00000000000 --- a/core/css/share.css +++ /dev/null @@ -1,173 +0,0 @@ -/* 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. */ - -#dropdown { - background: #eee; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - box-shadow: 0 2px 3px rgba(50, 50, 50, .4); - display: block; - margin-right: 0; - position: absolute; - right: 0; - width: 420px; - z-index: 500; - padding: 16px; -} - -@media only screen and (min-width: 768px) and (max-width: 990px) { - #dropdown { - /* this limits the dropdown to float below the sidebar for mid narrow screens */ - left: 20px; - } -} - -.shareTabView .unshare.icon-loading-small { - margin-top: 1px; -} - -.shareTabView .shareWithLoading, -.shareTabView .linkShare .icon-loading-small { - display: inline-block !important; - padding-left: 10px; -} -.shareTabView .shareWithLoading { - position: relative; - right: 70px; - top: 2px; -} -.shareTabView .icon-loading-small.hidden { - display: none !important; -} - -.shareTabView .avatar { - margin-right: 8px; - display: inline-block; - overflow: hidden; - vertical-align: middle; - width: 32px; - height: 32px; -} - -#shareWithList { - list-style-type:none; - padding:8px; -} - -#shareWithList li { - padding-top: 10px; - padding-bottom: 10px; - font-weight: bold; - line-height: 21px; - white-space: normal; -} - -#shareWithList .shareOption { - white-space: nowrap; - display: inline-block; -} - -#shareWithList .unshare img, #shareWithList .showCruds img { - vertical-align:text-bottom; /* properly align icons */ -} - -#shareWithList label input[type=checkbox]{ - margin-left: 0; - position: relative; -} -#shareWithList .username{ - padding-right: 8px; - white-space: nowrap; - text-overflow: ellipsis; - max-width: 254px; - display: inline-block; - overflow: hidden; - vertical-align: middle; -} -#shareWithList li label{ - margin-right: 8px; -} -.shareTabView label { - font-weight:400; - white-space: nowrap; -} - -.shareTabView input[type="checkbox"] { - margin:0 3px 0 8px; - vertical-align: middle; -} - -a.showCruds { - display:inline; - opacity:.5; -} - -a.unshare { - display:inline; - float:right; - opacity:.5; - padding: 10px; - margin-top: -5px; - margin-right: -10px; -} - -#link { - border-top:1px solid #ddd; - padding-top:8px; -} - -.shareTabView input[type="submit"] { - margin-left: 7px; -} - -.shareTabView form { - font-size: 100%; - margin-left: 0; - margin-right: 0; -} - -.shareTabView .error { - color: #e9322d; - border-color: #e9322d; - box-shadow: 0 0 6px #f8b9b7; -} - -#link #showPassword img { - padding-left:5px; - width:12px; -} - -.reshare,#link label, -#expiration label { - display: inline-block; - padding: 6px 4px; -} - -a.showCruds:hover,a.unshare:hover { - opacity:1; -} - -#defaultExpireMessage, /* fix expire message going out of box */ -.reshare { /* fix shared by text going out of box */ - white-space:normal; -} - -#defaultExpireMessage { /* show message on new line */ - display: block; - padding-left: 4px; - /* TODO: style the dropdown in a proper way - border-box, etc. */ - width: 90%; -} - -.ui-autocomplete { /* limit dropdown height to 4 1/2 entries */ - max-height:103px; - overflow-y:auto; - overflow-x:hidden; -} - -.notCreatable { - padding-left: 12px; - padding-top: 12px; - color: #999; -} diff --git a/core/css/styles.css b/core/css/styles.css index a1dda59a86b..14617b81b16 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -1,962 +1,8 @@ -/* 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. */ - -html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section { margin:0; padding:0; border:0; outline:0; font-weight:inherit; font-size:100%; font-family:inherit; vertical-align:baseline; cursor:default; } -html, body { height:100%; } -article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block; } -body { line-height:1.5; } -table { border-collapse:separate; border-spacing:0; white-space:nowrap; } -caption, th, td { text-align:left; font-weight:normal; } -table, td, th { vertical-align:middle; } -a { border:0; color:#000; text-decoration:none;} -a, a *, input, input *, select, .button span, label { cursor:pointer; } -ul { list-style:none; } - -body { - background-color: #ffffff; - font-weight: 400; - font-size: .8em; - line-height: 1.6em; - font-family: 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif; - color: #000; - height: auto; -} - -#body-login { - text-align: center; - background: #1d2d44; /* Old browsers */ - background: -moz-linear-gradient(top, #35537a 0%, #1d2d44 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#35537a), color-stop(100%,#1d2d44)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #35537a 0%,#1d2d44 100%); /* Chrome10+,Safari5.1+ */ - background: linear-gradient(top, #35537a 0%,#1d2d44 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#35537a', endColorstr='#1d2d44',GradientType=0 ); /* IE6-9 */ -} - -.float-spinner { - height: 32px; - display: none; -} -#body-login .float-spinner { - margin-top: -32px; - padding-top: 32px; -} - -#nojavascript { - position: fixed; - top: 0; - bottom: 0; - height: 100%; - width: 100%; - z-index: 9000; - text-align: center; - background-color: rgba(0,0,0,0.5); - color: #fff; - line-height: 125%; - font-size: 24px; -} -#nojavascript div { - display: block; - position: relative; - width: 50%; - top: 35%; - margin: 0px auto; -} -#nojavascript a { - color: #fff; - border-bottom: 2px dotted #fff; -} -#nojavascript a:hover, -#nojavascript a:focus { - color: #ddd; -} - -/* SCROLLING */ -::-webkit-scrollbar { - width: 5px; -} -::-webkit-scrollbar-track-piece { - background-color: transparent; -} -::-webkit-scrollbar-thumb { - background: #ddd; - border-radius: 3px; -} - -/* Searchbox */ -.searchbox input[type="search"] { - position: relative; - font-size: 1.2em; - padding: 3px; - padding-left: 25px; - background: transparent url('../img/actions/search-white.svg') no-repeat 6px center; - color: #fff; - border: 0; - border-radius: 3px; - margin-top: 9px; - float: right; - width: 0; - cursor: pointer; - -webkit-transition: all 100ms; - transition: all 100ms; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - opacity: .7; -} -.searchbox input[type="search"]:focus, -.searchbox input[type="search"]:active, -.searchbox input[type="search"]:valid { - color: #fff; - width: 155px; - max-width: 50%; - cursor: text; - background-color: #112; -} - -/* CONTENT ------------------------------------------------------------------ */ -#controls { - box-sizing: border-box; - position: fixed; - top: 45px; - right: 0; - left: 0; - height: 44px; - width: 100%; - padding: 0; - margin: 0; - background-color: rgba(255, 255, 255, .95); - z-index: 50; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -/* position controls for apps with app-navigation */ -#app-navigation+#app-content #controls { - left: 250px; -} -.viewer-mode #app-navigation+#app-content #controls { - left: 0; -} - -#controls .button, -#controls button, -#controls input[type='submit'], -#controls input[type='text'], -#controls input[type='password'], -#controls select { - box-sizing: border-box; - display: inline-block; - height: 36px; - padding: 7px 10px -} - -#controls .button.hidden { - display: none; -} - -#content { - position: relative; - height: 100%; - width: 100%; -} -#content .hascontrols { - margin-top: 45px; -} -#content-wrapper { - position: absolute; - height: 100%; - width: 100%; - overflow-x: hidden; /* prevent horizontal scrollbar */ - padding-top: 45px; - box-sizing:border-box; -} -/* allow horizontal scrollbar for personal and admin settings */ -#body-settings:not(.snapjs-left) .app-settings { - overflow-x: auto; -} - -#emptycontent, -.emptycontent { - color: #888; - text-align: center; - margin-top: 100px; /* ie8 */ - margin-top: 30vh; - width: 100%; -} -#emptycontent.emptycontent-search, -.emptycontent.emptycontent-search { - position: static; -} -#emptycontent h2, -.emptycontent h2 { - margin-bottom: 10px; - line-height: 150%; -} -#emptycontent [class^="icon-"], -.emptycontent [class^="icon-"], -#emptycontent [class*=" icon-"], -.emptycontent [class*=" icon-"] { - background-size: 64px; - height: 64px; - width: 64px; - margin: 0 auto 15px; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; - opacity: .4; -} - - -/* LOG IN & INSTALLATION ------------------------------------------------------------ */ - -/* Some whitespace to the top */ -#body-login #header { - padding-top: 100px; -} -#body-login { - background-attachment: fixed; /* fix background gradient */ - height: 100%; /* fix sticky footer */ -} - -/* Dark subtle label text */ -#body-login p.info, -#body-login form fieldset legend, -#body-login #datadirContent label, -#body-login form fieldset .warning-info, -#body-login form input[type="checkbox"]+label { - text-align: center; - color: #ccc; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; - opacity: .6; -} -/* overrides another !important statement that sets this to unreadable black */ -#body-login form .warning input[type="checkbox"]:hover+label, -#body-login form .warning input[type="checkbox"]:focus+label, -#body-login form .warning input[type="checkbox"]+label { - color: #fff !important; -} - -#body-login .update h2 { - margin: 12px 0 20px; -} - -#body-login .update a { - color: #fff; - border-bottom: 1px solid #aaa; -} - -#body-login .infogroup { - margin-bottom: 15px; -} - -#body-login p#message img { - vertical-align: middle; - padding: 5px; -} - -#body-login div.buttons { - text-align: center; -} -#body-login p.info { - width: 22em; - margin: 0 auto; - padding-top: 20px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -#body-login p.info a { - font-weight: 600; - padding: 13px; - margin: -13px; -} - -/* position log in button as confirm icon in right of password field */ -#body-login #submit.login { - position: absolute; - right: 0; - top: 0; - border: none; - background-color: transparent; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; - opacity: .3; -} -#body-login #submit.login:hover, -#body-login #submit.login:focus { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - opacity: .7; -} -#body-login input[type="password"] { - padding-right: 40px; - box-sizing: border-box; - min-width: 269px; -} - -#body-login form { - position: relative; - width: 280px; - margin: 32px auto; - padding: 0; -} -#body-login form fieldset { - margin-bottom: 20px; - text-align: left; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -#body-login form #sqliteInformation { - margin-top: -20px; - margin-bottom: 20px; -} -#body-login form #adminaccount { - margin-bottom: 15px; -} -#body-login form fieldset legend, #datadirContent label { - width: 100%; -} -#body-login #datadirContent label { - display: block; - margin: 0; -} -#body-login form #datadirField legend { - margin-bottom: 15px; -} -#body-login #showAdvanced { - padding: 13px; /* increase clickable area of Advanced dropdown */ -} -#body-login #showAdvanced img { - vertical-align: bottom; /* adjust position of Advanced dropdown arrow */ - margin-left: -4px; -} -#body-login .icon-info-white { - padding: 10px; -} - -/* strengthify wrapper */ -#body-login .strengthify-wrapper { - display: inline-block; - position: relative; - left: 15px; - top: -21px; - width: 252px; -} - -/* tipsy for the strengthify wrapper looks better with following font settings */ -#body-login .tipsy-inner { - font-weight: bold; - color: #ccc; -} - -/* General new input field look */ -#body-login input[type="text"], -#body-login input[type="password"], -#body-login input[type="email"] { - border: none; - font-weight: 300; -} - -/* Nicely grouping input field sets */ -.grouptop, -.groupmiddle, -.groupbottom { - position: relative; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -#body-login .grouptop input, -.grouptop input { - margin-bottom: 0; - border-bottom: 0; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} -#body-login .groupmiddle input, -.groupmiddle input { - margin-top: 0; - margin-bottom: 0; - border-top: 0; - border-bottom: 0; - border-radius: 0; - box-shadow: 0 1px 0 rgba(0,0,0,.1) inset !important; -} -#body-login .groupbottom input, -.groupbottom input { - margin-top: 0; - border-top: 0; - border-top-right-radius: 0; - border-top-left-radius: 0; - box-shadow: 0 1px 0 rgba(0,0,0,.1) inset !important; -} -#body-login .groupbottom input[type=submit] { - box-shadow: none !important; -} - -/* keep the labels for screen readers but hide them since we use placeholders */ -label.infield { - display: none; -} - -#body-login form input[type="checkbox"]+label { - position: relative; - margin: 0; - padding: 14px; - padding-left: 28px; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -html.ie8 #body-login form input[type="checkbox"]+label { - margin-left: -28px; - margin-top: -3px; - vertical-align: auto; -} -html.ie8 #body-login form input[type="checkbox"] { - margin-top: 5px; -} -#body-login form .errors { background:#fed7d7; border:1px solid #f00; list-style-indent:inside; margin:0 0 2em; padding:1em; } -#body-login .success { background:#d7fed7; border:1px solid #0f0; width: 35%; margin: 30px auto; padding:1em; text-align: center;} - -#body-login #remember_login:hover+label, -#body-login #remember_login:focus+label { - color: #fff !important; -} - -#body-login #showAdvanced > img { - padding: 4px; - box-sizing: border-box; -} - -#body-login p.info a, #body-login #showAdvanced { - color: #ccc; -} - -#body-login p.info a:hover, #body-login p.info a:focus { - color: #fff; -} - - -#body-login footer .info { - white-space: nowrap; -} - -/* Show password toggle */ -#show, #dbpassword { - position: absolute; - right: 1em; - top: .8em; - float: right; -} -#show, #dbpassword, #personal-show { - display: none; -} -#show + label, #dbpassword + label { - right: 21px; - top: 15px !important; - margin: -14px !important; - padding: 14px !important; -} -#show:checked + label, #dbpassword:checked + label, #personal-show:checked + label { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; - opacity: .8; -} -#show + label, #dbpassword + label, #personal-show + label { - position: absolute !important; - height: 20px; - width: 24px; - background-image: url('../img/actions/toggle.svg'); - background-repeat: no-repeat; - background-position: center; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; - opacity: .3; -} -#show + label:before, #dbpassword + label:before, #personal-show + label:before { - display: none; -} -#pass2, input[name="personal-password-clone"] { - padding: .6em 2.5em .4em .4em; - width: 8em; -} -#personal-show + label { - height: 14px; - margin-top: 14px; - margin-left: -36px; -} -#passwordbutton { - margin-left: .5em; -} - -/* Database selector */ -#body-login form #selectDbType { text-align:center; white-space: nowrap; } -#body-login form #selectDbType .info { - white-space: normal; -} -#body-login form #selectDbType label { - position:static; margin:0 -3px 5px; padding:.4em; - font-size:12px; background:#f8f8f8; color:#888; cursor:pointer; - border: 1px solid #ddd; -} -#body-login form #selectDbType label.ui-state-hover, #body-login form #selectDbType label.ui-state-active { color:#000; background-color:#e8e8e8; } - - -/* Warnings and errors are the same */ -#body-login .warning, -#body-login .update, -#body-login .error { - display: block; - padding: 10px; - background-color: rgba(0,0,0,.3); - color: #fff; - text-align: left; - border-radius: 3px; - cursor: default; -} - -#body-login .update { - width: inherit; - text-align: center; -} - -#body-login .update .appList { - list-style: disc; - text-align: left; - margin-left: 25px; - margin-right: 25px; -} - -#body-login .v-align { - width: inherit; -} - -#body-login .update img.float-spinner { - float: left; -} - -#body-user .warning, #body-settings .warning { - margin-top: 8px; - padding: 5px; - background: #fdd; - border-radius: 3px; -} - -.warning legend, -.warning a, -.error a { - color: #fff !important; - font-weight: 600 !important; -} -.error a.button { - color: #555 !important; - display: inline-block; - text-align: center; -} -.error pre { - white-space: pre-wrap; - text-align: left; -} - -.error-wide { - width: 700px; - margin-left: -200px !important; -} - -.error-wide .button { - color: black !important; -} - -.warning-input { - border-color: #ce3702 !important; -} - -/* Fixes for log in page, TODO should be removed some time */ -#body-login .update, -#body-login .error { - margin: 35px auto; -} -#body-login .warning { - margin: 0 7px 5px 4px; -} -#body-login .warning legend { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - opacity: 1; -} -#body-login a.warning { - cursor: pointer; -} - -/* fixes for update page TODO should be fixed some time in a proper way */ -/* this is just for an error while updating the ownCloud instance */ -#body-login .updateProgress .error { - margin-top: 10px; - margin-bottom: 10px; -} - -/* Alternative Logins */ -#alternative-logins legend { margin-bottom:10px; } -#alternative-logins li { height:40px; display:inline-block; white-space:nowrap; } - -/* Log in and install button */ -#body-login input { - font-size: 20px; - margin: 5px; - padding: 11px 10px 9px; -} -#body-login input[type="text"], -#body-login input[type="password"] { - width: 249px; -} -#body-login input.login { - width: auto; - float: right; -} -#body-login input[type="submit"] { - padding: 10px 20px; /* larger log in and installation buttons */ -} -#remember_login { - margin: 18px 5px 0 16px !important; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - opacity: .7; -} -#body-login .remember-login-container { - margin-top: 10px; - text-align: center; -} - -/* Sticky footer */ -#body-login .wrapper { - min-height: 100%; - margin: 0 auto -70px; - width: 300px; -} -#body-login footer, #body-login .push { - height: 70px; -} - -/* round profile photos */ -.avatar, -.avatar img, -.avatardiv, -.avatardiv img { - border-radius: 50%; -} -td.avatar { - border-radius: 0; -} - - -#notification-container { - position: absolute; - top: 0; - width: 100%; - text-align: center; -} -#notification { - margin: 0 auto; - max-width: 60%; - z-index: 8000; - background-color: #fc4; - border: 0; - padding: 1px 8px; - display: none; - position: relative; - top: 0; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"; - opacity: .9; -} -#notification span { - cursor: pointer; - margin-left: 1em; -} -#notification { - overflow-x: hidden; - overflow-y: auto; - max-height: 100px; -} -#notification .row { - position: relative; -} -#notification .row .close { - display: inline-block; - vertical-align: middle; - position: absolute; - right: 0; - top: 0; -} -#notification .row.closeable { - padding-right: 20px; -} - -tr .action:not(.permanent), -.selectedActions a { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; - opacity: 0; -} -tr:hover .action, -tr:focus .action, -tr .action.permanent, -.selectedActions a { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; - opacity: .5; -} -tr .action { - width: 16px; - height: 16px; -} -.header-action { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; - opacity: .8; -} -tr:hover .action:hover, -tr:focus .action:focus, -.selectedActions a:hover, -.selectedActions a:focus, -.header-action:hover, -.header-action:focus { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - opacity: 1; -} -tbody tr:hover, -tbody tr:focus, -tbody tr:active { - background-color: #f8f8f8; -} - -code { font-family:"Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", monospace; } - -#quota { - cursor: default; - margin: 30px !important; - position: relative; - padding: 0 !important; -} -#quota div { - padding: 0; - background-color: rgb(220,220,220); - font-weight: normal; - white-space: nowrap; - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; - min-width: 1%; - max-width: 100%; -} -#quotatext {padding:.6em 1em;} - -#quota div.quota-warning { - background-color: #fc4; -} - -.pager { list-style:none; float:right; display:inline; margin:.7em 13em 0 0; } -.pager li { display:inline-block; } - -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { overflow:hidden; text-overflow:ellipsis; } -.separator { display:inline; border-left:1px solid #d3d3d3; border-right:1px solid #fff; height:10px; width:0px; margin:4px; } - -a.bookmarklet { background-color:#ddd; border:1px solid #ccc; padding:5px;padding-top:0px;padding-bottom:2px; text-decoration:none; margin-top:5px } - -.exception{color:#000;} -.exception textarea{width:95%;height:200px;background:#ffe;border:0;} - -.ui-icon-circle-triangle-e{ background-image:url('../img/actions/play-next.svg'); } -.ui-icon-circle-triangle-w{ background-image:url('../img/actions/play-previous.svg'); } - -.ui-datepicker-prev,.ui-datepicker-next{ border:1px solid #ddd; background:#fff; } - -/* ---- DIALOGS ---- */ -#oc-dialog-filepicker-content .dirtree {width:92%; overflow:hidden; } -#oc-dialog-filepicker-content .dirtree .home { - background-image:url('../img/places/home.svg'); - background-repeat:no-repeat; - background-position: left center; - width: 30px; - display: inline-block; -} -#oc-dialog-filepicker-content .dirtree span:not(:last-child) { cursor: pointer; } -#oc-dialog-filepicker-content .dirtree span:last-child { font-weight: bold; } -#oc-dialog-filepicker-content .dirtree span:not(:last-child)::after { content: '>'; padding: 3px;} -#oc-dialog-filepicker-content .filelist { - overflow-y:auto; - height: 300px; - background-color:white; - width:100%; -} -#oc-dialog-filepicker-content .filelist li { - position: relative; -} -#oc-dialog-filepicker-content .filelist .filename { - position: absolute; - top: 8px; - max-width: 60%; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -#oc-dialog-filepicker-content .filelist img { - margin: 2px 1em 0 4px; - width: 32px; -} -#oc-dialog-filepicker-content .filelist .date { - float: right; - margin-right: 10px; - margin-top: 0; - padding-top: 9px; -} -#oc-dialog-filepicker-content .filepicker_element_selected { background-color:lightblue;} -.ui-dialog {position:fixed !important;} -span.ui-icon {float: left; margin: 3px 7px 30px 0;} - -.loading { background: url('../img/loading.gif') no-repeat center; cursor: wait; } -.loading-small { background: url('../img/loading-small.gif') no-repeat center; cursor: wait; } -.move2trash { /* decrease spinner size */ - width: 16px; - height: 16px; -} - -/* ---- TOOLTIPS ---- */ -.extra-data { - padding-right: 5px !important; -} -.tipsy-inner { - max-width: 400px !important; - overflow: hidden; - text-overflow: ellipsis; -} - -/* ---- TAGS ---- */ -#tagsdialog .content { - width: 100%; height: 280px; -} -#tagsdialog .scrollarea { - overflow:auto; border:1px solid #ddd; - width: 100%; height: 240px; -} -#tagsdialog .bottombuttons { - width: 100%; height: 30px; -} -#tagsdialog .bottombuttons * { float:left;} -#tagsdialog .taglist li { background:#f8f8f8; padding:.3em .8em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; -webkit-transition:background-color 500ms; transition:background-color 500ms; } -#tagsdialog .taglist li:hover, #tagsdialog .taglist li:active { background:#eee; } -#tagsdialog .addinput { width: 90%; clear: both; } - -/* ---- APP SETTINGS - LEGACY, DO NOT USE THE POPUP! ---- */ -.popup { - background-color: #fff; - border-radius: 3px; - box-shadow: 0 0 10px #aaa; - color: #333; - padding: 10px; - position: fixed !important; - z-index: 100; -} -.popup.topright { top:7em; right:1em; } -.popup.bottomleft { bottom:1em; left:33em; } -.popup .close { position:absolute; top:0.2em; right:0.2em; height:20px; width:20px; background:url('../img/actions/close.svg') no-repeat center; } -.popup h2 { font-size:20px; } -.arrow { border-bottom:10px solid white; border-left:10px solid transparent; border-right:10px solid transparent; display:block; height:0; position:absolute; width:0; z-index:201; } -.arrow.left { left:-13px; bottom:1.2em; -webkit-transform:rotate(270deg); -ms-transform:rotate(270deg); transform:rotate(270deg); } -.arrow.up { top:-8px; right:6px; } -.arrow.down { -webkit-transform:rotate(180deg); -ms-transform:rotate(180deg); transform:rotate(180deg); } - - -/* ---- BREADCRUMB ---- */ -div.crumb { - float: left; - display: block; - background: url('../img/breadcrumb.svg') no-repeat right center; - height: 44px; - background-size: auto 24px; -} -div.crumb.hidden { - display: none; -} -div.crumb a, -div.crumb span { - position: relative; - top: 12px; - padding: 14px 24px 14px 17px; - color: #555; -} -div.crumb:first-child a { - position: relative; - top: 13px; -} -div.crumb.last { - font-weight: 600; - margin-right: 10px; -} -div.crumb a.ellipsislink { - padding: 0 !important; - position: relative; - top: 8px !important; -} - -/* some feedback for hover/tap on breadcrumbs */ -div.crumb:hover, -div.crumb:focus, -div.crumb a:focus, -div.crumb:active { - -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - opacity:.7; -} - -.appear { - opacity: 1; - transition: opacity 500ms ease 0s; - -moz-transition: opacity 500ms ease 0s; - -ms-transition: opacity 500ms ease 0s; - -o-transition: opacity 500ms ease 0s; - -webkit-transition: opacity 500ms ease 0s; -} -.appear.transparent { - opacity: 0; -} - - -/* public footer */ -#body-public footer { - position: relative; - text-align: center; -} - -#body-public footer .info { - color: #777; - text-align: center; - margin: 0 auto; - padding: 20px 0; -} - -#body-public footer .info a { - color: #777; - font-weight: 600; - padding: 13px; - margin: -13px; -} - - -/* LEGACY FIX only - do not use fieldsets for settings */ -fieldset.warning legend, fieldset.update legend { - top: 18px; - position: relative; -} -fieldset.warning legend + p, fieldset.update legend + p { - margin-top: 12px; -} - - -/* for IE10 */ -@-ms-viewport { - width: device-width; -} - -/* hidden input type=file field */ -.hiddenuploadfield { - width: 0; - height: 0; - opacity: 0; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; -} +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */:root{font-size:var(--default-font-size);line-height:var(--default-line-height)}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,hgroup,nav,section,main{margin:0;padding:0;border:0;font-weight:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;cursor:default;scrollbar-color:var(--color-scrollbar)}.js-focus-visible :focus:not(.focus-visible){outline:none}.content:not(#content-vue) :focus-visible{box-shadow:inset 0 0 0 2px var(--color-primary-element);outline:none}html,body{height:100%;overscroll-behavior-y:contain}article,aside,dialog,figure,footer,header,hgroup,nav,section{display:block}table{border-collapse:separate;border-spacing:0;white-space:nowrap}caption,th,td{text-align:start;font-weight:normal}table,td,th{vertical-align:middle}a{border:0;color:var(--color-main-text);text-decoration:none;cursor:pointer}a *{cursor:pointer}a.external{margin:0 3px;text-decoration:underline}input{cursor:pointer}input *{cursor:pointer}select,.button span,label{cursor:pointer}ul{list-style:none}body{font-weight:normal;font-size:var(--default-font-size);line-height:var(--default-line-height);font-family:var(--font-face);color:var(--color-main-text)}.two-factor-header{text-align:center}.two-factor-provider{text-align:center;width:100% !important;display:inline-block;margin-bottom:0 !important;background-color:var(--color-background-darker) !important;border:none !important}.two-factor-link{display:inline-block;padding:12px;color:var(--color-text-lighter)}.float-spinner{height:32px;display:none}#nojavascript{position:fixed;top:0;bottom:0;inset-inline-start:0;height:100%;width:100%;z-index:9000;text-align:center;background-color:var(--color-background-darker);color:var(--color-primary-element-text);line-height:125%;font-size:24px}#nojavascript div{display:block;position:relative;width:50%;top:35%;margin:0px auto}#nojavascript a{color:var(--color-primary-element-text);border-bottom:2px dotted var(--color-main-background)}#nojavascript a:hover,#nojavascript a:focus{color:var(--color-primary-element-text-dark)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}::-webkit-scrollbar-track-piece{background-color:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:var(--border-radius-large);border:2px solid rgba(0,0,0,0);background-clip:content-box}::selection{background-color:var(--color-primary-element);color:var(--color-primary-element-text)}#app-navigation *{box-sizing:border-box}#emptycontent,.emptycontent{color:var(--color-text-maxcontrast);text-align:center;margin-top:30vh;width:100%}#app-sidebar #emptycontent,#app-sidebar .emptycontent{margin-top:10vh}#emptycontent .emptycontent-search,.emptycontent .emptycontent-search{position:static}#emptycontent h2,.emptycontent h2{margin-bottom:10px}#emptycontent [class^=icon-],#emptycontent [class*=icon-],.emptycontent [class^=icon-],.emptycontent [class*=icon-]{background-size:64px;height:64px;width:64px;margin:0 auto 15px}#emptycontent [class^=icon-]:not([class^=icon-loading]),#emptycontent [class^=icon-]:not([class*=icon-loading]),#emptycontent [class*=icon-]:not([class^=icon-loading]),#emptycontent [class*=icon-]:not([class*=icon-loading]),.emptycontent [class^=icon-]:not([class^=icon-loading]),.emptycontent [class^=icon-]:not([class*=icon-loading]),.emptycontent [class*=icon-]:not([class^=icon-loading]),.emptycontent [class*=icon-]:not([class*=icon-loading]){opacity:.4}#datadirContent label{width:100%}.grouptop,.groupmiddle,.groupbottom{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#show,#dbpassword{position:absolute;inset-inline-end:1em;top:.8em;float:right}body[dir=rtl] #show,body[dir=rtl] #dbpassword{float:left}#show+label,#dbpassword+label{inset-inline-end:21px;top:15px !important;margin:-14px !important;padding:14px !important}#show:checked+label,#dbpassword:checked+label,#personal-show:checked+label{opacity:.8}#show:focus-visible+label,#dbpassword-toggle:focus-visible+label,#personal-show:focus-visible+label{box-shadow:var(--color-primary-element) 0 0 0 2px;opacity:1;border-radius:9999px}#show+label,#dbpassword+label,#personal-show+label{position:absolute !important;height:20px;width:24px;background-image:var(--icon-toggle-dark);background-repeat:no-repeat;background-position:center;opacity:.3}#show:focus+label,#dbpassword:focus+label,#personal-show:focus+label{opacity:1}#show+label:hover,#dbpassword+label:hover,#personal-show+label:hover{opacity:1}#show+label:before,#dbpassword+label:before,#personal-show+label:before{display:none}#pass2,input[name=personal-password-clone]{padding-inline-end:30px}.personal-show-container{position:relative;display:inline-block;margin-inline-end:6px}#personal-show+label{display:block;inset-inline-end:0;margin-top:-43px;margin-inline-end:-4px;padding:22px}#body-user .warning,#body-settings .warning{margin-top:8px;padding:5px;border-radius:var(--border-radius);color:var(--color-main-text);background-color:rgba(var(--color-warning-rgb), 0.2)}.warning legend,.warning a{font-weight:bold !important}.error:not(.toastify) a{color:#fff !important;font-weight:bold !important}.error:not(.toastify) a.button{color:var(--color-text-lighter) !important;display:inline-block;text-align:center}.error:not(.toastify) pre{white-space:pre-wrap;text-align:start}.error-wide{width:700px;margin-inline-start:-200px !important}.error-wide .button{color:#000 !important}.warning-input{border-color:var(--color-error) !important}.avatar,.avatardiv{border-radius:50%;flex-shrink:0}.avatar>img,.avatardiv>img{border-radius:50%;flex-shrink:0}td.avatar{border-radius:0}tr .action:not(.permanent),.selectedActions>a{opacity:0}tr .action{width:16px;height:16px}tr:hover .action:hover,tr:focus .action:focus{opacity:1}tr:hover .action:not(.menuitem),tr:focus .action:not(.menuitem),tr .action.permanent:not(.menuitem){opacity:.5}.selectedActions>a{opacity:.5;position:relative;top:2px}.selectedActions>a:hover,.selectedActions>a:focus{opacity:1}.selectedActions a:hover,.selectedActions a:focus{opacity:1}.header-action{opacity:.8}.header-action:hover,.header-action:focus{opacity:1}tbody tr:not(.group-header):hover,tbody tr:not(.group-header):focus,tbody tr:not(.group-header):active{background-color:var(--color-background-dark)}code{font-family:"Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono",monospace}.pager{list-style:none;float:right;display:inline;margin:.7em 13em 0 0}.pager li{display:inline-block}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{overflow:hidden;text-overflow:ellipsis}.ui-icon-circle-triangle-e{background-image:url("../img/actions/play-next.svg?v=1")}.ui-icon-circle-triangle-w{background-image:url("../img/actions/play-previous.svg?v=1")}.ui-widget.ui-datepicker{margin-top:10px;padding:4px 8px;width:auto;border-radius:var(--border-radius);border:none;z-index:1600 !important}.ui-widget.ui-datepicker .ui-state-default,.ui-widget.ui-datepicker .ui-widget-content .ui-state-default,.ui-widget.ui-datepicker .ui-widget-header .ui-state-default{border:1px solid rgba(0,0,0,0);background:inherit}.ui-widget.ui-datepicker .ui-widget-header{padding:7px;font-size:13px;border:none;background-color:var(--color-main-background);color:var(--color-main-text)}.ui-widget.ui-datepicker .ui-widget-header .ui-datepicker-title{line-height:1;font-weight:normal}.ui-widget.ui-datepicker .ui-widget-header .ui-icon{opacity:.5}.ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e,.ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background-position:center center;background-repeat:no-repeat}.ui-widget.ui-datepicker .ui-widget-header .ui-state-hover .ui-icon{opacity:1}.ui-widget.ui-datepicker .ui-datepicker-calendar th{font-weight:normal;color:var(--color-text-lighter);opacity:.8;width:26px;padding:2px}.ui-widget.ui-datepicker .ui-datepicker-calendar tr:hover{background-color:inherit}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-today a:not(.ui-state-hover){background-color:var(--color-background-darker)}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-current-day a.ui-state-active,.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-state-hover,.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-state-focus{background-color:var(--color-primary-element);color:var(--color-primary-element-text);font-weight:bold}.ui-widget.ui-datepicker .ui-datepicker-calendar td.ui-datepicker-week-end:not(.ui-state-disabled) :not(.ui-state-hover),.ui-widget.ui-datepicker .ui-datepicker-calendar td .ui-priority-secondary:not(.ui-state-hover){color:var(--color-text-lighter);opacity:.8}body[dir=ltr] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:url("../img/actions/arrow-right.svg")}body[dir=ltr] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:url("../img/actions/arrow-left.svg")}body[dir=rtl] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e{background:url("../img/actions/arrow-left.svg")}body[dir=rtl] .ui-widget.ui-datepicker .ui-widget-header .ui-icon.ui-icon-circle-triangle-w{background:url("../img/actions/arrow-right.svg")}.ui-datepicker-prev,.ui-datepicker-next{border:var(--color-border-dark);background:var(--color-main-background)}.ui-widget.ui-timepicker{margin-top:10px !important;width:auto !important;border-radius:var(--border-radius);z-index:1600 !important}.ui-widget.ui-timepicker .ui-widget-content{border:none !important}.ui-widget.ui-timepicker .ui-state-default,.ui-widget.ui-timepicker .ui-widget-content .ui-state-default,.ui-widget.ui-timepicker .ui-widget-header .ui-state-default{border:1px solid rgba(0,0,0,0);background:inherit}.ui-widget.ui-timepicker .ui-widget-header{padding:7px;font-size:13px;border:none;background-color:var(--color-main-background);color:var(--color-main-text)}.ui-widget.ui-timepicker .ui-widget-header .ui-timepicker-title{line-height:1;font-weight:normal}.ui-widget.ui-timepicker table.ui-timepicker tr .ui-timepicker-hour-cell:first-child{margin-inline-start:30px}.ui-widget.ui-timepicker .ui-timepicker-table th{font-weight:normal;color:var(--color-text-lighter);opacity:.8}.ui-widget.ui-timepicker .ui-timepicker-table th.periods{padding:0;width:30px;line-height:30px}.ui-widget.ui-timepicker .ui-timepicker-table tr:hover{background-color:inherit}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-hour-cell a.ui-state-active,.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-minute-cell a.ui-state-active,.ui-widget.ui-timepicker .ui-timepicker-table td .ui-state-hover,.ui-widget.ui-timepicker .ui-timepicker-table td .ui-state-focus{background-color:var(--color-primary-element);color:var(--color-primary-element-text);font-weight:bold}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-minutes:not(.ui-state-hover){color:var(--color-text-lighter)}.ui-widget.ui-timepicker .ui-timepicker-table td.ui-timepicker-hours{border-inline-end:1px solid var(--color-border)}.ui-widget.ui-datepicker .ui-datepicker-calendar tr,.ui-widget.ui-timepicker table.ui-timepicker tr{display:flex;flex-wrap:nowrap;justify-content:space-between}.ui-widget.ui-datepicker .ui-datepicker-calendar tr td,.ui-widget.ui-timepicker table.ui-timepicker tr td{flex:1 1 auto;margin:0;padding:2px;height:26px;width:26px;display:flex;align-items:center;justify-content:center}.ui-widget.ui-datepicker .ui-datepicker-calendar tr td>*,.ui-widget.ui-timepicker table.ui-timepicker tr td>*{border-radius:50%;text-align:center;font-weight:normal;color:var(--color-main-text);display:block;line-height:18px;width:18px;height:18px;padding:3px;font-size:.9em}.ui-dialog{position:fixed !important}span.ui-icon{float:left;margin-block:3px 30px;margin-inline:0 7px}.extra-data{padding-inline-end:5px !important}#tagsdialog .content{width:100%;height:280px}#tagsdialog .scrollarea{overflow:auto;border:1px solid var(--color-background-darker);width:100%;height:240px}#tagsdialog .bottombuttons{width:100%;height:30px}#tagsdialog .bottombuttons *{float:left}#tagsdialog .taglist li{background:var(--color-background-dark);padding:.3em .8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transition:background-color 500ms;transition:background-color 500ms}#tagsdialog .taglist li:hover,#tagsdialog .taglist li:active{background:var(--color-background-darker)}#tagsdialog .addinput{width:90%;clear:both}.breadcrumb{display:inline-flex;height:50px}li.crumb{display:inline-flex;background-image:url("../img/breadcrumb.svg?v=1");background-repeat:no-repeat;background-position:right center;height:44px;background-size:auto 24px;flex:0 0 auto;order:1;padding-inline-end:7px}li.crumb.crumbmenu{order:2;position:relative}li.crumb.crumbmenu a{opacity:.5}li.crumb.crumbmenu.canDropChildren .popovermenu,li.crumb.crumbmenu.canDrop .popovermenu{display:block}li.crumb.crumbmenu .popovermenu{top:100%;margin-inline-end:3px}li.crumb.crumbmenu .popovermenu ul{max-height:345px;overflow-y:auto;overflow-x:hidden;padding-inline-end:5px}li.crumb.crumbmenu .popovermenu ul li.canDrop span:first-child{background-image:url("../img/filetypes/folder-drag-accept.svg?v=1") !important}li.crumb.crumbmenu .popovermenu .in-breadcrumb{display:none}li.crumb.hidden{display:none}li.crumb.hidden~.crumb{order:3}li.crumb>a,li.crumb>span{position:relative;padding:12px;opacity:.5;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;flex:0 0 auto;max-width:200px}li.crumb>a.icon-home,li.crumb>a.icon-delete,li.crumb>span.icon-home,li.crumb>span.icon-delete{text-indent:-9999px}li.crumb>a[class^=icon-]{padding:0;width:44px}li.crumb:last-child{font-weight:bold;margin-inline-end:10px}li.crumb:last-child a~span{padding-inline-start:0}li.crumb:hover,li.crumb:focus,li.crumb a:focus,li.crumb:active{opacity:1}li.crumb:hover>a,li.crumb:hover>span,li.crumb:focus>a,li.crumb:focus>span,li.crumb a:focus>a,li.crumb a:focus>span,li.crumb:active>a,li.crumb:active>span{opacity:.7}.appear{opacity:1;-webkit-transition:opacity 500ms ease 0s;-moz-transition:opacity 500ms ease 0s;-ms-transition:opacity 500ms ease 0s;-o-transition:opacity 500ms ease 0s;transition:opacity 500ms ease 0s}.appear.transparent{opacity:0}fieldset.warning legend,fieldset.update legend{top:18px;position:relative}fieldset.warning legend+p,fieldset.update legend+p{margin-top:12px}@-ms-viewport{width:device-width}.hiddenuploadfield{display:none;width:0;height:0;opacity:0}/*# sourceMappingURL=styles.css.map */ diff --git a/core/css/styles.css.map b/core/css/styles.css.map new file mode 100644 index 00000000000..73e50a6eaa2 --- /dev/null +++ b/core/css/styles.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["styles.scss","variables.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GDMA,MACC,mCACA,uCAGD,yQACC,SACA,UACA,SACA,oBACA,eACA,oBACA,wBACA,eACA,uCAGD,6CACC,aAID,0CACC,wDACA,aAGD,UACC,YAEA,8BAGD,6DACC,cAGD,MACC,yBACA,iBACA,mBAGD,cACC,iBACA,mBAGD,YACC,sBAGD,EACC,SACA,6BACA,qBACA,eACA,IACC,eAIF,WACC,aACA,0BAGD,MACC,eACA,QACC,eAIF,0BACC,eAGD,GACC,gBAGD,KACC,mBAEA,mCACA,uCACA,6BACA,6BAGD,mBACC,kBAGD,qBACC,kBACA,sBACA,qBACA,2BACA,2DACA,uBAGD,iBACC,qBACA,aACA,gCAGD,eACC,YACA,aAGD,cACC,eACA,MACA,SACA,qBACA,YACA,WACA,aACA,kBACA,gDACA,wCACA,iBACA,eACA,kBACC,cACA,kBACA,UACA,QACA,gBAED,gBACC,wCACA,sDACA,4CACC,6CAOH,oBACC,WACA,YAGD,2BACC,+BAGD,gCACC,+BAGD,0BACC,kCACA,yCACA,+BACA,4BAMD,YACC,8CACA,wCAMD,kBACC,sBAKD,4BAEC,oCACA,kBACA,gBACA,WACA,sDACC,gBAED,sEACC,gBAED,kCACC,mBAED,oHAEC,qBACA,YACA,WACA,mBACA,gcAEC,WAOH,sBACC,WASD,oCACC,kBACA,yBACA,sBACA,qBACA,iBAID,kBAEC,kBACA,qBACA,SAEA,YAGD,8CAGC,WAGD,8BACC,sBACA,oBACA,wBACA,wBAGD,2EACC,WAGD,oGACC,kDACA,UACA,qBAGD,mDACC,6BACA,YACA,WACA,yCACA,4BACA,2BACA,WAOA,qEACC,UAED,qEACC,UAIF,wEACC,aAGD,2CACC,wBAGD,yBACC,kBACA,qBACA,sBAGD,qBACC,cACA,mBACA,iBACA,uBACA,aAKD,4CACC,eACA,YACA,mCACA,6BACA,qDAIA,2BACC,4BAKD,wBACC,sBACA,4BACA,+BACC,2CACA,qBACA,kBAGF,0BACC,qBACA,iBAIF,YACC,YACA,sCACA,oBACC,sBAIF,eACC,2CAUD,mBACC,kBACA,cACA,2BACC,kBACA,cAIF,UACC,gBAGD,8CACC,UAIA,WACC,WACA,YAGD,8CAEC,UAGD,oGAGC,WAIF,mBACC,WACA,kBACA,QAEA,kDACC,UAKD,kDACC,UAIF,eACC,WAEA,0CACC,UAKD,uGACC,8CAIF,KACC,mFAGD,OACC,gBACA,YACA,eACA,qBACA,UACC,qBAIF,2FACC,gBACA,uBAGD,2BACC,yDAGD,2BACC,6DAID,yBACC,gBACA,gBACA,WACA,mCACA,YACA,wBAEA,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAED,oDACC,WAEA,4JAEC,kCACA,4BAGF,oEACC,UAID,oDACC,mBACA,gCACA,WACA,WACA,YAED,0DACC,yBAGA,+FACC,gDAGD,wOAGC,8CACA,wCACA,iBAGD,yNAEC,gCACA,WAOH,4FACC,iDAED,4FACC,gDAKD,4FACC,gDAED,4FACC,iDAIF,wCACC,gCACA,wCAKD,yBACC,2BACA,sBACA,mCACA,wBAEA,4CACC,uBAGD,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAIF,qFACC,yBAGA,iDACC,mBACA,gCACA,WACA,yDACC,UACA,WACA,iBAGF,uDACC,yBAGA,0TAIC,8CACA,wCACA,iBAGD,4FACC,gCAGD,qEACC,gDASH,oGACC,aACA,iBACA,8BACA,0GACC,cACA,SACA,YACA,YACA,WACA,aACA,mBACA,uBACA,8GACC,kBACA,kBACA,mBACA,6BACA,cACA,iBACA,WACA,YACA,YACA,eAOJ,WACC,0BAGD,aACC,WACA,sBACA,oBAKD,YACC,kCAMA,qBACC,WACA,aAED,wBACC,cACA,gDACA,WACA,aAED,2BACC,WACA,YACA,6BACC,WAGF,wBACC,wCACA,kBACA,mBACA,gBACA,uBACA,0CACA,kCACA,6DACC,0CAGF,sBACC,UACA,WAKF,YACC,oBACA,YAGD,SACC,oBACA,kDACA,4BACA,iCACA,YACA,0BACA,cACA,QACA,uBACA,mBACC,QACA,kBACA,qBACC,WAIA,wFACC,cAIF,gCACC,SACA,sBACA,mCACC,iBACA,gBACA,kBACA,uBACA,+DACC,+EAGF,+CACC,aAIH,gBACC,aACA,uBACC,QAGF,yBAEC,kBACA,aACA,WACA,uBACA,mBACA,gBACA,cAEA,gBAEA,8FAGC,oBAGF,yBACC,UACA,WAGD,oBACC,iBACA,uBAEA,2BACC,uBAGF,+DACC,UAEA,0JAEC,WAOH,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAOD,+CACC,SACA,kBAED,mDACC,gBAKF,cACC,mBAMD,mBACC,aACA,QACA,SACA","file":"styles.css"}
\ No newline at end of file diff --git a/core/css/styles.css.map.license b/core/css/styles.css.map.license new file mode 100644 index 00000000000..82ac7cce426 --- /dev/null +++ b/core/css/styles.css.map.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/styles.scss b/core/css/styles.scss new file mode 100644 index 00000000000..7c733004650 --- /dev/null +++ b/core/css/styles.scss @@ -0,0 +1,843 @@ +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +@use 'sass:math'; +@use 'variables'; + +:root { + font-size: var(--default-font-size); + line-height: var(--default-line-height); +} + +html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section, main { + margin: 0; + padding: 0; + border: 0; + font-weight: inherit; + font-size: 100%; + font-family: inherit; + vertical-align: baseline; + cursor: default; + scrollbar-color: var(--color-scrollbar); +} + +.js-focus-visible :focus:not(.focus-visible) { + outline: none; +} + +/** Let vue apps handle the focus themselves */ +.content:not(#content-vue) :focus-visible { + box-shadow: inset 0 0 0 2px var(--color-primary-element); + outline: none; +} + +html, body { + height: 100%; + // disable pull-down-to-refresh on chromium mobile + overscroll-behavior-y: contain; +} + +article, aside, dialog, figure, footer, header, hgroup, nav, section { + display: block; +} + +table { + border-collapse: separate; + border-spacing: 0; + white-space: nowrap; +} + +caption, th, td { + text-align: start; + font-weight: normal; +} + +table, td, th { + vertical-align: middle; +} + +a { + border: 0; + color: var(--color-main-text); + text-decoration: none; + cursor: pointer; + * { + cursor: pointer; + } +} + +a.external { + margin: 0 3px; + text-decoration: underline; +} + +input { + cursor: pointer; + * { + cursor: pointer; + } +} + +select, .button span, label { + cursor: pointer; +} + +ul { + list-style: none; +} + +body { + font-weight: normal; + /* bring the default font size up to 15px */ + font-size: var(--default-font-size); + line-height: var(--default-line-height); + font-family: var(--font-face); + color: var(--color-main-text); +} + +.two-factor-header { + text-align: center; +} + +.two-factor-provider { + text-align: center; + width: 100% !important; + display: inline-block; + margin-bottom: 0 !important; + background-color: var(--color-background-darker) !important; + border: none !important; +} + +.two-factor-link { + display: inline-block; + padding: 12px; + color: var(--color-text-lighter); +} + +.float-spinner { + height: 32px; + display: none; +} + +#nojavascript { + position: fixed; + top: 0; + bottom: 0; + inset-inline-start: 0; + height: 100%; + width: 100%; + z-index: 9000; + text-align: center; + background-color: var(--color-background-darker); + color: var(--color-primary-element-text); + line-height: 125%; + font-size: 24px; + div { + display: block; + position: relative; + width: 50%; + top: 35%; + margin: 0px auto; + } + a { + color: var(--color-primary-element-text); + border-bottom: 2px dotted var(--color-main-background); + &:hover, &:focus { + color: var(--color-primary-element-text-dark); + } + } +} + +/* SCROLLING */ + +::-webkit-scrollbar { + width: 12px; + height: 12px +} + +::-webkit-scrollbar-corner { + background-color: transparent; +} + +::-webkit-scrollbar-track-piece { + background-color: transparent; +} + +::-webkit-scrollbar-thumb { + background: var(--color-scrollbar); + border-radius: var(--border-radius-large); + border: 2px solid transparent; + background-clip: content-box; +} + + +/* SELECTION */ + +::selection { + background-color: var(--color-primary-element); + color: var(--color-primary-element-text); +} + + +/* CONTENT ------------------------------------------------------------------ */ + +#app-navigation * { + box-sizing: border-box; +} + +/* EMPTY CONTENT DISPLAY ------------------------------------------------------------ */ + +#emptycontent, +.emptycontent { + color: var(--color-text-maxcontrast); + text-align: center; + margin-top: 30vh; + width: 100%; + #app-sidebar & { + margin-top: 10vh; + } + .emptycontent-search { + position: static; + } + h2 { + margin-bottom: 10px; + } + [class^='icon-'], + [class*='icon-'] { + background-size: 64px; + height: 64px; + width: 64px; + margin: 0 auto 15px; + &:not([class^='icon-loading']), + &:not([class*='icon-loading']) { + opacity: .4; + } + } +} + +/* LOG IN & INSTALLATION ------------------------------------------------------------ */ + +#datadirContent label { + width: 100%; +} + +/* strengthify wrapper */ + +/* General new input field look */ + +/* Nicely grouping input field sets */ + +.grouptop, .groupmiddle, .groupbottom { + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* Show password toggle */ +#show, +#dbpassword { + position: absolute; + inset-inline-end: 1em; + top: .8em; + /* Cannot use inline-start and :dir to support Samsung Internet */ + float: right; +} + +body[dir='rtl'] #show, +body[dir='rtl'] #dbpassword { + /* Cannot use inline-start and :dir to support Samsung Internet */ + float: left; +} + +#show + label, #dbpassword + label { + inset-inline-end: 21px; + top: 15px !important; + margin: -14px !important; + padding: 14px !important; +} + +#show:checked + label, #dbpassword:checked + label, #personal-show:checked + label { + opacity: .8; +} + +#show:focus-visible + label, #dbpassword-toggle:focus-visible + label, #personal-show:focus-visible + label { + box-shadow: var(--color-primary-element) 0 0 0 2px; + opacity: 1; + border-radius: 9999px; +} + +#show + label, #dbpassword + label, #personal-show + label { + position: absolute !important; + height: 20px; + width: 24px; + background-image: var(--icon-toggle-dark); + background-repeat: no-repeat; + background-position: center; + opacity: .3; +} + +/* Feedback for keyboard focus and mouse hover */ +#show, +#dbpassword, +#personal-show { + &:focus + label { + opacity: 1; + } + + label:hover { + opacity: 1; + } +} + +#show + label:before, #dbpassword + label:before, #personal-show + label:before { + display: none; +} + +#pass2, input[name='personal-password-clone'] { + padding-inline-end: 30px; +} + +.personal-show-container { + position: relative; + display: inline-block; + margin-inline-end: 6px; +} + +#personal-show + label { + display: block; + inset-inline-end: 0; + margin-top: -43px; + margin-inline-end: -4px; + padding: 22px; +} + +/* Warnings and errors are the same */ + +#body-user .warning, #body-settings .warning { + margin-top: 8px; + padding: 5px; + border-radius: var(--border-radius); + color: var(--color-main-text); + background-color: rgba(var(--color-warning-rgb), 0.2); +} + +.warning { + legend, a { + font-weight: bold !important; + } +} + +.error:not(.toastify) { + a { + color: white !important; + font-weight: bold !important; + &.button { + color: var(--color-text-lighter) !important; + display: inline-block; + text-align: center; + } + } + pre { + white-space: pre-wrap; + text-align: start; + } +} + +.error-wide { + width: 700px; + margin-inline-start: -200px !important; + .button { + color: black !important; + } +} + +.warning-input { + border-color: var(--color-error) !important; +} + +/* fixes for update page TODO should be fixed some time in a proper way */ +/* this is just for an error while updating the Nextcloud instance */ + +/* Sticky footer */ + +/* round profile photos */ + +.avatar, .avatardiv { + border-radius: 50%; + flex-shrink: 0; + &> img { + border-radius: 50%; + flex-shrink: 0; + } +} + +td.avatar { + border-radius: 0; +} + +tr .action:not(.permanent), .selectedActions > a { + opacity: 0; +} + +tr { + .action { + width: 16px; + height: 16px; + } + + &:hover .action:hover, + &:focus .action:focus { + opacity: 1; + } + + &:hover .action:not(.menuitem), + &:focus .action:not(.menuitem), + .action.permanent:not(.menuitem) { + opacity: .5; + } +} + +.selectedActions > a { + opacity: .5; + position: relative; + top: 2px; + + &:hover, &:focus { + opacity: 1; + } +} + +.selectedActions a { + &:hover, &:focus { + opacity: 1; + } +} + +.header-action { + opacity: .8; + + &:hover, &:focus { + opacity: 1; + } +} + +tbody tr:not(.group-header) { + &:hover, &:focus, &:active { + background-color: var(--color-background-dark); + } +} + +code { + font-family: 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', monospace; +} + +.pager { + list-style: none; + float: right; + display: inline; + margin: .7em 13em 0 0; + li { + display: inline-block; + } +} + +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { + overflow: hidden; + text-overflow: ellipsis; +} + +.ui-icon-circle-triangle-e { + background-image: url('../img/actions/play-next.svg?v=1'); +} + +.ui-icon-circle-triangle-w { + background-image: url('../img/actions/play-previous.svg?v=1'); +} + +/* ---- jQuery UI datepicker ---- */ +.ui-widget.ui-datepicker { + margin-top: 10px; + padding: 4px 8px; + width: auto; + border-radius: var(--border-radius); + border: none; + z-index: 1600 !important; // above sidebar + + .ui-state-default, + .ui-widget-content .ui-state-default, + .ui-widget-header .ui-state-default { + border: 1px solid transparent; + background: inherit; + } + .ui-widget-header { + padding: 7px; + font-size: 13px; + border: none; + background-color: var(--color-main-background); + color: var(--color-main-text); + + .ui-datepicker-title { + line-height: 1; + font-weight: normal; + } + .ui-icon { + opacity: .5; + + &.ui-icon-circle-triangle-e, + &.ui-icon-circle-triangle-w { + background-position: center center; + background-repeat: no-repeat; + } + } + .ui-state-hover .ui-icon { + opacity: 1; + } + } + .ui-datepicker-calendar { + th { + font-weight: normal; + color: var(--color-text-lighter); + opacity: .8; + width: 26px; + padding: 2px; + } + tr:hover { + background-color: inherit; + } + td { + &.ui-datepicker-today a:not(.ui-state-hover) { + background-color: var(--color-background-darker); + } + + &.ui-datepicker-current-day a.ui-state-active, + .ui-state-hover, + .ui-state-focus { + background-color: var(--color-primary-element); + color: var(--color-primary-element-text); + font-weight: bold; + } + + &.ui-datepicker-week-end:not(.ui-state-disabled) :not(.ui-state-hover), + .ui-priority-secondary:not(.ui-state-hover) { + color: var(--color-text-lighter); + opacity: .8; + } + } + } +} + +body[dir='ltr'] .ui-widget.ui-datepicker .ui-widget-header .ui-icon { + &.ui-icon-circle-triangle-e { + background: url("../img/actions/arrow-right.svg"); + } + &.ui-icon-circle-triangle-w { + background: url("../img/actions/arrow-left.svg"); + } +} + +body[dir='rtl'] .ui-widget.ui-datepicker .ui-widget-header .ui-icon { + &.ui-icon-circle-triangle-e { + background: url("../img/actions/arrow-left.svg"); + } + &.ui-icon-circle-triangle-w { + background: url("../img/actions/arrow-right.svg"); + } +} + +.ui-datepicker-prev, .ui-datepicker-next { + border: var(--color-border-dark); + background: var(--color-main-background); +} + + +/* ---- jQuery UI timepicker ---- */ +.ui-widget.ui-timepicker { + margin-top: 10px !important; + width: auto !important; + border-radius: var(--border-radius); + z-index: 1600 !important; + + .ui-widget-content { + border: none !important; + } + + .ui-state-default, + .ui-widget-content .ui-state-default, + .ui-widget-header .ui-state-default { + border: 1px solid transparent; + background: inherit; + } + .ui-widget-header { + padding: 7px; + font-size: 13px; + border: none; + background-color: var(--color-main-background); + color: var(--color-main-text); + + .ui-timepicker-title { + line-height: 1; + font-weight: normal; + } + } + /* AM/PM fix */ + table.ui-timepicker tr .ui-timepicker-hour-cell:first-child { + margin-inline-start: 30px; + } + .ui-timepicker-table { + th { + font-weight: normal; + color: var(--color-text-lighter); + opacity: .8; + &.periods { + padding: 0; + width: 30px; + line-height: 30px; + } + } + tr:hover { + background-color: inherit; + } + td { + &.ui-timepicker-hour-cell a.ui-state-active, + &.ui-timepicker-minute-cell a.ui-state-active, + .ui-state-hover, + .ui-state-focus { + background-color: var(--color-primary-element); + color: var(--color-primary-element-text); + font-weight: bold; + } + + &.ui-timepicker-minutes:not(.ui-state-hover) { + color: var(--color-text-lighter); + } + + &.ui-timepicker-hours { + border-inline-end: 1px solid var(--color-border); + } + } + } +} + +/* ---- jQuery UI datepicker & timepicker global rules ---- */ +.ui-widget.ui-datepicker .ui-datepicker-calendar, +.ui-widget.ui-timepicker table.ui-timepicker { + tr { + display: flex; + flex-wrap: nowrap; + justify-content: space-between; + td { + flex: 1 1 auto; + margin: 0; + padding: 2px; + height: 26px; + width: 26px; + display: flex; + align-items: center; + justify-content: center; + > * { + border-radius: 50%; + text-align: center; + font-weight: normal; + color: var(--color-main-text); + display: block; + line-height: 18px; + width: 18px; + height: 18px; + padding: 3px; + font-size: .9em; + } + } + } +} + +/* ---- DIALOGS ---- */ +.ui-dialog { + position: fixed !important; +} + +span.ui-icon { + float: left; + margin-block: 3px 30px; + margin-inline: 0 7px; +} + +/* ---- TOOLTIPS ---- */ + +.extra-data { + padding-inline-end: 5px !important; +} + +/* ---- TAGS ---- */ + +#tagsdialog { + .content { + width: 100%; + height: 280px; + } + .scrollarea { + overflow: auto; + border: 1px solid var(--color-background-darker); + width: 100%; + height: 240px; + } + .bottombuttons { + width: 100%; + height: 30px; + * { + float: left; + } + } + .taglist li { + background: var(--color-background-dark); + padding: .3em .8em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -webkit-transition: background-color 500ms; + transition: background-color 500ms; + &:hover, &:active { + background: var(--color-background-darker); + } + } + .addinput { + width: 90%; + clear: both; + } +} + +/* ---- BREADCRUMB ---- */ +.breadcrumb { + display: inline-flex; + height: 50px; +} + +li.crumb { + display: inline-flex; + background-image: url('../img/breadcrumb.svg?v=1'); + background-repeat: no-repeat; + background-position: right center; + height: 44px; + background-size: auto 24px; + flex: 0 0 auto; + order: 1; + padding-inline-end: 7px; + &.crumbmenu { + order: 2; + position: relative; + a { + opacity: 0.5 + } + &.canDropChildren, + &.canDrop { + .popovermenu { + display: block; + } + } + // Fix because of the display flex + .popovermenu { + top: 100%; + margin-inline-end: 3px; + ul { + max-height: 345px; + overflow-y: auto; + overflow-x: hidden; + padding-inline-end: 5px; + li.canDrop span:first-child { + background-image: url('../img/filetypes/folder-drag-accept.svg?v=1') !important; + } + } + .in-breadcrumb { + display: none; + } + } + } + &.hidden { + display: none; + ~ .crumb { + order: 3; + } + } + > a, + > span { + position: relative; + padding: 12px; + opacity: 0.5; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + flex: 0 0 auto; + // Some sane max-width for each folder name + max-width: 200px; + + &.icon-home, + &.icon-delete { + // Hide home text + text-indent: -9999px; + } + } + > a[class^='icon-'] { + padding: 0; + width: 44px; + } + + &:last-child { + font-weight: bold; + margin-inline-end: 10px; + // Allow multiple span next to the main 'a' + a ~ span { + padding-inline-start: 0; + } + } + &:hover, &:focus, a:focus, &:active { + opacity: 1; + + > a, + > span { + opacity: .7; + } + } +} + +/* some feedback for hover/tap on breadcrumbs */ + +.appear { + opacity: 1; + -webkit-transition: opacity 500ms ease 0s; + -moz-transition: opacity 500ms ease 0s; + -ms-transition: opacity 500ms ease 0s; + -o-transition: opacity 500ms ease 0s; + transition: opacity 500ms ease 0s; + &.transparent { + opacity: 0; + } +} + +/* LEGACY FIX only - do not use fieldsets for settings */ + +fieldset { + &.warning legend, &.update legend { + top: 18px; + position: relative; + } + &.warning legend + p, &.update legend + p { + margin-top: 12px; + } +} + +/* for IE10 */ +@-ms-viewport { + width: device-width; +} + + +/* hidden input type=file field */ + +.hiddenuploadfield { + display: none; + width: 0; + height: 0; + opacity: 0; +} diff --git a/core/css/systemtags.css b/core/css/systemtags.css index 22e41ea53ca..a6881e82943 100644 --- a/core/css/systemtags.css +++ b/core/css/systemtags.css @@ -1,118 +1,5 @@ -/* - * Copyright (c) 2016 - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * - */ -.systemtags-select2-dropdown .select2-selected { - display: list-item; - background-color: #f8f8f8; -} -.systemtags-select2-dropdown .select2-highlighted, -.systemtags-select2-dropdown .select2-selected.select2-highlighted { - background: #f8f8f8; -} - -.select2-result { - position: relative; -} -.systemtags-select2-dropdown .select2-highlighted { - color: #000000; -} -.systemtags-select2-dropdown .select2-result-label .checkmark { - visibility: hidden; -} - -.systemtags-select2-dropdown .select2-result-label .new-item .systemtags-actions { - display: none; -} - -.systemtags-select2-dropdown .select2-selected .select2-result-label .checkmark { - visibility: visible; -} - -.systemtags-select2-dropdown .select2-result-label .icon { - display: inline-block; - opacity: .5; -} -.systemtags-select2-dropdown .select2-result-label .icon.rename { - padding: 4px; -} - -.systemtags-select2-dropdown .systemtags-actions { - position: absolute; - right: 0; - top: 3px; -} - -.systemtags-select2-dropdown .systemtags-rename-form { - display: inline; - margin-left: 10px; -} - -.systemtags-select2-container { - width: 100%; -} - -.systemtags-select2-container .select2-choices { - white-space: nowrap; - text-overflow: ellipsis; - background: #fff; - color: #555; - box-sizing: content-box; - border-radius: 3px; - border: 1px solid #ddd; - margin: 3px 3px 3px 0; - padding: 2px 0; - min-height: auto; -} - -.systemtags-select2-container .select2-choices .select2-search-choice { - line-height: 20px; - padding-left: 5px; -} - -.systemtags-select2-container .select2-choices .select2-search-choice.select2-locked .label { - opacity: 0.5; -} - -.systemtags-select2-container .select2-choices .select2-search-choice-close { - display: none; -} -.systemtags-select2-container .select2-choices .select2-search-field input { - line-height: 20px; -} -.systemtags-select2-dropdown .label { - width:85%; - display:-moz-inline-box; - display:inline-block; - overflow:hidden; - text-overflow:ellipsis; -} - -.systemtags-select2-dropdown .label.hidden { - display: none; -} - -.select2-container-multi .select2-choices .select2-search-choice { - background-color: rgba(240,240,240,.9); - border-color: rgba(240,240,240,.9); - box-shadow: none; - background-image: none; -} -.select2-results .select2-highlighted { - background-color: rgba(240,240,240,.9); - color: #000; -} - -.select2-container-multi.select2-container-active .select2-choices, -.select2-drop-active { - border-color: #ddd; -} -.select2-container-multi.select2-container-active .select2-choices { - -webkit-box-shadow: none; - box-shadow: none; -} +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */.systemtags-select2-dropdown .select2-result-label{height:25px}.systemtags-select2-dropdown .select2-result-label .checkmark{visibility:hidden;margin-inline:-5px 5px;padding:4px}.systemtags-select2-dropdown .select2-result-label .new-item .systemtags-actions{display:none}.systemtags-select2-dropdown .select2-selected .select2-result-label .checkmark{visibility:visible}.systemtags-select2-dropdown .select2-result-label .icon{display:inline-block;opacity:.5}.systemtags-select2-dropdown .select2-result-label .icon.rename{padding:4px}.systemtags-select2-dropdown .systemtags-actions{position:absolute;inset-inline-end:5px}.systemtags-select2-dropdown .systemtags-rename-form{display:inline-block;width:calc(100% - 20px);top:-6px;position:relative}.systemtags-select2-dropdown .systemtags-rename-form input{display:inline-block;height:30px;width:calc(100% - 40px)}.systemtags-select2-dropdown .label{width:85%;display:inline-block;overflow:hidden;text-overflow:ellipsis}.systemtags-select2-dropdown .label.hidden{display:none}.systemtags-select2-dropdown span{line-height:25px}.systemtags-select2-dropdown .systemtags-item{display:inline-block;height:25px;width:100%}.systemtags-select2-container{width:100%}.systemtags-select2-container .select2-choices{flex-wrap:nowrap !important;max-height:44px}.systemtags-select2-container .select2-choices .select2-search-choice.select2-locked .label{opacity:.5}#select2-drop.systemtags-select2-dropdown .select2-results li.select2-result{padding:5px}/*# sourceMappingURL=systemtags.css.map */ diff --git a/core/css/systemtags.css.map b/core/css/systemtags.css.map new file mode 100644 index 00000000000..62aef0e2bed --- /dev/null +++ b/core/css/systemtags.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["systemtags.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GAOC,mDACC,YAEA,8DACC,kBACA,uBACA,YAED,iFACC,aAGF,gFACC,mBAED,yDACC,qBACA,WACA,gEACC,YAGF,iDACC,kBACA,qBAED,qDACC,qBACA,wBACA,SACA,kBACA,2DACC,qBACA,YACA,wBAGF,oCACC,UACA,qBACA,gBACA,uBACA,2CACC,aAGF,kCACC,iBAED,8CACC,qBACA,YACA,WAIF,8BACC,WAEA,+CACC,4BACA,gBAGD,4FACC,WAIF,6EACC","file":"systemtags.css"}
\ No newline at end of file diff --git a/core/css/systemtags.css.map.license b/core/css/systemtags.css.map.license new file mode 100644 index 00000000000..82ac7cce426 --- /dev/null +++ b/core/css/systemtags.css.map.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/systemtags.scss b/core/css/systemtags.scss new file mode 100644 index 00000000000..fcb9c09a144 --- /dev/null +++ b/core/css/systemtags.scss @@ -0,0 +1,79 @@ +/*! + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +.systemtags-select2-dropdown { + .select2-result-label { + height: 25px; + + .checkmark { + visibility: hidden; + margin-inline: -5px 5px; + padding: 4px; + } + .new-item .systemtags-actions { + display: none; + } + } + .select2-selected .select2-result-label .checkmark { + visibility: visible; + } + .select2-result-label .icon { + display: inline-block; + opacity: .5; + &.rename { + padding: 4px; + } + } + .systemtags-actions { + position: absolute; + inset-inline-end: 5px; + } + .systemtags-rename-form { + display: inline-block; + width: calc(100% - 20px); + top: -6px; + position: relative; + input { + display: inline-block; + height: 30px; + width: calc(100% - 40px); + } + } + .label { + width: 85%; + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + &.hidden { + display: none; + } + } + span { + line-height: 25px; + } + .systemtags-item { + display: inline-block; + height: 25px; + width: 100%; + } +} + +.systemtags-select2-container { + width: 100%; + + .select2-choices { + flex-wrap: nowrap !important; + max-height: 44px; + } + + .select2-choices .select2-search-choice.select2-locked .label { + opacity: 0.5; + } +} + +#select2-drop.systemtags-select2-dropdown .select2-results li.select2-result { + padding: 5px; +} diff --git a/core/css/toast.css b/core/css/toast.css new file mode 100644 index 00000000000..36fe5a2e17f --- /dev/null +++ b/core/css/toast.css @@ -0,0 +1,10 @@ +/*! + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */.toastify.toast{min-width:200px;background:none;background-color:var(--color-main-background);color:var(--color-main-text);box-shadow:0 0 6px 0 var(--color-box-shadow);padding:12px;padding-inline-end:34px;margin-top:45px;position:fixed;z-index:9000;border-radius:var(--border-radius)}.toastify.toast .toast-close{position:absolute;top:0;inset-inline-end:0;width:38px;opacity:.4;padding:12px;background-image:var(--icon-close-dark);background-position:center;background-repeat:no-repeat;text-indent:200%;white-space:nowrap;overflow:hidden}.toastify.toast .toast-close:hover,.toastify.toast .toast-close:focus,.toastify.toast .toast-close:active{cursor:pointer;opacity:1}.toastify.toastify-top{inset-inline-end:10px}.toast-error{border-inline-start:3px solid var(--color-error)}.toast-info{border-inline-start:3px solid var(--color-primary-element)}.toast-warning{border-inline-start:3px solid var(--color-warning)}.toast-success{border-inline-start:3px solid var(--color-success)}/*# sourceMappingURL=toast.css.map */ diff --git a/core/css/toast.css.map b/core/css/toast.css.map new file mode 100644 index 00000000000..8317c744103 --- /dev/null +++ b/core/css/toast.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["toast.scss","variables.scss","functions.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GCFA;AAAA;AAAA;AAAA,GFOA,gBACC,gBACA,gBACA,8CACA,6BACA,6CACA,aACA,wBACA,gBACA,eACA,aACA,mCAEA,6BACC,kBACA,MACA,mBACA,WACA,WACA,aEsBD,wCFpBC,2BACA,4BACA,iBACA,mBACA,gBAEA,0GACC,eACA,UAKH,uBACC,sBAGD,aACC,iDAGD,YACC,2DAGD,eACC,mDAGD,eACC","file":"toast.css"}
\ No newline at end of file diff --git a/core/css/toast.css.map.license b/core/css/toast.css.map.license new file mode 100644 index 00000000000..c09869eb5a4 --- /dev/null +++ b/core/css/toast.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/toast.scss b/core/css/toast.scss new file mode 100644 index 00000000000..c3af0b0a5d6 --- /dev/null +++ b/core/css/toast.scss @@ -0,0 +1,60 @@ +/*! + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +@use 'variables'; +@use 'functions'; + +.toastify.toast { + min-width: 200px; + background: none; + background-color: var(--color-main-background); + color: var(--color-main-text); + box-shadow: 0 0 6px 0 var(--color-box-shadow); + padding: 12px; + padding-inline-end: 34px; + margin-top: 45px; + position: fixed; + z-index: 9000; + border-radius: var(--border-radius); + + .toast-close { + position: absolute; + top: 0; + inset-inline-end: 0; + width: 38px; + opacity: 0.4; + padding: 12px; + @include functions.icon-color('close', 'actions', variables.$color-black, 2, true); + background-position: center; + background-repeat: no-repeat; + text-indent: 200%; + white-space: nowrap; + overflow: hidden; + + &:hover, &:focus, &:active { + cursor: pointer; + opacity: 1; + } + } +} + +.toastify.toastify-top { + inset-inline-end: 10px; +} + +.toast-error { + border-inline-start: 3px solid var(--color-error); +} + +.toast-info { + border-inline-start: 3px solid var(--color-primary-element); +} + +.toast-warning { + border-inline-start: 3px solid var(--color-warning); +} + +.toast-success { + border-inline-start: 3px solid var(--color-success); +} diff --git a/core/css/tooltip.css b/core/css/tooltip.css index 34d0ec6c70f..ed64fa1c314 100644 --- a/core/css/tooltip.css +++ b/core/css/tooltip.css @@ -1,119 +1,5 @@ /*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -.tooltip { - position: absolute; - z-index: 1070; - display: block; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - font-size: 12px; - opacity: 0; - filter: alpha(opacity=0); -} -.tooltip.in { - opacity: 0.9; - filter: alpha(opacity=90); -} -.tooltip.top { - margin-top: -3px; - padding: 5px 0; -} -.tooltip.right { - margin-left: 3px; - padding: 0 5px; -} -.tooltip.bottom { - margin-top: 3px; - padding: 5px 0; -} -.tooltip.left { - margin-left: -3px; - padding: 0 5px; -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #ffffff; - text-align: center; - background-color: #000000; - border-radius: 4px; -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.top-left .tooltip-arrow { - bottom: 0; - right: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.top-right .tooltip-arrow { - bottom: 0; - left: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000000; -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000000; -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.tooltip.bottom-left .tooltip-arrow { - top: 0; - right: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.tooltip.bottom-right .tooltip-arrow { - top: 0; - left: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} + * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2011-2015 Twitter, Inc. (Bootstrap (http://getbootstrap.com)) + * SPDX-License-Identifier: MIT + */.tooltip{position:absolute;display:block;font-family:var(--font-face);font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;overflow-wrap:anywhere;font-size:12px;opacity:0;z-index:100000;margin-top:-3px;padding:10px 0;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.tooltip.in,.tooltip.show,.tooltip.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.tooltip.top .tooltip-arrow,.tooltip[x-placement^=top]{inset-inline-start:50%;margin-inline-start:-10px}.tooltip.bottom,.tooltip[x-placement^=bottom]{margin-top:3px;padding:10px 0}.tooltip.right,.tooltip[x-placement^=right]{margin-inline-start:3px;padding:0 10px}.tooltip.right .tooltip-arrow,.tooltip[x-placement^=right] .tooltip-arrow{top:50%;inset-inline-start:0;margin-top:-10px;border-width:10px 10px 10px 0;border-inline-end-color:var(--color-main-background)}.tooltip.left,.tooltip[x-placement^=left]{margin-inline-start:-3px;padding:0 5px}.tooltip.left .tooltip-arrow,.tooltip[x-placement^=left] .tooltip-arrow{top:50%;inset-inline-end:0;margin-top:-10px;border-width:10px 0 10px 10px;border-inline-start-color:var(--color-main-background)}.tooltip.top .tooltip-arrow,.tooltip.top .arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-left .arrow,.tooltip[x-placement^=top] .tooltip-arrow,.tooltip[x-placement^=top] .arrow,.tooltip.top-right .tooltip-arrow,.tooltip.top-right .arrow{bottom:0;border-width:10px 10px 0;border-top-color:var(--color-main-background)}.tooltip.top-left .tooltip-arrow{inset-inline-end:10px;margin-bottom:-10px}.tooltip.top-right .tooltip-arrow{inset-inline-start:10px;margin-bottom:-10px}.tooltip.bottom .tooltip-arrow,.tooltip.bottom .arrow,.tooltip[x-placement^=bottom] .tooltip-arrow,.tooltip[x-placement^=bottom] .arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-left .arrow,.tooltip.bottom-right .tooltip-arrow,.tooltip.bottom-right .arrow{top:0;border-width:0 10px 10px;border-bottom-color:var(--color-main-background)}.tooltip[x-placement^=bottom] .tooltip-arrow,.tooltip.bottom .tooltip-arrow{inset-inline-start:50%;margin-inline-start:-10px}.tooltip.bottom-left .tooltip-arrow{inset-inline-end:10px;margin-top:-10px}.tooltip.bottom-right .tooltip-arrow{inset-inline-start:10px;margin-top:-10px}.tooltip-inner{max-width:350px;padding:5px 8px;background-color:var(--color-main-background);color:var(--color-main-text);text-align:center;border-radius:var(--border-radius)}.tooltip-arrow,.tooltip .arrow{position:absolute;width:0;height:0;border-color:rgba(0,0,0,0);border-style:solid}/*# sourceMappingURL=tooltip.css.map */ diff --git a/core/css/tooltip.css.map b/core/css/tooltip.css.map new file mode 100644 index 00000000000..de218b7af69 --- /dev/null +++ b/core/css/tooltip.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["tooltip.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,SACI,kBACA,cACA,6BACA,kBACA,mBACA,sBACA,gBACA,gBACA,iBACA,qBACA,iBACA,oBACA,mBACA,kBACA,oBACA,iBACA,uBACA,eACA,UACA,eAEA,gBACA,eACA,uDACA,8DAGI,mBACA,UACA,wBAEJ,uDAEI,uBACA,0BAEJ,8CAEI,eACA,eAEJ,4CAEI,wBACA,eACA,0EACI,QACA,qBACA,iBACA,8BACA,qDAGR,0CAEI,yBACA,cACA,wEACI,QACA,mBACA,iBACA,8BACA,uDAQJ,kPACI,SACA,yBACA,8CAGR,iCACI,sBACA,oBAEJ,kCACI,wBACA,oBAOA,0QACI,MACA,yBACA,iDAGR,4EAEI,uBACA,0BAEJ,oCACI,sBACA,iBAEJ,qCACI,wBACA,iBAIR,eACI,gBACA,gBACA,8CACA,6BACA,kBACA,mCAGJ,+BACI,kBACA,QACA,SACA,2BACA","file":"tooltip.css"}
\ No newline at end of file diff --git a/core/css/tooltip.css.map.license b/core/css/tooltip.css.map.license new file mode 100644 index 00000000000..006d4f89ab4 --- /dev/null +++ b/core/css/tooltip.css.map.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2011-2015 Twitter, Inc. (Bootstrap (http://getbootstrap.com))
+SPDX-License-Identifier: MIT
diff --git a/core/css/tooltip.scss b/core/css/tooltip.scss new file mode 100644 index 00000000000..7f8b76eea06 --- /dev/null +++ b/core/css/tooltip.scss @@ -0,0 +1,133 @@ +/*! + * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2011-2015 Twitter, Inc. (Bootstrap (http://getbootstrap.com)) + * SPDX-License-Identifier: MIT + */ + +.tooltip { + position: absolute; + display: block; + font-family: var(--font-face); + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.6; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + overflow-wrap: anywhere; + font-size: 12px; + opacity: 0; + z-index: 100000; + /* default to top */ + margin-top: -3px; + padding: 10px 0; + filter: drop-shadow(0 1px 10px var(--color-box-shadow)); + &.in, + &.show, + &.tooltip[aria-hidden='false'] { + visibility: visible; + opacity: 1; + transition: opacity .15s; + } + &.top .tooltip-arrow, + &[x-placement^='top'] { + inset-inline-start: 50%; + margin-inline-start: -10px; + } + &.bottom, + &[x-placement^='bottom'] { + margin-top: 3px; + padding: 10px 0; + } + &.right, + &[x-placement^='right'] { + margin-inline-start: 3px; + padding: 0 10px; + .tooltip-arrow { + top: 50%; + inset-inline-start: 0; + margin-top: -10px; + border-width: 10px 10px 10px 0; + border-inline-end-color: var(--color-main-background); + } + } + &.left, + &[x-placement^='left'] { + margin-inline-start: -3px; + padding: 0 5px; + .tooltip-arrow { + top: 50%; + inset-inline-end: 0; + margin-top: -10px; + border-width: 10px 0 10px 10px; + border-inline-start-color: var(--color-main-background); + } + } + /* TOP */ + &.top, + &.top-left, + &[x-placement^='top'], + &.top-right { + .tooltip-arrow, .arrow { + bottom: 0; + border-width: 10px 10px 0; + border-top-color: var(--color-main-background); + } + } + &.top-left .tooltip-arrow { + inset-inline-end: 10px; + margin-bottom: -10px; + } + &.top-right .tooltip-arrow { + inset-inline-start: 10px; + margin-bottom: -10px; + } + /* BOTTOM */ + &.bottom, + &[x-placement^='bottom'], + &.bottom-left, + &.bottom-right { + .tooltip-arrow, .arrow { + top: 0; + border-width: 0 10px 10px; + border-bottom-color: var(--color-main-background); + } + } + &[x-placement^='bottom'] .tooltip-arrow, + &.bottom .tooltip-arrow { + inset-inline-start: 50%; + margin-inline-start: -10px; + } + &.bottom-left .tooltip-arrow { + inset-inline-end: 10px; + margin-top: -10px; + } + &.bottom-right .tooltip-arrow { + inset-inline-start: 10px; + margin-top: -10px; + } +} + +.tooltip-inner { + max-width: 350px; + padding: 5px 8px; + background-color: var(--color-main-background); + color: var(--color-main-text); + text-align: center; + border-radius: var(--border-radius); +} + +.tooltip-arrow, .tooltip .arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} diff --git a/core/css/variables.css b/core/css/variables.css new file mode 100644 index 00000000000..90ef0f57e18 --- /dev/null +++ b/core/css/variables.css @@ -0,0 +1,4 @@ +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + *//*# sourceMappingURL=variables.css.map */ diff --git a/core/css/variables.css.map b/core/css/variables.css.map new file mode 100644 index 00000000000..a2b81c09e32 --- /dev/null +++ b/core/css/variables.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["variables.scss"],"names":[],"mappings":"AAEA;AAAA;AAAA;AAAA","file":"variables.css"}
\ No newline at end of file diff --git a/core/css/variables.css.map.license b/core/css/variables.css.map.license new file mode 100644 index 00000000000..b62adf36215 --- /dev/null +++ b/core/css/variables.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/variables.scss b/core/css/variables.scss new file mode 100644 index 00000000000..f750b844f0f --- /dev/null +++ b/core/css/variables.scss @@ -0,0 +1,102 @@ +@use 'sass:color'; + +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +// SCSS darken/lighten function override +@function nc-darken($color, $value) { + @return color.adjust($color, $lightness: - $value, $space: hsl); +} + +@function nc-lighten($color, $value) { + @return color.adjust($color, $lightness: $value, $space: hsl); +} + +// SCSS variables +// DEPRECATED, please use CSS4 vars +$color-main-text: #222 !default; // Not #000 for better readability +$color-main-background: #fff !default; +$color-main-background-translucent: rgba($color-main-background, .97) !default; + +// used for different active/hover/focus/disabled states +$color-background-hover: nc-darken($color-main-background, 4%) !default; +$color-background-dark: nc-darken($color-main-background, 7%) !default; +$color-background-darker: nc-darken($color-main-background, 14%) !default; + +$color-placeholder-light: nc-darken($color-main-background, 10%) !default; +$color-placeholder-dark: nc-darken($color-main-background, 20%) !default; + +$color-primary: #0082c9 !default; +$color-primary-hover: color.mix($color-primary, $color-main-background, 80%) !default; + +$color-primary-light: color.mix($color-primary, $color-main-background, 10%) !default; +$color-primary-light-text: $color-primary !default; +$color-primary-light-hover: color.mix($color-primary-light, $color-main-text, 95%) !default; + +$color-primary-text: #ffffff !default; +// do not use nc-darken/lighten in case of overriding because +// primary-text is independent of color-main-text +$color-primary-element-text-dark: color.adjust($color-primary-text, $lightness: -7%, $space: hsl) !default; +$color-primary-element: $color-primary !default; +$color-primary-element-hover: color.mix($color-primary-element, $color-main-background, 80%) !default; +$color-primary-element-light: color.adjust($color-primary-element, $lightness: 15%, $space: hsl) !default; + +$color-error: #e9322d; +$color-error-hover: color.mix($color-error, $color-main-background, 80%) !default; +$color-warning: #eca700; +$color-warning-hover: color.mix($color-warning, $color-main-background, 80%) !default; +$color-success: #46ba61; +$color-success-hover: color.mix($color-success, $color-main-background, 80%) !default; +// used for svg +$color-white: #fff; +$color-black: #000; +$color-yellow: #FC0; + +// rgb(118, 118, 118) / #767676 +// min. color contrast for normal text on white background according to WCAG AA +// (Works as well: color: #000; opacity: 0.57;) +$color-text-maxcontrast: nc-lighten($color-main-text, 33%) !default; +$color-text-light: $color-main-text !default; +$color-text-lighter: $color-text-maxcontrast !default; + +$image-logo: url('../img/logo/logo.svg?v=1') !default; +$image-login-background: url('../img/background.png?v=2') !default; +$image-logoheader: url('../img/logo/logo.svg?v=1') !default; +$image-favicon: url('../img/logo/logo.svg?v=1') !default; + +$color-loading-light: #ccc !default; +$color-loading-dark: #444 !default; + +$color-box-shadow: color.adjust(nc-darken($color-main-background, 70%), $alpha: -0.5, $space: hsl) !default; + +// light border like file table or app-content list +$color-border: nc-darken($color-main-background, 7%) !default; +// darker border like inputs or very visible elements +$color-border-dark: nc-darken($color-main-background, 14%) !default; + +$border-radius: 3px !default; +$border-radius-large: 10px !default; +// Pill-style button, value is large so big buttons also have correct roundness +$border-radius-pill: 100px !default; + +$font-face: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, Ubuntu, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; +$default-font-size: 15px; + +$default-line-height: 24px; + +$animation-quick: 100ms; +$animation-slow: 300ms; + +// various structure data +$header-height: 50px; +$navigation-width: 300px; +$sidebar-min-width: 300px; +$sidebar-max-width: 500px; +$list-min-width: 200px; +$list-max-width: 300px; +$header-menu-item-height: 44px; +$header-menu-profile-item-height: 66px; + +// mobile. Keep in sync with core/js/js.js +$breakpoint-mobile: 1024px; diff --git a/core/css/whatsnew.css b/core/css/whatsnew.css new file mode 100644 index 00000000000..638b4a53eb1 --- /dev/null +++ b/core/css/whatsnew.css @@ -0,0 +1,4 @@ +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */.whatsNewPopover{bottom:35px !important;inset-inline-start:15px !important;width:270px;z-index:700}.whatsNewPopover p{width:auto !important}.whatsNewPopover .caption{font-weight:bold;cursor:auto !important}.whatsNewPopover .icon-close{position:absolute;inset-inline-end:0}.whatsNewPopover::after{content:none}/*# sourceMappingURL=whatsnew.css.map */ diff --git a/core/css/whatsnew.css.map b/core/css/whatsnew.css.map new file mode 100644 index 00000000000..aebcf43e461 --- /dev/null +++ b/core/css/whatsnew.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["whatsnew.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAIA,iBACE,uBACA,mCACA,YACA,YAGF,mBACE,sBAGF,0BACE,iBACA,uBAGF,6BACE,kBACA,mBAGF,wBACE","file":"whatsnew.css"}
\ No newline at end of file diff --git a/core/css/whatsnew.css.map.license b/core/css/whatsnew.css.map.license new file mode 100644 index 00000000000..b62adf36215 --- /dev/null +++ b/core/css/whatsnew.css.map.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/whatsnew.scss b/core/css/whatsnew.scss new file mode 100644 index 00000000000..c4698e397cc --- /dev/null +++ b/core/css/whatsnew.scss @@ -0,0 +1,28 @@ +/*! + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +.whatsNewPopover { + bottom: 35px !important; + inset-inline-start: 15px !important; + width: 270px; + z-index: 700; +} + +.whatsNewPopover p { + width: auto !important; +} + +.whatsNewPopover .caption { + font-weight: bold; + cursor: auto !important; +} + +.whatsNewPopover .icon-close { + position: absolute; + inset-inline-end: 0; +} + +.whatsNewPopover::after { + content: none; +} |