/** * CONTENTS * * Font Icons * sf2-icon-xx ...........seafile-font2 * * * Helper * common class ..........common class * * UI Widgets(ui widgets) * topbar button * caret * loading * popover * op-icon * account * quota * nav, nav-pills * side-panel * about-dialog * notifications * sf-popover * go-back * top-logo * base-table * table-item rename-component * more-btn * dropdown-menu * empty-tip * file-tag * mobile-menu */ /****** sf2-icon-xx ********/ @font-face { font-family: 'seafile-font2'; src:url('sf_font2/seafile-font2.eot'); src:url('sf_font2/seafile-font2.eot?#iefix') format('embedded-opentype'), url('sf_font2/seafile-font2.woff') format('woff'), url('sf_font2/seafile-font2.ttf') format('truetype'), url('sf_font2/seafile-font2.svg#seafile-font2') format('svg'); font-weight: normal; font-style: normal; } [class^="sf2-icon-"], [class*=" sf2-icon-"] { font-family: 'seafile-font2'; speak: none; font-weight: normal; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; } .sf2-icon-wrench:before { content:"\e001"; } .sf2-icon-clock:before { content:"\e002"; } .sf2-icon-bell:before { content:"\e003"; } .sf2-icon-delete:before { content:"\e006"; } .sf2-icon-monitor:before { content:"\e007"; } .sf2-icon-download:before { content:"\e008"; } .sf2-icon-group:before { content:"\e00c"; } .sf2-icon-link:before { content:"\e00e"; } .sf2-icon-user:before { content:"\e00f"; } .sf2-icon-organization:before { content:"\e010"; } .sf2-icon-share:before { content:"\e011"; } .sf2-icon-star:before { content:"\e012"; } .sf2-icon-wiki-view:before { content:"\e013"; } .sf2-icon-history:before { content:"\e014"; } .sf2-icon-cog1:before { content:"\e015"; } .sf2-icon-trash:before { content:"\e016"; } .sf2-icon-tick:before { content:"\e01e"; } .sf2-icon-x2:before { content:"\e01f"; } .sf2-icon-edit:before { content:"\e018"; } .sf2-icon-caret-down:before { content:"\e01a"; } .sf2-icon-x1:before { content:"\e01d"; } .sf2-icon-minus:before {content:"\e01c"} .sf2-icon-confirm:before {content:"\e01e"} .sf2-icon-cancel:before {content:"\e01f"} .sf2-icon-user2:before { content:"\e020"; } .sf2-icon-grid-view:before { content:"\e025"; } .sf2-icon-list-view:before { content:"\e026"; } .sf2-icon-plus:before { content: "\e027"; } .sf2-icon-copy:before {content:"\e028"} .sf2-icon-move:before {content:"\e029"} .sf2-icon-reply:before { content:"\e02a"; } .sf2-icon-menu:before { content: "\e031"; } .sf2-icon-more:before { content: "\e032"; } .sf2-icon-x3:before {content:"\e035";} .sf2-icon-close:before { content:"\e035"; } .sf2-icon-two-columns:before { content:"\e036"; } .sf2-icon-tag:before {content:"\e037"} .sf2-icon-review:before {content:"\e038"} /* common class and element style*/ a { color:#eb8205; } a:hover { color:#eb8205; } .vam { vertical-align:middle; } .flex-auto { flex:auto; } .flex-1 { flex:1; } .hide { display:none; } .error { color:red; } .no-deco, .no-deco:hover, .no-deco:focus { text-decoration:none; } .ellipsis { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .left-zero { left: 0px !important; } ul,ol,li { padding:0; margin:0; } .sf-heading { font-size: 1rem; color: #322; font-weight: normal; line-height: 1.5; } .vh { visibility: hidden; } .a-simulate { color: #eb8205 !important; text-decoration: none; font-weight: normal; cursor: pointer; } .a-simulate:hover { text-decoration: underline; } .sf-font { color: #eb8205 !important; text-decoration: none; font-weight: normal; } .cursor-pointer { cursor: pointer; } .sf-dropdown-toggle { margin-left: 0.5rem; vertical-align: middle; font-style: normal; font-size: 0.85rem; line-height: 1; cursor: pointer; color: #888; } .user-select-none { -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; -khtml-user-select:none; user-select: none; } .dialog-list-container { /* for dialog containing list */ min-height: 15rem; max-height: 35rem; overflow: auto; } .link-dropdown-container { padding: 0; text-align: center; } .link-dropdown-item { display: block; padding: 0.25rem 1.5rem; color: #6e7687; } .link-dropdown-item:hover { color: #16181b; text-decoration: none; } .link-dropdown-item:active { color: #fff; } .panel-heading { position: relative; padding: .5rem 1rem; width: 100%; height: 2.5rem; font-size: 1rem; font-weight: normal; line-height: 1.5; text-align: center; } .side-nav-toggle { /* just for control side-panel */ margin-right:0.9375rem; height: 1.875rem; line-height: 1.875rem; font-size:1.5rem; color:#999; cursor: pointer; } /* UI Widget */ /**** caret ****/ .outer-caret, .inner-caret { height:0; width:0; border-width:14px 14px 0; /* default: arrow to the bottom */ border-style:dashed solid; /* 'dashed' for firefox */ border-color:#CBCBCB transparent; z-index:100; margin:0 auto; } .inner-caret { border-top-color:#fff; position:relative; top:-15px; left:-14px; } .up-outer-caret, .up-outer-caret .inner-caret { border-width:0 10px 10px; } .up-outer-caret .inner-caret { border-bottom-color:#fff; top:1px; left:-10px; } .up-outer-caret { position:absolute; top:-11px; } /** loading **/ @-moz-keyframes loading { 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes loading { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes loading { 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); } } .loading-icon { display:inline-block; width:26px; height:26px; border:2px solid #eee; border-left-color:#aaa; border-radius:50%; -moz-animation:loading 0.9s infinite linear; -webkit-animation:loading 0.9s infinite linear; animation:loading 0.9s infinite linear; } .loading-tip { display:block; margin:1em auto; } /** op-icon **/ .op-icon, .action-icon, .attr-action-icon { margin-left: 0.5rem; font-size: 1.25rem; font-style: normal; line-height: 1; cursor: pointer; vertical-align: middle; } .op-icon { color: #f89a68; } .op-icon:focus, .op-icon:hover { padding-bottom: 0.125rem; border-bottom: 0.125rem solid #f89a68; } .action-icon, .attr-action-icon { color:#888; } .action-icon:focus, .action-icon:hover, .attr-action-icon:focus, .attr-action-icon:hover { color: #333; text-decoration: none; } .attr-action-icon { font-size: 0.875rem; } /** Account info **/ #account { position:relative; } #my-info { display:inline-block; color:#d6d6d6; cursor:pointer; } #account .avatar { vertical-align:middle; border-radius:1000px; margin-right: 0.25rem; } @media (max-width:767px) { #account { margin:5px 0 0 10px; } .account-toggle { font-size:22px; line-height:1; color:#999; margin-top:8px; } } .account-popup .avatar { float:left; } .account-popup .txt { margin-left:45px; line-height: 36px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .account-popup { right:0; top:52px; font-size:13px; } .account-popup .outer-caret { top:-10px; right:16px; } .account-popup .sf-popover-con { padding:0; } .account-popup .item { display:block; padding:8px 18px; border-bottom:1px solid #ddd; } .account-popup a.item { color:#333; font-weight:normal; } .account-popup a.item:hover { background:#fafafa; text-decoration:none; } #account .manage { position:absolute; left:60px; top:-16px; } #account .manage .a:hover { text-decoration:none; } /** quota in account popover **/ #quota-bar { display:block; height:1em; border:1px solid #ddd; margin:5px 0; border-radius:2px; overflow:hidden;/* for usage > 100% */ } #quota-bar .usage { display:inline-block; height:100%; vertical-align:top; } #quota-usage { background:#ddd; } #notifications .sf2-icon-bell { font-size:24px; line-height:1; color:#999; } @media (max-width:767px) { .cur-view-toolbar .mobile-icon { color:#999; line-height:1.63; font-size:22px; margin-right:8px; } } /* sf-nav-link */ .nav .nav-item { padding: 0; } .nav .nav-item .nav-link{ padding: 0.5rem 0; margin-right: 0.5rem; color: #8A948F; font-weight: normal; transition: none; } .nav .nav-item .nav-link.active { color: #eb8205; text-decoration: none; border-bottom: 0.125rem solid #eb8205; } .nav-pills .nav-item .nav-link { padding: 0.25rem; color: #333; } .nav-pills .nav-item .nav-link:hover { background-color: #feefb8; } .nav-pills .nav-item .nav-link.active { background-color: #feac74; color: #fff; border: none; } /* side-panel */ .side-panel { user-select: none; height:100%; } .side-nav { flex:auto; display:flex; flex-direction:column; justify-content:space-between; /* make .side-nav-footer on the bottom */ overflow:hidden; /* for ff */ } .side-nav:hover { overflow-y:auto; } .side-nav-con { overflow:hidden; padding:20px; } .side-nav-con:hover { overflow-y:auto; } .side-nav-footer { display:flex; flex-shrink:0; padding:12px 20px 16px; background:#f8f8f8; border-top:1px solid #eee; font-size: 13px; } .side-nav-footer .item { color:#666; font-weight: normal; margin-right:10px; } .side-nav-footer .last-item { margin-left:auto; } .side-nav-con>.nav { margin-bottom: 1rem; } .side-nav-con .nav .nav-item, .side-nav-con .nav .nav-item .nav-link { display: block; padding-left: 0; margin-right: 0; } .side-nav-con .active .sharp, .side-nav-con .active .nav-text { font-weight: bold; } .side-nav-con .active [class^="sf2-icon-"], .side-nav-con .active .sharp { color: #fff; } .side-nav-con [class^="sf2-icon-"] { display:inline-block; width:2.625rem; margin-right:0.325rem; text-align:center; vertical-align:middle; font-size:1.5rem; line-height:1; color:#999; } .side-nav-con .sharp { display:inline-block; width:2.625rem; margin-right:0.325rem; text-align:right; color:#aaa; } .side-nav-con .toggle-icon { margin-right: 0.25rem; height: 1.5rem; display: flex; align-items: center; justify-content: center; color:#999; } .side-nav-con .draft-info { position: relative; line-height: 1.5rem; } .side-nav-con .draft-info .badge { right: -1.5rem; } .side-nav-con .sub-nav { display: block; overflow: hidden; } .side-nav-con .sub-nav .nav-link { padding: 0; display: block; font-size: 0.875rem; line-height: 1.5rem; } .side-panel-slide { transition: all .3s ease-in-out; } .side-panel-slide-up { transition: all .3s ease-in-out; height: 0; } #notifications { position:relative; width: 32px; } #notifications .no-deco { position: relative; display: block; width: 100%; height: 100%; } #notifications .sf2-icon-bell { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); } @media (max-width: 390px) { #notifications { margin-left:8px; } } /* about dialog */ .about-content { min-width: 280px; padding-top: 20px; text-align: center; } /* notifications */ #notifications .title { line-height: 1.5; font-size: 1rem; color: #322; font-weight: normal; } #notifications .sf2-icon-bell { font-size:24px; line-height:1; color:#999; } #notifications .num { position:absolute; color:#fff; font-size:12px; line-height:1; padding:1px 2px; background:#feac74; border:1px solid #cb8a5d; top:0; left:15px; } #notice-popover { top:38px; right:-12px; } #notice-popover .outer-caret { right:18px; } #notice-popover a { font-weight:normal; } #notice-popover li { padding:9px 0 3px; border-bottom:1px solid #dfdfe1; } #notice-popover li.unread { background:#f5f5f7; padding-right:10px; padding-left:8px; border-left:2px solid #feac74; margin:0 -10px; } #notice-popover .avatar { border-radius:1000px; float:left; } #notice-popover .brief { margin-left:40px; margin-bottom: 1rem; font-size: 0.8125rem; line-height: 1.5rem; } #notice-popover .time { margin:0; color:#999; text-align:right; font-size: 0.8125rem; line-height: 1.5rem; clear:both; } #notice-popover .view-all { display:block; padding:7px 0; text-align:center; color:#a4a4a4; } #notice-popover .sf-popover-close { position: absolute; right: 10px; top: 5px; } #notice-popover .sf-popover-hd { border-bottom: 1px solid #dfdfe1; margin: 0 10px; } /**** sf-popover ****/ /* e.g. top notice popup, group members popup */ .sf-popover-container { position:relative; } .sf-popover { width:240px; background:#fff; border:1px solid #c9c9c9; border-radius:3px; box-shadow:0 0 4px #ccc; position:absolute; z-index: 20; } .sf-popover-hd { padding:5px 0 3px; margin: 10px; } .sf-popover-title { text-align:center; } .sf-popover-close { font-size:16px; color:#b9b9b9; margin:4px 0 0; float:right; } .sf-popover-con { padding:0 10px; overflow:auto; } .sf-popover-list { border-top: 1px solid #e3e3e5; list-style: none; margin-top: 5px; padding-top: 5px; } a.sf-popover-item { display:block; color:#444; font-weight:normal; line-height:31px; text-decoration:none; padding: 5px 10px; margin: 0px -10px; } a.sf-popover-item:hover { background-color: #f8f8f8; } /* basic layout */ .side-panel-top { padding: .5rem 1rem; } @media (max-width: 767px) { .side-panel-top { border-right: 1px solid #eee; } } .side-panel-close { margin:10px 0 0 auto; } .panel-top { padding:.5rem 1rem; background:#f4f4f7; border-bottom: 1px solid #e8e8e8; display:flex; flex-shrink:0; } /* top logo */ .top-logo { display: flex; justify-content: space-between; flex: 1; } /* path navigation */ .path-container { /* for the real path */ font-size: 1rem; word-break: break-all; } .path-split { display: inline-block; padding: 0 5px; color: #818a91; } .path-link { color: #eb8205 !important; text-decoration: none; } .path-link:hover { cursor: pointer; text-decoration: underline !important; } /* base table style */ table { width: 100%; table-layout: fixed; } table tr { height: 2.1875rem; } table th, table td { padding: 0.3125rem 0.1875rem; border-bottom: 1px solid #eee; } table th { text-align: left; font-weight: normal; font-size: 0.8125rem; line-height: 1.6; color: #9c9c9c; } table td { color: #333; font-size: 0.875rem; word-break: break-all; } table td img { width: 1.5rem; height: 1.5rem; } .table-thead-hidden thead tr { height: 0; border: 0; } .table-thead-hidden thead th { /* hide table th */ padding: 0; border: 0; font-size: 0; } .tr-highlight { background-color: #f8f8f8; } /* table-item reanme-component */ .rename-container input { box-sizing: content-box; padding: 2px 3px; width: 15rem; height: 22px; line-height: 19px; border-radius: 2px; word-wrap: break-word; vertical-align: middle; border: 1px solid #ccc; } .rename-container input:focus { background-color: #fff; border-color: #1991eb; outline: 0; box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25); } .rename-container button { margin-left: 0.25rem; padding: 5px 6px; font-size: 1rem; line-height: 1; color: #666; min-width: 0; } .rename-container .confirm { color: green; } /* table-item loading-more-data */ .list-show-more { padding: 0.25rem 0.75rem; line-height: 2rem; text-align: center; color: #eb8205; cursor: pointer; } .list-show-more:hover { background-color: #eee; } .list-show-more .more-message { font-size: 0.875rem; color: #888; text-decoration: underline; } /* table sort */ a.table-sort-op { color: inherit; } @media (max-width:767px) { a.table-sort-op { display: inline-block; margin-left: 15px; } } a.table-sort-op:hover, a.table-sort-op:focus { outline: none; text-decoration: none; } /* dropdown-menu style */ .dropdown-menu { min-width: 8rem; } .dropdown-item { cursor: pointer; } /* empty-tip */ .empty-tip { margin: auto 1rem; padding: 30px 40px; background-color: #FAFAFA; border: solid 1px #DDD; border-radius: 3px; box-shadow: inset 0 0 8px #EEE; margin-top: 5.5em; } .empty-tip h2 { font-size: 1.25rem; text-align: center; color: #222; font-weight: bold; } .err-message, .err-message h2{ color: red; } /* file-tag */ .tag-list { position: relative; justify-content: flex-end; } .tag-list .file-tag { cursor: pointer; } .tag-list .file-tag:last-child { margin-right: 0; } .tag-list-stacked .file-tag{ margin-right: -0.5rem; border: 0.125rem solid #fff; cursor: pointer; } .file-tag { position: relative; display: inline-block; width: 1rem; height: 1rem; border-radius: 50%; } .dirent-item.tag-list { display: flex; align-items: center; width: max-content; } /* react select-module */ .select-module { font-size: 1rem; } .select-module.select-module-icon { width: 1.5rem; height: 1.5rem; } .select-module.select-module-name { margin-left: 0.5rem; } /* mobile menu */ .item-meta-info { display: inline-block; margin-right: 8px; font-size: 12px; color: #666; } .mobile-operation-menu-bg-layer { position: fixed; left: 0; right: 0; top: 0; bottom: 0; background: #000; opacity: 0.1; z-index: 3; } .mobile-operation-menu { position: fixed; left: 0; right: 0; bottom: 0; padding: .5em 0; background: #fff; text-align: center; z-index: 4; }