/** * Copyright (C) 2024 Puter Technologies Inc. * * This file is part of Puter. * * Puter is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ @font-face { font-family: 'Inter'; src: url('/fonts/Inter-Thin.ttf') format('truetype'); font-weight: 100; } @font-face { font-family: 'Inter'; src: url('/fonts/Inter-ExtraLight.ttf') format('truetype'); font-weight: 200; } @font-face { font-family: 'Inter'; src: url('/fonts/Inter-Light.ttf') format('truetype'); font-weight: 300; } @font-face { font-family: 'Inter'; src: url('/fonts/Inter-Regular.ttf') format('truetype'); font-weight: 400; } @font-face { font-family: 'Inter'; src: url('/fonts/Inter-Medium.ttf') format('truetype'); font-weight: 500; } @font-face { font-family: 'Inter'; src: url('/fonts/Inter-SemiBold.ttf') format('truetype'); font-weight: 600; } @font-face { font-family: 'Inter'; src: url('/fonts/Inter-Bold.ttf') format('truetype'); font-weight: 700; } @font-face { font-family: 'Inter'; src: url('/fonts/Inter-ExtraBold.ttf') format('truetype'); font-weight: 800; } @font-face { font-family: 'Inter'; src: url('/fonts/Inter-Black.ttf') format('truetype'); font-weight: 900; } * { font-family: "Inter", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, sans-serif; user-select: none; font-optical-sizing: auto; font-style: normal; font-variation-settings: "slnt"0; } :root { --primary-hue: 210; --primary-saturation: 41.18%; --primary-lightness: 93.33%; --primary-alpha: 0.8; --primary-color: #373e44; --window-head-hue: var(--primary-hue); --window-head-saturation: var(--primary-saturation); --window-head-lightness: var(--primary-lightness); --window-head-alpha: var(--primary-alpha); --window-head-color: var(--primary-color); --window-sidebar-hue: var(--primary-hue); --window-sidebar-saturation: var(--primary-saturation); --window-sidebar-lightness: var(--primary-lightness); --window-sidebar-alpha: calc(min(1, 0.11 + var(--primary-alpha))); --window-sidebar-color: var(--primary-color); --taskbar-hue: var(--primary-hue); --taskbar-saturation: var(--primary-saturation); --taskbar-lightness: var(--primary-lightness); --taskbar-alpha: calc(0.73 * var(--primary-alpha)); --taskbar-color: var(--primary-color); --select-hue: 213.05; --select-saturation: 74.22%; --select-lightness: 55.88%; --select-color: hsl(var(--select-hue), var(--select-saturation), var(--select-lightness)); } html, body { /* disables two fingers back/forward swipe */ overscroll-behavior-x: none; } body { background: no-repeat center center fixed; background-position: center; background-size: cover; background-color: #3d4c74; overflow: hidden; } .embedded-in-3rd-party-website, .embedded-in-popup { background: none !important; background-color: #ccccccbe !important; } .disable-user-select { cursor: default; -webkit-touch-callout: none !important; -webkit-user-select: none !important; -khtml-user-select: none !important; -moz-user-select: none !important; -ms-user-select: none !important; user-select: none !important; } .enable-user-select, .enable-user-select * { cursor: initial; -webkit-touch-callout: text !important; -webkit-user-select: text !important; -khtml-user-select: text !important; -moz-user-select: text !important; -ms-user-select: text !important; user-select: text !important; } .window-container { position: fixed; top: 0; left: -100000px; width: 200000px; height: 200000px; z-index: -9999; } input[type=text], input[type=password], input[type=email], select { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; outline: none; -webkit-font-smoothing: antialiased; color: #393f46; font-size: 14px; } /* to prevent auto-zoom on input focus in mobile */ .device-phone input[type=text], .device-phone input[type=password], .device-phone input[type=email], .device-phone select { font-size: 17px; } input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, select:focus { border: 2px solid #01a0fd; padding: 7px; } /** * Button */ .button { color: #666666; background-color: #eeeeee; border-color: #eeeeee; font-size: 14px; text-decoration: none; text-align: center; line-height: 40px; height: 35px; padding: 0 30px; margin: 0; display: inline-block; appearance: none; cursor: pointer; border: none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; border-color: #b9b9b9; border-style: solid; border-width: 1px; line-height: 35px; background: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e1e1e1)); background: linear-gradient(#f6f6f6, #e1e1e1); -webkit-box-shadow: inset 0px 1px 0px rgb(255 255 255 / 30%), 0 1px 2px rgb(0 0 0 / 15%); box-shadow: inset 0px 1px 0px rgb(255 255 255 / 30%), 0 1px 2px rgb(0 0 0 / 15%); border-radius: 4px; outline: none; } .button:focus-visible { border-color: rgb(118 118 118); } .button:active, .button.active, .button.is-active, .button.has-open-contextmenu { text-decoration: none; background-color: #eeeeee; border-color: #cfcfcf; color: #a9a9a9; -webkit-transition-duration: 0s; transition-duration: 0s; -webkit-box-shadow: inset 0 1px 3px rgb(0 0 0 / 20%); box-shadow: inset 0px 2px 3px rgb(0 0 0 / 36%), 0px 1px 0px white; } .button.disabled, .button.is-disabled, .button:disabled { top: 0 !important; background: #EEE !important; border: 1px solid #DDD !important; text-shadow: 0 1px 1px white !important; color: #CCC !important; cursor: default !important; appearance: none !important; pointer-events: none; } .button-action.disabled, .button-action.is-disabled, .button-action:disabled { background: #55a975 !important; border: 1px solid #60ab7d !important; text-shadow: none !important; color: #CCC !important; } .button-primary.disabled, .button-primary.is-disabled, .button-primary:disabled { background: #8fc2e7 !important; border: 1px solid #98adbd !important; text-shadow: none !important; color: #f5f5f5 !important; } .button-block { width: 100%; } .button-primary { border-color: #088ef0; background: -webkit-gradient(linear, left top, left bottom, from(#34a5f8), to(#088ef0)); background: linear-gradient(#34a5f8, #088ef0); color: white; } .button-danger { border-color: #f00808; background: -webkit-gradient(linear, left top, left bottom, from(#f83434), to(#f00808)); background: linear-gradient(#f83434, #f00808); color: white; } .button-primary:active, .button-primary.active, .button-primary.is-active, .button-primary-flat:active, .button-primary-flat.active, .button-primary-flat.is-active { background-color: #2798eb; border-color: #2798eb; color: #bedef5; } .button-action { border-color: #08bf4e; background: -webkit-gradient(linear, left top, left bottom, from(#29d55d), to(#1ccd60)); background: linear-gradient(#29d55d, #1ccd60); color: white; } .button-action:active, .button-action.active, .button-action.is-active, .button-action-flat:active, .button-action-flat.active, .button-action-flat.is-active { background-color: #27eb41; border-color: #27eb41; color: #bef5ca; } .button-giant { font-size: 28px; height: 70px; line-height: 70px; padding: 0 70px; } .button-jumbo { font-size: 24px; height: 60px; line-height: 60px; padding: 0 60px; } .button-large { font-size: 20px; height: 50px; line-height: 50px; padding: 0 50px; } .button-normal { font-size: 16px; height: 40px; line-height: 38px; padding: 0 40px; } .button-small { height: 30px; line-height: 29px; padding: 0 30px; } .button-tiny { font-size: 9.6px; height: 24px; line-height: 24px; padding: 0 24px; } .desktop { display: none; overflow: hidden; height: calc(100vh - 60px); width: 100%; display: grid; grid-template-rows: repeat(auto-fill, 109px); grid-auto-flow: column; grid-template-columns: repeat(auto-fill, 120px); } .fullpage-mode .window-minimize-btn { display: none; } .device-phone .desktop { height: 100vh !important; height: 100dvh !important; overflow-x: scroll; } .item-container-list { display: grid; overflow-x: scroll !important; overflow-y: hidden !important; grid-template-rows: repeat(auto-fill, 18px); grid-auto-flow: column; gap: 15px 70px; padding-top: 5px; } .device-phone .item-container-list { grid-template-rows: repeat(auto-fill, 55px); overflow-x: hidden !important; overflow-y: scroll !important; grid-auto-flow: unset; } .item-container-details { overflow-x: scroll !important; overflow-y: scroll !important; padding-top: 5px; } .item { width: 110px; height: 70px; user-select: none !important; -moz-user-select: none !important; -webkit-user-select: none; text-align: center; margin: 15px 5px 30px 5px; float: left; position: relative; scroll-margin: 15px 15px 100px 15px; pointer-events: all; } .item-disabled { opacity: 0.7; pointer-events: none; } .item-revealed { opacity: 0.9; } .item-hidden { display: none } .item-revealed.item-disabled { opacity: 0.7 } .item-container-list .item { height: initial; width: max-content; margin: 0; pointer-events: all; } .device-phone .item-container-list .item { height: 50px; width: 100%; padding-left: 10px; } .item-container-details .item { height: initial; width: max-content; margin: 0; pointer-events: all; width: 100vw; margin-bottom: 20px; } .explore-table-headers { display: none; width: 100vw; height: 25px; border-bottom: 1px solid rgb(226, 226, 226); background-color: #fff; margin-left: -10px; padding-top: 0; margin-top: -7px; margin-bottom: 8px; position: sticky; top: -7px; z-index: 1; } .device-phone .explore-table-headers { display: none !important; } .header-sort-icon { margin-left: 7px; pointer-events: none; } span.header-sort-icon img { margin-bottom: -1px; width: 10px; } .explore-table-headers .explore-table-headers-th { font-size: 12px; line-height: 25px; margin-left: 15px; color: #555c61; display: inline-block; } .explore-table-headers-th-active { font-weight: bold; } .explore-table-headers-th--name { width: 330px; } .explore-table-headers-th--size { width: 135px; } .explore-table-headers-th--modified { width: 135px; } .item-container-details .explore-table-headers { display: block; } .item-disabled .item-icon, .item-disabled .item-name { opacity: 0.7; pointer-events: none; } .item-icon { display: block; margin: 0 auto; padding: 5px; height: 45px; width: 45px; filter: drop-shadow(1px 1px 1px rgba(102, 102, 102, .5)); display: flex; justify-content: center; align-items: center; } .item-container-list .item-icon { float: left; height: 15px; width: 15px; } .device-phone .item-container-list .item-icon { float: left; height: 45px; width: 45px; } .item-container-details .item-icon { float: left; height: 15px; width: 15px; } .device-desktop .item-container-details .item-selected .item-icon { background-color: transparent; } .item-icon img { max-height: 45px; max-width: 45px; } .item-container-list .item-icon img { max-height: 15px; max-width: 15px; } .device-phone .item-container-list .item-icon img { max-height: 45px; max-width: 45px; } .item-container-details .item-icon img { max-height: 15px; max-width: 15px; } .item-icon-thumb { padding: 1px; background-color: white; border: 1px solid #EEE; border-radius: 3px; } .device-desktop .item-selected .item-icon { background-color: #d4d4d430; border-radius: 3px; filter: drop-shadow(0px 0px 1px rgba(102, 102, 102, 1)); } .item-badges { position: absolute; height: 15px; width: 55px; text-align: center; justify-content: right; display: flex; top: 38px; left: 28px; right: 50%; } .item-container-list .item-badges { display: none; } .item-container-details .item-badges { display: none; } .item-badge { filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, .4)); display: none; margin: 1px; width: 15px; height: 15px; box-sizing: border-box; border-radius: 100%; } .item-badge.item-shortcut { border-radius: 1px; background: white; } .item-has-website-badge { filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, .4)); display: none; cursor: pointer; } .item-has-website-url-badge { cursor: pointer; } .item-has-website-url-badge.has-open-contextmenu { filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1)); } .item-name, .item-name-editor, .item-name-shadow { font-size: 13px; color: white; text-shadow: 0px 0px 3px #00000082, 0px 0px 3px #00000082, 0px 0px 3px #00000082; -webkit-font-smoothing: antialiased; padding: 3px; margin-top: 4px; display: inline-block; font-weight: bold; border-radius: 4px; line-break: anywhere; box-sizing: border-box; } .item-name { transition: opacity 0.2s ease-in-out; cursor: default; max-width: 110px; } .item-container-list .item-name { margin-top: 2px; float: left; max-width: initial; } .item-container-details .item-name { margin-top: 2px; float: left; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; text-align: left; max-width: 220px; } .item-name-shadow { display: none; max-width: 110px; } .item-name-editor { background: none; background-color: white; text-shadow: none; color: black; text-align: center; border: none; max-width: 100%; padding: 1px 3px; resize: none; display: none; margin: 6px auto; user-select: initial; position: relative; box-sizing: border-box; z-index: 999999999; } .item-container-list .item-name-editor { width: fit-content !important; max-width: 200px !important; text-align: left; background-color: white !important; } .item-container-list .item-name-editor-active { background-color: white !important; } .item-container-details .item-name-editor { width: fit-content !important; max-width: 200px !important; text-align: left; background-color: white !important; position: absolute; left: 35px; } .item-container-details .item-name-editor-active { background-color: white !important; } .item-name-editor-active { display: block; } .item-attr { display: none; position: absolute; text-align: left; font-size: 12px; height: 25px; line-height: 25px; width: max-content; color: #738c9f; } .item-container-details .item-attr { display: inline; } .device-desktop .item-container-details .item-selected .item-attr { color: white; } .item-container-details .item-attr--modified { left: 350px; } .item-container-details .item-attr--size { left: 500px; } .item-container-details .item-attr--type { left: 650px; } .window-disabled { pointer-events: none !important; } .window-disable-mask { width: 100%; height: 100%; position: absolute; display: none; background-color: #d1d1d18a; pointer-events: initial; z-index: 2; } .device-phone .window-disable-mask, .device-tablet .window-disable-mask { background-color: #626060a1; } .window-disable-mask .busy-indicator { -moz-animation: three-quarters-loader 1250ms infinite linear; -webkit-animation: three-quarters-loader 1250ms infinite linear; animation: three-quarters-loader 1250ms infinite linear; border: 5px solid rgb(75, 75, 75); border-right-color: transparent; border-radius: 100%; box-sizing: border-box; display: inline-block; position: relative; overflow: hidden; text-indent: -9999px; width: 45px; height: 45px; position: absolute; top: calc(50% - 22px) !important; left: calc(50% - 22px) !important; transform: translate(-50%, -50%); display: none; } .window-body .item .item-name { color: rgb(73, 73, 73); text-shadow: none; font-weight: 500; font-size: 13px; margin-left: 3px; } .device-phone .item-container-list .item .item-name { line-height: 42px; } .window-body .item .item-name-editor { font-weight: 500; font-size: 13px; } .device-desktop .item-selected>.item-name, .device-desktop .window-body .item-selected>.item-name { background-color: #3b56ee; color: white; } .device-desktop .item-container-details .item-selected { background-color: #3b56ee; border-radius: 3px; } .device-desktop .item-selected.item-blurred .item-name { background-color: #dbdada; color: rgb(73, 73, 73); text-shadow: none; } .window-body .item-name-editor { color: rgb(73, 73, 73); text-shadow: none; } .window-menubar { display: flex; box-sizing: border-box; overflow: hidden; border-bottom: 1px solid #e3e3e3; background-color: #fafafa; --scale: 2pt; padding: 2px 5px; } .window-menubar-item { padding: calc(1.4 * var(--scale)) 0; font-size: calc(5 * var(--scale)); } .window-menubar-item span { display: inline-block; padding: calc(1.6 * var(--scale)) calc(4 * var(--scale)); font-size: calc(5 * var(--scale)); border-radius: calc(1.5 * var(--scale)); } .window-menubar-item.active>span { /* background-color: var(--select-color); color: white; */ background-color: #e2e2e2; } .explorer-empty-message { text-align: center; margin-top: 20px; color: #a3a3a3; -webkit-font-smoothing: antialiased; display: none; } .explorer-error-message { text-align: center; margin-top: 20px; color: #935c5c; -webkit-font-smoothing: antialiased; display: none; } .explorer-loading-spinner { margin-top: 20px; font-size: 13px; display: none; } .explorer-loading-spinner-msg { text-align: center; margin-top: 5px; color: #a3a3a3; font-size: 15px; -webkit-font-smoothing: antialiased; } /* Window */ .window { display: none; position: absolute; background: transparent; padding: 0; border: 1px solid #9a9a9a; box-shadow: 0px 0px 15px #00000066; overflow: hidden; border-radius: 4px; border: none; transition: opacity .2s; user-select: none !important; -moz-user-select: none !important; -webkit-user-select: none; } .window[data-is_maximized="1"] { transform: none; border-radius: 0; } .window-cover-page { border-radius: 0; } .device-phone .window[data-is_maximized="1"] { top: 0 !important; } .device-phone .window:not(.window-alert), .device-tablet .window:not(.window-alert) { border-radius: 0; transform: none; width: 100%; height: 100dvh !important; top: 0 !important; } .device-phone .window, .device-tablet .window { z-index: 9999999 !important; } .device-phone .window-alert, .device-tablet .window-alert { min-width: 90%; max-width: 300px; position: absolute; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%); } .device-tablet .window .window-scale-btn, .device-phone .window .window-scale-btn, .device-phone .window .ui-resizable-handle { display: none !important; } .window-backdrop { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background-color: #00000052; } .window.ui-resizable-resizing { transition: none; } .window-dragging { transition: none; } .window-head-draggable { overflow: hidden; flex-grow: 1; display: flex; } .window-head { overflow: hidden !important; padding: 0; background-color: hsla(var(--window-head-hue), var(--window-head-saturation), var(--window-head-lightness), calc(0.5 + 0.5 * var(--window-head-alpha))); filter: grayscale(80%); box-shadow: inset 0px -4px 5px -7px rgb(0 0 0 / 64%); display: flex; flex-flow: row; padding-left: 5px; margin-bottom: -1px; } .device-phone .window-head { /* not transparent on mobile */ background-color: rgba(231, 238, 245); } .window-head, .window-head * { user-select: none !important; -moz-user-select: none !important; -webkit-user-select: none !important; -ms-user-select: none !important; cursor: default; } .window-active .window-head { filter: none !important; } .window-head-title { float: left; line-height: 30px; font-size: 14px; /* color: #666d74; */ margin-left: 10px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; color: var(--window-head-color); } .window-active .window-head-title { /* color: #373e44; */ color: var(--window-head-color) } .window-head-icon { float: left; width: 16px; height: 16px; margin-left: 8px; margin-top: 7px; margin-right: -5px; filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51)); } .window-navbar { overflow: hidden; border-bottom: 1px solid #e3e3e3; padding: 5px 0 5px 1px; background-color: #fafafa; height: 48px; box-sizing: border-box; } .window-navbar-btn { margin: 7px 6px 0; cursor: pointer; width: 17px; border-radius: 100%; padding: 3px; transition: background-color 0.2s ease-in; } .window-navbar-btn:hover, .window-navbar-btn.has-open-contextmenu { background-color: #dfdfdf; } .window-navbar-btn-disabled { pointer-events: none; opacity: 0.5; } .window-navbar-path { overflow: hidden; line-height: 35px; padding-left: 10px; font-size: 14px; color: #41484c; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; -webkit-font-smoothing: antialiased; border: 1px solid #e3e3e3; border-radius: 3px; background: #f1f3f4; box-sizing: border-box; user-select: none !important; -moz-user-select: none !important; -webkit-user-select: none !important; -ms-user-select: none !important; cursor: default; } .device-phone .window-navbar-path { display: none; } .window-navbar-layout-settings { width: 30px; height: 30px; margin-left: 10px; margin-top: 3px; } .device-phone .window-navbar-layout-settings { float: right; margin-right: 10px; } .window-navbar-path-input { overflow: hidden; line-height: 17px; padding-left: 10px; font-size: 15px; color: #41484c; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; /* -webkit-font-smoothing: antialiased; */ border: 1px solid #00b6ff; border-radius: 3px; background: white; display: none; box-sizing: border-box; padding-top: 9px; padding-bottom: 9px; outline: 1px solid #00b6ff; } .window-navbar-path-input, .window-navbar-path { width: calc(100% - 170px); float: left; } .window-navbar-path-dirname { cursor: pointer; font-weight: 500; padding: 0px 7px; height: 33px; display: inline-block; overflow: initial !important; } .window-navbar-path-dirname-active { text-decoration: underline; } .window-navbar-path-dirname:hover { color: #414a4e; text-decoration: underline; } .path-seperator { width: 10px; opacity: 0.2; } .window-body { width: 100%; height: calc(100% - 77px); background-color: white; overflow: auto; } .window-body.item-container { box-sizing: border-box; width: initial; padding-left: 10px; border: 3px solid rgba(255, 255, 255, 0); position: relative; } .item-container-transparent-border { border-color: transparent !important; } .window-body.item-container-active { border-color: #bcedff !important; } .device-phone .window-body.item-container { padding-left: 0; } .window-sidebar { min-width: 170px; height: calc(100% - 28px); float: left; border-right: 1px solid #CCC; padding: 15px 10px; box-sizing: border-box; background-color: hsla(var(--window-sidebar-hue), var(--window-sidebar-saturation), var(--window-sidebar-lightness), calc(0.5 + 0.5*var(--window-sidebar-alpha))); overflow-y: scroll; margin-top: 1px; } .window-sidebar .ui-resizable-e { right: 0; } .window-filedialog .window-sidebar { height: calc(100% - 30px); } .window-cover-page.window-filedialog .window-body { height: calc(100% - 109px) !important; } .window-cover-page .window-sidebar { height: 100%; } .window-cover-page.window-puter-dialog { height: 100%; width: 100%; top: 0 !important; } .window-cover-page.window-puter-dialog .window-body { width: 100%; height: 100%; padding: 0 !important; } .window-cover-page.window-login, .window-cover-page.window-signup { height: 100vh !important; width: 100%; top: 0 !important; } .window-sidebar-title { margin: 0; font-weight: bold; font-size: 13px; color: #6d7787; text-shadow: 1px 1px rgb(247 247 247 / 15%); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; padding-left: 6px; cursor: default; margin-top: 20px; margin-bottom: 5px; } .window-sidebar-title:first-child { margin-top: 0px; } .window-sidebar-item:hover, .window-sidebar-item.has-open-contextmenu { background-color: rgba(243, 243, 243, 0.8); cursor: pointer; } .window-sidebar-item { margin-bottom: 6px; margin-top: 2px; padding: 4px; border-radius: 3px; color: #444444; font-size: 13px; cursor: pointer; transition: 0.15s background-color; box-sizing: border-box; overflow-x: hidden !important; overflow-y: hidden !important; white-space: nowrap; text-overflow: ellipsis; } .window-sidebar-item-active, .window-sidebar-item-drag-active, .window-sidebar-item-active:hover { background-color: #fefeff; } .window-sidebar-item-icon { width: 14px; height: 14px; filter: drop-shadow(0px 0px 0.2px rgb(51, 51, 51)); margin-right: 5px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; margin-bottom: -2px; } .window[data-app="explorer"] .window-body { height: calc(100% - 107px); } .explorer-footer { background: white; overflow: auto; height: 30px; font-size: 13px; line-height: 28px; padding-left: 10px; background-color: #fafafa; border-top: 1px solid #e3e3e3; color: #505050; user-select: none !important; -moz-user-select: none !important; -webkit-user-select: none !important; -ms-user-select: none !important; cursor: default; } .device-phone .explorer-footer { width: 100%; } .explorer-footer-seperator, .explorer-footer-selected-items-count { display: none; } .explorer-footer-seperator { margin: 15px; color: #CCC; } .window-body-filedialog { height: calc(100% - 137px); } .window-body-app { height: calc(100% - 30px); } .fullpage-mode.device-phone .window-body-app { height: calc(100%); } .window-filedialog-prompt { height: 60px; border-top: 1px solid #dbdee3; background-color: #f3f5f9; padding: 0 15px; display: flex; flex-direction: column; justify-content: center; } .savefiledialog-filename { float: left; margin-right: 10px; padding: 5px !important; border-width: 1px !important; height: 31px; flex-grow: 1; } .savefiledialog-save-btn, .openfiledialog-open-btn { margin-left: 10px; } .filedialog-cancel-btn { margin-left: 10px; } .window-action-btn { margin-right: 5px; margin-left: 10px; padding-bottom: 3px; opacity: 0.6; } .window-active .window-action-btn { opacity: 1; } .window-action-btn>img { width: 18px; margin-top: 5px; margin-right: 4px; margin-left: 4px; opacity: 0.5; -webkit-user-drag: none; user-select: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; } .window-action-btn:hover>img { opacity: 1; } .window-scale-btn>img { width: 15px; height: 15px; margin-top: 7px } .window-app-iframe { width: 100%; height: 100%; border: none; margin: 0; display: block; height: calc(100%); pointer-events: none; overflow: hidden; } .window-active .window-app-iframe { pointer-events: all; } .window-disabled .window-app-iframe { pointer-events: none !important; } .ui-resizable-e, .ui-resizable-w { cursor: ew-resize; } .ui-resizable-n, .ui-resizable-s { cursor: ns-resize; } .ui-resizable-ne, .ui-resizable-sw { cursor: nesw-resize; } .ui-resizable-nw, .ui-resizable-se { cursor: nwse-resize; } .window>.ui-resizable-nw, .window>.ui-resizable-ne, .window>.ui-resizable-se, .window>.ui-resizable-sw { width: 15px; height: 15px; z-index: 95 !important; } .window-alert-message, .window-prompt-message { font-size: 15px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: #414650; text-shadow: 1px 1px #ffffff52; margin-top: 10px; word-break: break-word; } .window-alert-message { text-align: center; } .window-alert-icon { width: 64px; margin: 10px auto 20px; display: block; } .alert-resp-button { width: 100%; margin-top: 10px; } .prompt-resp-button { margin-left: 10px; } .prompt-resp-btn-ok { width: 110px; } .mywebsites-card { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: relative; border: 1px solid #CCC; padding: 10px; margin-bottom: 10px; border-radius: 4px; background-color: white; } .mywebsites-address-link { color: #0d6efd; text-decoration: none; } .mywebsites-address-link:hover { text-decoration: underline; } .mywebsites-dir-path { cursor: pointer; font-size: 14px; margin-bottom: 0; } .mywebsites-dir-path img { width: 16px; margin-bottom: -3px; margin-right: 5px; } .mywebsites-dir-path:hover { text-decoration: underline; } .mywebsites-dis-dir { cursor: pointer; } .mywebsites-dis-dir:hover { text-decoration: underline; } .mywebsites-no-dir-notice { margin-bottom: 0; color: #7e7e7e; font-size: 14px; } .mywebsites-release-address { color: red; cursor: pointer; font-size: 13px; } .mywebsites-site-setting { position: absolute; right: 5px; top: 5px; cursor: pointer; width: 20px; height: 20px; } /*********************** * Context Menu ***********************/ .context-menu { display: none; z-index: 9999999999; position: absolute; overflow: hidden; white-space: nowrap; font-family: sans-serif; background: #FFF; color: #333; border-radius: 2px; padding: 3px 0; min-width: 200px; background-color: rgba(231, 238, 245, .98); border: 1px solid #e4ebf3de; border: 1px solid #CCC; box-shadow: 0px 0px 15px #00000066; padding-left: 6px; padding-right: 6px; padding-top: 4px; padding-bottom: 4px; } .context-menu li { list-style-type: none; user-select: none; cursor: default !important; } .context-menu .context-menu-divider>hr { margin-top: 5px; margin-bottom: 5px; border-bottom: none; border-top: 1px solid #00000033; } .context-menu .context-menu-item { padding: 5px; list-style-type: none; user-select: none; font-size: 12px; height: 25px; box-sizing: border-box; position: relative; } .context-menu .context-menu-item .ctx-item-icon { width: 15px; height: 15px; position: absolute; left: 5px; top: 5px; filter: drop-shadow(0px 0px 0.3px rgb(51, 51, 51)); } .submenu-arrow { width: 15px; height: 15px; float: right; } .submenu-arrow-active { display: none; } .context-menu-item-active .submenu-arrow { display: none; pointer-events: none; } .context-menu-item-active .submenu-arrow-active { display: inline-block; } .context-menu .context-menu-item-active-blurred .submenu-arrow { display: inline-block; } .context-menu .context-menu-item-active-blurred .submenu-arrow-active { display: none; pointer-events: none; } .context-menu .context-menu-item-active { background-color: var(--select-color); color: white; border-radius: 4px; } .context-menu .context-menu-item-active-blurred { background-color: rgb(199, 205, 212); color: initial; border-radius: 4px; } .context-menu .context-menu-item-disabled, .context-menu .context-menu-item-disabled:hover { opacity: 0.5; background-color: transparent; color: initial; cursor: initial; } .context-menu-item-icon, .context-menu-item-icon-active { display: inline-block; width: 20px; text-align: center; margin-right: 5px; font-size: 14px; line-height: 5px; } .context-menu-item-icon-active, .contextmenu-label-active { display: none; } .context-menu .context-menu-item-active .context-menu-item-icon, .context-menu .context-menu-item-active .contextmenu-label { display: none; } .context-menu .context-menu-item-active .context-menu-item-icon-active { display: inline-block; color: white; } .context-menu .context-menu-item-active .contextmenu-label-active { display: inline-block; } .draggable-count-badge { background-color: red; border: 2px solid white; border-radius: 100%; position: absolute; display: none; width: 22px; height: 22px; text-align: center; color: white; font-weight: bold; z-index: 9999999999; font-size: 12px; line-height: 22px; } .selection-area { background-color: #afafaf36; border: 1px solid #CCC; } .container { user-select: none; } label { display: block; -webkit-font-smoothing: antialiased; color: #3a3d40; margin-bottom: 3px; text-shadow: 1px 1px #ffffff61; font-size: 14px; } .toolbar { float: right; width: 100%; background-color: #00000040; height: 30px; position: relative; z-index: 999999; box-sizing: border-box; display: flex; flex-direction: row; justify-content: flex-end; align-content: center; flex-wrap: wrap; padding-right: 10px } .show-desktop-btn { color: white; font-size: 11px !important; padding: 2px 5px 2px !important; border: 1px solid; border-radius: 4px; height: 18px !important; width: 90px !important; margin-top: 2px; text-decoration: none; margin-left: 10px !important; font-weight: 500; } .device-phone .toolbar { z-index: 1; } @supports ((backdrop-filter: blur())) { .toolbar { background-color: #00000040; backdrop-filter: blur(10px); } } .toolbar-btn { padding: 4px; font-size: 14px; width: auto; padding: 0 5px; margin-left: 20px; overflow-y: hidden !important; overflow-x: hidden !important; background-size: contain; background-repeat: no-repeat; background-position: center; display: inline-block; width: 22px; height: 22px; padding: 3px; box-sizing: border-box; background-origin: content-box; display: flex; justify-content: center; align-items: center; opacity: 0.8; } .toolbar-btn:hover { opacity: 1; } .user-options-menu-btn.has-open-contextmenu { background-color: rgb(255 255 255 / 35%); border-radius: 3px; } .user-options-menu-username { color: black; margin-left: 5px; display: block; max-width: 70px; text-overflow: ellipsis; float: right; overflow: hidden; } .user-options-menu-username:empty { margin-left: 0; } .user-options-login-btn, .user-options-create-account-btn { padding: 0 15px; } .toolbar-btn:hover:not(.has-open-contextmenu) { background-color: rgb(255 255 255 / 15%); border-radius: 3px; } .logout-btn { position: absolute; right: 7px; top: 7px; padding: 4px; border-radius: 4px; cursor: pointer; border: 2px solid #CCC; } .logout-btn img { width: 20px; margin-bottom: -5px; } .login-error-msg, .signup-error-msg, .publish-website-error-msg, .form-error-msg { display: none; color: red; border: 1px solid red; border-radius: 4px; padding: 9px; margin-bottom: 15px; text-align: center; font-size: 13px; } .error { display: none; color: red; border: 1px solid red; border-radius: 4px; padding: 9px; margin-bottom: 15px; text-align: center; font-size: 13px; } .form-success-msg { display: none; color: rgb(0, 129, 69); border: 1px solid rgb(0, 201, 17); border-radius: 4px; padding: 9px; margin-bottom: 15px; text-align: center; font-size: 13px; } .publish-btn { margin-top: 20px; } .window-publishWebsite-success, .window-give-item-access-success { display: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; height: auto; } .manage-your-websites-link { color: #007cff; text-decoration: underline; cursor: pointer; } .publishWebsite-published-link { text-decoration: none; color: #007cff; } .publishWebsite-published-link:hover { text-decoration: underline; } .publishWebsite-published-link-icon { display: inline-block; width: 12px; margin-left: 5px; margin-bottom: -1px; user-select: none !important; } .login-form-title, .signup-form-title { text-align: center; margin-top: 0; padding-bottom: 15px; font-size: 23px; font-weight: 400; margin-bottom: 10px; color: #657489; text-shadow: 1px 1px #ffffff1c; } .signup-form-title { margin-top: 10px; } .signup-c2a-clickable, .login-c2a-clickable { border: none; background: none; display: block; margin: 0 auto; cursor: pointer; font-weight: 400; -webkit-font-smoothing: antialiased; color: #4f5a68; font-size: 20px; } .signup-c2a-clickable:hover, .login-c2a-clickable:hover { text-decoration: underline; } .p102xyzname, #p102xyzname { display: none; } .intro-menu-item { text-decoration: none; color: #398ce7; font-weight: 400; } .intro-menu-item:hover { text-decoration: underline; } .bull { margin: 10px; color: #CCC; } .create-account-form-title { text-align: center; margin-top: 0; padding-bottom: 15px; font-size: 20px; font-weight: 300; margin-bottom: 10px; color: #383e46; } .create-account-desc { margin-top: 0; margin-bottom: 30px; text-align: center; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: #2f3f53; } .unsupported-device-notice { position: absolute; width: 100%; height: 100%; background-color: white; z-index: 9999999; display: none; flex-direction: column; justify-content: center; text-align: center; padding: 30px; box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .item-props-tabview { display: flex; flex-direction: column; height: 100%; } .item-props-tab-content { display: none; padding: 5px 10px; flex-grow: 1; border: 1px solid #CCC; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; border-top-right-radius: 3px; border-top-left-radius: 3px; margin-top: -1px; } .item-props-tab-content-selected { display: block; background-color: white; } .item-props-tab-btn { display: inline-block; padding: 10px 15px; cursor: pointer; margin-right: 10px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid #ffffff00; margin-bottom: -1px; color: #374653; } .item-props-tab-selected { border: 1px solid #CCC; margin-bottom: -1px; border-bottom: none; background-color: white; position: relative; color: black; } .item-props-tbl { font-size: 13px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .item-props-tbl td { padding-bottom: 10px; word-break: break-all; } .item-prop-label { text-align: left; font-weight: 500; white-space: nowrap; } .item-prop-original-name, .item-prop-original-path { display: none; } .item-prop-version-entry:not(:last-child) { display: inline-block; width: 100%; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid #CCC; } .item-prop-val { padding-left: 10px; } .send-conf-email, .conf-email-log-out { cursor: pointer; } .send-conf-code { cursor: pointer; } .email-confirm-code-hyphen { display: inline-block; flex-grow: 1; text-align: center; font-size: 40px; font-weight: 300; } .confirm-code-hyphen { display: inline-block; flex-grow: 1; text-align: center; font-size: 40px; font-weight: 300; } .send-conf-email:hover, .conf-email-log-out:hover { text-decoration: underline; } .send-conf-code:hover { text-decoration: underline; } .remove-permission-link, .disassociate-website-link { cursor: pointer; color: red; } .permission-owner-badge { background-color: #9dacbd; border-radius: 2px; padding: 2px 4px; color: white; font-size: 13px; } .remove-permission-link:hover, .disassociate-website-link:hover { text-decoration: underline; } .item-perm-recipient-card { margin-bottom: 5px; margin-top: 15px; padding: 11px; background-color: white; border-radius: 3px; border: 1px solid #e0e0e0; color: #65707b; } .remove-permission-icon { display: none; text-decoration: none !important; color: rgb(184, 184, 184); } .remove-permission-icon:hover { color: rgb(109, 109, 109); } .item-perm-recipient-card:hover .remove-permission-icon { display: block; } .share-recipients { margin-top: 10px; max-height: 200px; overflow: scroll; } .feedback-sent-success { display: none; padding: 10px; margin-bottom: 20px; border: 1px solid #59d959; border-radius: 3px; background-color: #e4f9e4; position: relative; } .window-give-item-access-success { display: none; padding: 10px; margin-bottom: 20px; border: 1px solid #59d959; border-radius: 3px; background-color: #e4f9e4; position: relative; } .save-account-success { display: none; padding: 30px; border-radius: 3px; background-color: #e4f9e4; position: relative; color: green; } .hide-sharing-success-alert { position: absolute; color: #8d8c8c; font-size: 20px; right: 15px; cursor: pointer; } .hide-sharing-success-alert:hover { color: black; } .access-recipient { height: 40px; background-color: white; margin-bottom: 5px; width: 100%; } .item-is-shared { cursor: pointer; } .session-entry { cursor: pointer; padding: 20px; border: 1px solid #CCC; border-radius: 3px; margin-bottom: 10px; background-color: white; font-weight: 500; color: #394d5c; } .session-entry:hover { border-color: #00a6ff; } .login-c2a-session-list, .signup-c2a-session-list { cursor: pointer; font-size: 15px; color: #636363; } .login-c2a-session-list:hover, .signup-c2a-session-list:hover { text-decoration: underline; ; } /***************************************************** * Taskbar *****************************************************/ .taskbar { position: fixed; bottom: 0; left: 0; width: 100%; background-color: hsla(var(--taskbar-hue), var(--taskbar-saturation), var(--taskbar-lightness), calc(0.5 + 0.5*var(--taskbar-alpha))); display: flex; justify-content: center; z-index: 99999; box-shadow: 5px 5px 5px 3px #6e6e6e; overflow: hidden !important; } .taskbar .taskbar-item { float: left; position: relative; overflow: hidden !important; transition: background-color 0.2s; display: none; } .taskbar .taskbar-item-sortable-placeholder, .taskbar .taskbar-item { width: 40px; height: 40px; padding: 6px 5px 10px 5px; } .taskbar .taskbar-item .taskbar-icon { border-radius: 3px; } .taskbar .taskbar-item, .taskbar .taskbar-item * { -webkit-user-drag: none; user-select: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; } .taskbar-item.ui-sortable-helper { margin-left: 25px; z-index: 999999999 !important; } .taskbar .taskbar-item:hover .taskbar-icon { background-color: rgb(255 255 255 / 40%); transition: background-color 0.2s; } .taskbar .taskbar-item:active .taskbar-icon, .taskbar .taskbar-item:focus-within .taskbar-icon, .taskbar .taskbar-item:focus-visible .taskbar-icon, .taskbar .taskbar-item:focus .taskbar-icon, .taskbar-item.has-open-contextmenu .taskbar-icon, .taskbar-item.has-open-popover .taskbar-icon, .taskbar .taskbar-item.active .taskbar-icon, .taskbar-item.ui-sortable-helper .taskbar-icon { background-color: rgb(255 255 255 / 80%) !important; transition: background-color 0.2s; filter: none; } .active-taskbar-indicator { font-size: 18px; position: absolute; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); bottom: -6px; display: none; width: 9px; height: 3px; background-color: #686868; bottom: 8px; border-radius: 3px; } .taskbar .taskbar-icon img { width: 100%; height: 100%; filter: drop-shadow(0px 0px 0.2px rgb(51, 51, 51)); padding: 5px; box-sizing: border-box; } .taskbar-icon { height: 40px; } #clock { display: none; position: absolute; right: 10px; } .desktop-bg-settings-wrapper { display: none; overflow: hidden; } .desktop-bg-color-block { width: 25px; height: 25px; float: left; margin: 5px; border: 1px solid #898989; box-sizing: border-box; border-radius: 2px; } @supports ((backdrop-filter: blur())) { .taskbar { background-color: hsla(var(--taskbar-hue), var(--taskbar-saturation), var(--taskbar-lightness), var(--taskbar-alpha)); backdrop-filter: blur(10px); } .taskbar .taskbar-icon img { filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51)); } } .ui-tooltip, .arrow:after { background-color: rgba(231, 238, 245, .92); box-shadow: none; } .ui-tooltip { padding: 7px 11px; border-radius: 2px; font: 14px "Helvetica Neue", Sans-Serif; border: none !important; backdrop-filter: blur(3px); filter: drop-shadow(0 0 3px rgba(0, 0, 0, .455)); } .arrow { width: 70px; height: 16px; overflow: hidden; position: absolute; left: 50%; margin-left: -35px; bottom: -16px; border-top: none; } .arrow.top { top: -16px; bottom: auto; } .arrow.left { left: 20%; } .arrow:after { content: ""; position: absolute; left: 20px; top: -20px; width: 25px; height: 25px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .arrow.top:after { bottom: -20px; top: auto; } /******************************************************/ .font-selector { padding: 10px; border-radius: 2px; margin: 10px 0; scroll-margin: 10px 0; } .font-selector-active { color: white; background-color: #2b62f1; } /******************************************************/ /* Window Snapping */ /******************************************************/ .window-snap-placeholder { display: none; transition: all 0.2s; position: absolute; box-sizing: border-box; padding: 10px; backdrop-filter: blur(5px); } .window-snap-placeholder-inner { border-radius: 4px; width: 100%; height: 100%; background-color: rgba(245, 245, 245, 0.7); } /***************************************************** * Popover *****************************************************/ .popover { position: absolute; display: none; z-index: 9999999; box-sizing: border-box; border-radius: 4px; overflow: hidden; box-shadow: 0px 0px 15px #00000066; } @supports ((backdrop-filter: blur())) { .launch-popover { background-color: rgba(231, 238, 245, .92); backdrop-filter: blur(3px); } } .popover-apps-item { clear: both; margin-bottom: 10px; overflow: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; padding: 5px; } .popover-apps-item:hover { background-color: #a5c8f3; border-radius: 4px; } .popover-apps-item img { float: left; filter: drop-shadow(0px 0px 0.75px rgb(51, 51, 51)); } .popover-apps-item span { line-height: 47px; display: block; float: left; margin-left: 10px; } .device-phone .popover { height: 100vh; height: 100dvh; top: 0 !important; left: 0 !important; width: 100%; padding: 0; margin: 0; } /***************************************************** * Notification *****************************************************/ .notification { width: 250px; height: 54px; position: absolute; right: 10px; background: #ffffffcd; backdrop-filter: blur(5px); border-radius: 11px; z-index: 9999999; box-shadow: 0px 0px 17px -9px #000; border: 1px solid #d5d5d5; } .notification-close { position: absolute; background: white; border-radius: 100%; top: -6px; left: -6px; width: 13px; padding: 2px; filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51)); z-index: 99999999; display: none; } .notification:hover .notification-close { display: block; } /***************************************************** * Start *****************************************************/ .launch-popover { width: 530px; height: 500px; padding: 20px 20px 20px; border: 1px solid #bbc2c9; border-radius: 4px; background-color: rgba(231, 238, 245, .92); backdrop-filter: blur(3px); box-sizing: border-box; overflow-y: scroll; } .close-launch-popover { position: absolute; top: 5px; right: 10px; padding: 5px; display: none; } .device-phone .close-launch-popover { display: block; } .device-phone .launch-popover { width: 100vw; height: 100vh; height: 100dvh; background-color: rgba(231, 238, 245); } .start-section-heading { font-size: 13px; margin: 0; padding: 0; height: 15px; margin-left: 5px; margin-right: 5px; border-bottom: 1px solid #CCC; padding-bottom: 10px; color: #677a86; clear: both; } .start-app-card { height: 100px; width: 20%; float: left; display: flex; flex-direction: column; justify-content: center; box-sizing: content-box; } .start-app { width: 70px; height: 70px; text-align: center; overflow: hidden; margin: 0 auto; padding: 5px; display: flex; flex-direction: column; justify-content: center; border-radius: 4px; transition: 0.1s background-color; } .start-app-icon { filter: drop-shadow(0px 0px 0.5px rgb(51, 51, 51)); display: block; margin: 0 auto; width: 32px; height: 32px; margin-top: 2px; } .start-app.ui-draggable-dragging { background-color: transparent !important; width: 40px !important; height: 40px !important; } .start-app.ui-draggable-dragging img { width: 26px !important; height: 26px !important; } .start-app.ui-draggable-dragging .start-app-title { display: none; } .start-app:hover, .launch-app-selected .start-app { background-color: #ffffff; } .start-app:active { background-color: white; } .start-app-title { font-size: 13px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-overflow: ellipsis; display: block; margin-top: 8px; width: 100%; box-sizing: border-box; white-space: nowrap; overflow: hidden; } /* UIWindowEmailConfirmationRequired */ fieldset[name=number-code] { min-width: 0; /* Fix for Firefox */ display: flex; justify-content: space-between; gap: 5px; } .digit-input { min-width: 0; /* Fix for Firefox */ box-sizing: border-box; flex-grow: 1; height: 50px; font-size: 25px; text-align: center; border-radius: 0.5rem; -moz-appearance: textfield; border: 2px solid #9b9b9b; color: #485660; } .digit-input::-webkit-outer-spin-button, .digit-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } .pulse { display: block; float: left; width: 5px; height: 5px; border-radius: 50%; background: #ffffff; animation: pulse-white 1.5s infinite; margin: 0; margin-top: 8px; } .forgot-password-link { cursor: pointer; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 13px; } .forgot-password-link:hover { text-decoration: underline; } .pulse-dark { display: block; float: left; width: 5px; height: 5px; border-radius: 50%; background: #3f3f3f; cursor: pointer; animation: pulse-dark 1.5s infinite; margin-top: -7px; margin-left: 7px; } .context-menu-item-icon-active .pulse { margin-top: -7px; margin-left: 7px; } .qr-code-window-close-btn, .generic-close-window-button { position: absolute; top: 0px; right: 0; font-size: 20px; cursor: pointer !important; color: #5f626d; opacity: 0.5; cursor: initial; padding: 2px 10px 0 10px; } .qr-code-window-close-btn:hover, .generic-close-window-button { opacity: 1; } .otp-qr-code { width: 100%; display: flex; justify-content: center; flex-direction: column; align-items: center; } .otp-qr-code img { width: 355px; margin-bottom: 20px; } .otp-as-text { margin: 20px 0; } .perm-title { text-align: center; margin-top: 0; padding-bottom: 15px; font-size: 20px; font-weight: 400; margin-bottom: 10px; color: #4b586a; text-shadow: 1px 1px #ffffff1c; } .perm-description { text-align: center; font-size: 15px; -webkit-font-smoothing: antialiased; padding: 0 10px; color: #2d3847; margin-top: 5px; margin-bottom: 5px; } @-webkit-keyframes pulse-white { 0% { -webkit-box-shadow: 0 0 0 0 rgb(255, 255, 255); } 70% { -webkit-box-shadow: 0 0 0 px rgba(204, 169, 44, 0); } 100% { -webkit-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0); } } @keyframes pulse-white { 0% { -moz-box-shadow: 0 0 0 0 rgb(255, 255, 255); box-shadow: 0 0 0 0 rgb(255, 255, 255); } 70% { -moz-box-shadow: 0 0 0 6px rgba(204, 169, 44, 0); box-shadow: 0 0 0 6px rgba(204, 169, 44, 0); } 100% { -moz-box-shadow: 0 0 0 0 rgba(204, 169, 44, 0); box-shadow: 0 0 0 0 rgba(204, 169, 44, 0); } } @-webkit-keyframes pulse-dark { 0% { -webkit-box-shadow: 0 0 0 0 #3f3f3f; } 70% { -webkit-box-shadow: 0 0 0 6px #0267ff00; } 100% { -webkit-box-shadow: 0 0 0 0 #0267ff00; } } @keyframes pulse-dark { 0% { -moz-box-shadow: 0 0 0 0 #3f3f3f; box-shadow: 0 0 0 0 #3f3f3f; } 70% { -moz-box-shadow: 0 0 0 6px #0267ff00; box-shadow: 0 0 0 6px #0267ff00; } 100% { -moz-box-shadow: 0 0 0 0 #0267ff00; box-shadow: 0 0 0 0 #0267ff00; } } .progress-bar-container { box-sizing: border-box; width: 100%; height: 17px; border: 1px solid rgb(40 109 157); border-radius: 3px; background-color: white; box-shadow: inset -1px 3px 4px #dfdfdf; } .progress-bar { width: 0; height: 100%; background-color: rgb(0 137 255); transition: 0.4s width; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.05)); } /* Hide scrollbar for Chrome, Safari and Opera */ .hide-scrollbar::-webkit-scrollbar { width: 0 !important; display: none; } /* Hide scrollbar for IE, Edge and Firefox */ .hide-scrollbar { -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* Firefox */ } /******************************************************/ .allow-user-select, .allow-user-select * { user-select: text; } @keyframes spin { to { -webkit-transform: rotate(360deg); } } @-webkit-keyframes spin { to { -webkit-transform: rotate(360deg); } } @supports ((backdrop-filter: blur())) { .window-head { background-color: hsla(var(--window-head-hue), var(--window-head-saturation), var(--window-head-lightness), var(--window-head-alpha)); backdrop-filter: blur(10px); } .device-phone .window-head { background-color: rgba(231, 238, 245); backdrop-filter: blur(10px); } .window-sidebar { /* background-color: var(--puter-window-background); */ background-color: hsla(var(--window-sidebar-hue), var(--window-sidebar-saturation), var(--window-sidebar-lightness), var(--window-sidebar-alpha)); backdrop-filter: blur(10px); } .window-snap-placeholder { backdrop-filter: blur(5px); } .context-menu { background-color: rgb(255 255 255 / 92%); backdrop-filter: blur(3px); } .popover:not(.device-phone .popover) { background-color: rgb(238, 243, 248); backdrop-filter: blur(10px); } } @-moz-keyframes three-quarters-loader { 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes three-quarters-loader { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes three-quarters-loader { 0% { -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .hidden { display: none; } .invisible { visibility: hidden; } .login-progress { height: 200px; display: flex; flex-direction: column; justify-content: center; align-items: center; } .dl-conf-item-attr { width: 60px; text-align: right; display: inline-block; margin-right: 10px; } .launch-search { border-radius: 5px; background-repeat: no-repeat; width: 100%; box-sizing: border-box; background-color: white; padding: 5px; background-size: 20px; background-position-y: center; background-position-x: 5px; padding-left: 35px; padding-right: 35px; border: 2px solid #CCC; } .launch-search-clear { display: none; position: absolute; right: 8px; top: 8px; height: 28px; opacity: 0.5; } .launch-search-clear:hover { opacity: 1; } .launch-app-selected {} .website-badge-popover-title { font-size: 14px; margin: -10px; margin-bottom: 5px; padding: 8px 10px; background: #e5e5e5; color: #4b5f6f; } .website-badge-popover-content { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; width: 270px; padding: 10px; } .website-badge-popover-link, .website-badge-popover-link:visited { color: #0073ed; text-decoration: none; width: 179px; } .website-badge-popover-link:hover { text-decoration: underline; } /*! * animate.css - https://animate.style/ * Version - 4.1.1 * Licensed under the MIT license - http://opensource.org/licenses/MIT * * Copyright (c) 2020 Animate.css */ :root { --animate-duration: 1s; --animate-delay: 1s; --animate-repeat: 1; } .animate__animated { -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-duration: var(--animate-duration); animation-duration: var(--animate-duration); -webkit-animation-fill-mode: both; animation-fill-mode: both; } /* Zooming entrances */ @-webkit-keyframes zoomIn { from { opacity: 0; -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3); } 50% { opacity: 1; } } @keyframes zoomIn { from { opacity: 0; -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3); } 50% { opacity: 1; } } .animate__zoomIn { -webkit-animation-name: zoomIn; animation-name: zoomIn; } @-webkit-keyframes fadeInRight { from { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes fadeInRight { from { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .animate__fadeInRight { -webkit-animation-name: fadeInRight; animation-name: fadeInRight; } .animate__animated.animate__slow { -webkit-animation-duration: calc(1s * 2); animation-duration: calc(1s * 2); -webkit-animation-duration: calc(var(--animate-duration) * 2); animation-duration: calc(var(--animate-duration) * 2); } @-webkit-keyframes fadeOutRight { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } } @keyframes fadeOutRight { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } } .animate__fadeOutRight { -webkit-animation-name: fadeOutRight; animation-name: fadeOutRight; } :root { --animate-duration: 300ms; /* --animate-delay: 0.9s; */ } .animate__animated.animate__faster { -webkit-animation-duration: calc(1s / 2); animation-duration: calc(1s / 2); -webkit-animation-duration: calc(var(--animate-duration) / 2); animation-duration: calc(var(--animate-duration) / 2); } .antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .share-copy-link-on-social { float: right; width: 30px; cursor: pointer; margin-top: 2px; } .copy-link-social-btn { margin: 10px; display: inline-block; width: 20px; height: 20px; } .copy-link-social-btn img { width: 20px; height: 20px; } .puter-auth-dialog { outline: none; display: block; width: 100% !important; } .puter-auth-dialog { outline: none; } .puter-auth-dialog-content { border: 1px solid #e8e8e8; border-radius: 8px; padding: 20px; background: white; box-shadow: 0 0 9px 1px rgb(0 0 0 / 21%); padding: 80px 20px; -webkit-font-smoothing: antialiased; color: #575762; position: relative; background-image: url('data:image/webp;base64,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'); background-repeat: no-repeat; background-position: center center; background-size: 100% 100%; background-color: #fff; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; align-items: center; } .puter-auth-dialog * { max-width: 500px; font-family: "Helvetica Neue", HelveticaNeue, Helvetica, Arial, sans-serif; } .puter-auth-dialog p.about { text-align: center; font-size: 17px; padding: 10px 30px; font-weight: 400; -webkit-font-smoothing: antialiased; color: #404048; box-sizing: border-box; } .puter-auth-dialog .buttons { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: 20px; text-align: center; margin-bottom: 20px; } .launch-auth-popup-footnote { font-size: 11px; color: #666; margin-top: 10px; /* footer at the bottom */ position: absolute; left: 0; right: 0; bottom: 10px; text-align: center; margin: 0 10px; } .signup-terms { font-size: 11px; color: #666; margin-top: 10px; bottom: 10px; text-align: center; margin: 10px 0 15px; } .puter-auth-dialog .close-btn { position: absolute; right: 15px; top: 10px; font-size: 17px; color: #8a8a8a; cursor: pointer; } .puter-auth-dialog .close-btn:hover { color: #000; } /** * ------------------------------------ * Button * ------------------------------------ */ .puter-auth-dialog .button { color: #666666; background-color: #eeeeee; border-color: #eeeeee; font-size: 14px; text-decoration: none; text-align: center; line-height: 40px; height: 35px; padding: 0 30px; margin: 0; display: inline-block; appearance: none; cursor: pointer; border: none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; border-color: #b9b9b9; border-style: solid; border-width: 1px; line-height: 35px; background: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e1e1e1)); background: linear-gradient(#f6f6f6, #e1e1e1); -webkit-box-shadow: inset 0px 1px 0px rgb(255 255 255 / 30%), 0 1px 2px rgb(0 0 0 / 15%); box-shadow: inset 0px 1px 0px rgb(255 255 255 / 30%), 0 1px 2px rgb(0 0 0 / 15%); border-radius: 4px; outline: none; -webkit-font-smoothing: antialiased; } .puter-auth-dialog .button:focus-visible { border-color: rgb(118 118 118); } .puter-auth-dialog .button:active, .puter-auth-dialog .button.active, .puter-auth-dialog .button.is-active, .puter-auth-dialog .button.has-open-contextmenu { text-decoration: none; background-color: #eeeeee; border-color: #cfcfcf; color: #a9a9a9; -webkit-transition-duration: 0s; transition-duration: 0s; -webkit-box-shadow: inset 0 1px 3px rgb(0 0 0 / 20%); box-shadow: inset 0px 2px 3px rgb(0 0 0 / 36%), 0px 1px 0px white; } .puter-auth-dialog .button.disabled, .puter-auth-dialog .button.is-disabled, .puter-auth-dialog .button:disabled { top: 0 !important; background: #EEE !important; border: 1px solid #DDD !important; text-shadow: 0 1px 1px white !important; color: #CCC !important; cursor: default !important; appearance: none !important; pointer-events: none; } .puter-auth-dialog .button-action.disabled, .puter-auth-dialog .button-action.is-disabled, .puter-auth-dialog .button-action:disabled { background: #55a975 !important; border: 1px solid #60ab7d !important; text-shadow: none !important; color: #CCC !important; } .puter-auth-dialog .button-primary.disabled, .puter-auth-dialog .button-primary.is-disabled, .puter-auth-dialog .button-primary:disabled { background: #8fc2e7 !important; border: 1px solid #98adbd !important; text-shadow: none !important; color: #f5f5f5 !important; } .puter-auth-dialog .button-block { width: 100%; } .puter-auth-dialog .button-primary { border-color: #088ef0; background: -webkit-gradient(linear, left top, left bottom, from(#34a5f8), to(#088ef0)); background: linear-gradient(#34a5f8, #088ef0); color: white; } .puter-auth-dialog .button-danger { border-color: #f00808; background: -webkit-gradient(linear, left top, left bottom, from(#f83434), to(#f00808)); background: linear-gradient(#f83434, #f00808); color: white; } .puter-auth-dialog .button-primary:active, .puter-auth-dialog .button-primary.active, .puter-auth-dialog .button-primary.is-active, .puter-auth-dialog .button-primary-flat:active, .puter-auth-dialog .button-primary-flat.active, .puter-auth-dialog .button-primary-flat.is-active { background-color: #2798eb; border-color: #2798eb; color: #bedef5; } .puter-auth-dialog .button-action { border-color: #08bf4e; background: -webkit-gradient(linear, left top, left bottom, from(#29d55d), to(#1ccd60)); background: linear-gradient(#29d55d, #1ccd60); color: white; } .puter-auth-dialog .button-action:active, .puter-auth-dialog .button-action.active, .puter-auth-dialog .button-action.is-active, .puter-auth-dialog .button-action-flat:active, .puter-auth-dialog .button-action-flat.active, .puter-auth-dialog .button-action-flat.is-active { background-color: #27eb41; border-color: #27eb41; color: #bef5ca; } .puter-auth-dialog .button-giant { font-size: 28px; height: 70px; line-height: 70px; padding: 0 70px; } .puter-auth-dialog .button-jumbo { font-size: 24px; height: 60px; line-height: 60px; padding: 0 60px; } .puter-auth-dialog .button-large { font-size: 20px; height: 50px; line-height: 50px; padding: 0 50px; } .puter-auth-dialog .button-normal { font-size: 16px; height: 40px; line-height: 38px; padding: 0 40px; } .puter-auth-dialog .button-small { height: 30px; line-height: 29px; padding: 0 30px; } .puter-auth-dialog .button-tiny { font-size: 9.6px; height: 24px; line-height: 24px; padding: 0 24px; } #launch-auth-popup { margin-left: 10px; width: 200px; font-weight: 500; font-size: 15px; } .puter-auth-dialog .button-auth { margin-bottom: 10px; } .puter-auth-dialog a, .puter-auth-dialog a:visited { color: rgb(0 69 238); text-decoration: none; } .puter-auth-dialog a:hover { text-decoration: underline; } @media (max-width:480px) { .puter-auth-dialog-content { padding: 50px 20px; } .puter-auth-dialog .buttons { flex-direction: column-reverse; } .puter-auth-dialog p.about { padding: 10px 0; } .puter-auth-dialog .button-auth { width: 100% !important; margin: 0 !important; margin-bottom: 10px !important; } } .loading { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background-color: #ebebebc2; display: flex; justify-content: center; align-items: center; display: none; } /*! * ================================================== * Settings * ================================================== */ .settings-container { display: flex; flex-direction: column; height: 100%; } .settings { display: flex; flex-direction: row; -webkit-font-smoothing: antialiased; flex-grow: 1; } .settings-sidebar { width: 200px; background-color: #f9f9f9; border-right: 1px solid #e0e0e0; padding: 20px; } .settings-sidebar-item { cursor: pointer; border-radius: 4px; padding: 10px; margin-bottom: 15px; background-repeat: no-repeat; background-position: 10px center; background-size: 25px; padding-left: 45px; font-size: 15px; } .settings-sidebar-item:hover { background-color: #e8e8e8; } .settings-sidebar-item.active { background-color: #e0e0e0; } .settings-content-container { flex: 1; padding: 20px 30px; height: 500px; overflow-y: auto; } .settings-content { display: none; } .settings-content[data-settings="about"] { height: 100%; } .settings-content h1 { font-size: 24px; margin-bottom: 20px; border-bottom: 1px solid #e0e0e0; padding-bottom: 10px; padding-left: 5px; font-weight: 500; } .settings-content.active { display: block; } .settings-content .about-container { height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; } .settings-content[data-settings="about"] a { color: #1663d4; text-decoration: none; font-size: 12px; } .settings-content[data-settings="about"] a:hover { text-decoration: underline; } .settings-content .logo, .settings-content .logo img { display: block; width: 55px; height: 55px; margin: 0 auto; border-radius: 4px; } .settings-content .links { text-align: center; font-size: 14px; margin-top: 10px; } .settings-content .social-links { text-align: center; /* margin-top: 10px; */ } .settings-content .social-links a { opacity: 0.7; transition: opacity 0.1s ease-in-out; } .settings-content .social-links a, .settings-content .social-links a:hover { text-decoration: none; margin: 0 10px; } .settings-content .social-links a:hover { opacity: 1; } .settings-content .social-links svg { width: 20px; height: 20px; } .settings-content .about { text-align: center; display: flex; flex-direction: column; justify-content: center; padding: 20px 40px; max-width: 500px; } .about-container .about { text-align: center; } .settings-content .version { font-size: 9px; color: #343c4f; text-align: center; margin-bottom: 10px; opacity: 0.3; transition: opacity 0.1s ease-in-out; height: 12px; } .settings-content .version:hover { opacity: 1; } .driver-usage { background-color: white; bottom: 0; width: 100%; box-sizing: border-box; color: #3c4963; height: 85px; } .credits { padding: 0; border: 1px solid #bfbfbf; box-shadow: 1px 1px 10px 0px #8a8a8a; width: 400px; } .credit-content a { font-size: 15px; } .credits .credit-content { padding: 20px; } .credit-content { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .credit-content ul { max-height: 300px; overflow-y: scroll; background: #f4f4f4; padding: 10px; box-shadow: 2px 2px 5px 2px inset #CCC; } .credit-content li { margin-bottom: 10px; } #storage-bar-wrapper { width: 100%; height: 15px; border: 1px solid #8a9096; border-radius: 3px; background-color: #fff; position: relative; } #storage-bar { float: left; height: 15px; background-color: #dbe3ef; border-top-left-radius: 3px; border-bottom-left-radius: 3px; width: 0; } #storage-bar-host { float: left; height: 15px; background-color: #dbe3ef9c; border-top-left-radius: 3px; border-bottom-left-radius: 3px; width: 0; } #storage-used-percent { position: absolute; text-align: center; display: inline-block; width: 100%; font-size: 13px; } .usage-progbar-wrapper { width: 100%; height: 15px; border: 1px solid #8a9096; border-radius: 3px; background-color: #fff; position: relative; } .usage-progbar { height: 15px; background-color: #dbe3ef; border-top-left-radius: 3px; border-bottom-left-radius: 3px; width: 0; } .usage-progbar-percent { position: absolute; left: calc(50% - 20px); text-align: center; display: inline-block; width: 40px; font-size: 13px; } .version { font-size: 9px; color: #343c4f; text-align: center; margin-bottom: 10px; opacity: 0.3; transition: opacity 0.1s ease-in-out; height: 12px; } .version#version-placeholder { margin-top: 10px; margin-bottom: 0; } .version:hover { opacity: 1; } .language-list { display: grid; grid-template-columns: 33.333333333% 33.333333333% 33.333333333%; } .language-item { cursor: pointer; padding: 10px; border-radius: 4px; margin-bottom: 10px; margin-right: 10px; } .language-item:hover { background-color: #f6f6f6; } .language-item.active { background-color: #e0e0e0; } .settings-card { overflow: hidden; padding: 10px 15px; border: 1px solid; border-radius: 4px; background: #f7f7f7a1; border: 1px solid #cccccc8f; margin-bottom: 20px; display: flex; flex-direction: row; align-items: center; height: 45px; } .thin-card { padding: 0 15px; } .settings-card strong { font-weight: 500; } .settings-card-danger { border-color: #f0080866; background: #ffecec; color: rgb(215 2 2); } .settings-card-success { border-color: #08bf4e; background: #e6ffed; color: #03933a; } .settings-card-warning { border-color: #f0a500; background: #fff7e6; color: #c98900; } .error-message { display: none; color: rgb(215 2 2); font-size: 14px; margin-top: 10px; margin-bottom: 10px; padding: 10px; border-radius: 4px; border: 1px solid rgb(215 2 2); text-align: center; } .account-deletion-confirmation-prompt { text-align: center; font-size: 16px; padding: 20px; font-weight: 400; margin: -10px 10px 20px 10px; -webkit-font-smoothing: antialiased; color: #5f626d; } .account-deletion-confirmation-icon { width: 70px; margin: 20px auto 20px; display: block; margin-bottom: 20px; } .proceed-with-user-deletion { margin-bottom: 20px; } .confirm-temporary-user-deletion { width: 100%; margin-bottom: 20px; } .confirm-user-deletion-password { width: 100%; margin-bottom: 20px; } .session-manager-list { display: flex; flex-direction: column; gap: 10px; padding: 10px; box-sizing: border-box; height: 100% !important; } .session-widget { display: flex; flex-direction: column; padding: 10px; border: 1px solid #e0e0e0; border-radius: 4px; gap: 4px; } .current-session.session-widget { background-color: #f0f0f0; } .session-widget-uuid { font-size: 12px; font-weight: 600; color: #9c185b; } .session-widget-meta { display: flex; flex-direction: column; gap: 10px; max-height: 100px; overflow-y: scroll; } .session-widget-meta-entry { display: flex; flex-direction: row; align-items: center; } .session-widget-meta-key { font-size: 12px; color: #666; flex-basis: 40%; flex-shrink: 0; } .session-widget-meta-value { font-size: 12px; color: #666; flex-grow: 1; } .session-widget-actions { display: flex; flex-direction: row; gap: 10px; justify-content: flex-end; }