/** * 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 * side-tabnav * about-dialog * notifications * sf-popover * go-back * Container * Container ......... common container styles * */ /****** 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-menu:before { content: "\e031"; } .sf2-icon-more:before { content: "\e032"; } .sf2-icon-x1:before { content:"\e01d"; } .sf2-icon-user:before { content:"\e00f"; } .sf2-icon-share:before { content:"\e011"; } .sf2-icon-organization:before { content:"\e010"; } .sf2-icon-group:before { content:"\e00c"; } .sf2-icon-star:before { content:"\e012"; } .sf2-icon-clock:before { content:"\e002"; } .sf2-icon-monitor:before { content:"\e007"; } .sf2-icon-wrench:before { content:"\e001"; } .sf2-icon-bell:before { content:"\e003"; } .sf2-icon-close:before { content:"\e035"; } .sf2-icon-grid-view:before { content:"\e025"; } .sf2-icon-list-view:before { content:"\e026"; } .sf2-icon-wiki-view:before { content:"\e013"; } .sf2-icon-edit:before { content:"\e018"; } .sf2-icon-history:before { content:"\e014"; } .sf2-icon-trash:before { content:"\e016"; } /* 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; } .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; } /* 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 { font-size:20px; line-height:1; color:#888; cursor:pointer; margin-right:3px; vertical-align:middle; } /** Account info **/ #account { position:relative; } #my-info { display:inline-block; color:#d6d6d6; cursor:pointer; } #account .avatar { vertical-align:middle; border-radius:1000px; } @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; } } a.op-icon:focus { outline:none; text-decoration:none; } .op-icon:hover {/** for **/ color:#888; text-decoration:none; } /**** side-tabnav ****/ .side-textnav .hd, .side-info .hd { padding-bottom:4px; border-bottom:1px solid #ddd; margin-bottom:1em; } @media (max-width: 767px) { .side-nav { background: #f8f8f8; width:300px; position:fixed; left:-300px; top:0; bottom:0; z-index:1; box-shadow:0 0 4px #ccc; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; transition: all 0.3s ease; } .side-nav-shown { left:0; } } .side-nav { padding:20px; overflow:hidden; border-right:1px solid #eee; } .side-nav:hover { overflow-y:auto; } .home-side-nav { flex:auto; display:flex; flex-direction:column; justify-content:space-between; /* make .side-nav-footer on the bottom */ overflow:hidden; /* for ff */ border-right:1px solid #eee; } .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-tabnav .hd { margin-bottom:0.5em; } .side-tabnav h3.hd, .side-tabnav .hd h3 { color:#f7941d; } .side-tabnav .hd h3 { margin-bottom:0; } .side-tabnav .hd .avatar { /*for 'group'*/ vertical-align:middle; border-radius:1000px; margin:0 6px 0 4px; } .side-tabnav .grp-name { /*for 'group'*/ display:inline-block; max-width:130px; font-weight:normal; } .side-tabnav-tabs { margin-bottom:1em; } .side-tabnav-tabs .tab { border-radius:2px; overflow:hidden; } .side-tabnav-tabs .tab a { /* for IE 11: no border-radius here */ display:block; font-size:15px; padding:4px 4px 4px 0; color:#333; font-weight:normal; } .side-tabnav-tabs .tab a:focus { text-decoration:none; } .side-tabnav-tabs .tab ul a { font-size:14px; line-height:24px; padding:0; } .side-tabnav-tabs .tab a:hover { background-color:#feefb8; text-decoration:none; } .side-tabnav-tabs .tab [class^="sf2-icon-"] { display:inline-block; width:42px; margin-right:5px; text-align:center; vertical-align:middle; font-size:24px; line-height:1; color:#999; } .side-tabnav-tabs .tab .fas { height: 24px; display: flex; align-items: center; justify-content: center; } .side-nav-toggle { font-size:1.5rem; color:#999; margin-right:15px; } .side-panel-slide { transition: all .3s ease-in-out; } .side-panel-slide-up { transition: all .3s ease-in-out; height: 0; } #group-nav .sharp, #share-admin-nav .sharp { display:inline-block; width:42px; margin-right:5px; text-align:right; color:#aaa; } #group-nav .toggle-icon, #share-admin-nav .toggle-icon { color:#999; } .side-tabnav-tabs .tab-cur a, .side-tabnav-tabs .tab-cur a:hover { background-color:#feac74; } .side-tabnav-tabs .tab-cur [class^="sf2-icon-"], .side-tabnav-tabs .tab-cur a, #group-nav .tab-cur .sharp, #share-admin-nav .tab-cur .sharp { color:#fff; } .side-tabnav-tabs .tab-cur a { font-weight:bold; } .side-textnav .hd { margin:2em 0 .5em; } .side-textnav-tabs .tab a { display:block; padding:10px 0; font-weight:normal; color:#999; border-bottom:1px solid #eee; margin-bottom:3px; } .side-textnav-tabs .tab-cur a, .side-textnav-tabs .tab a:hover { color:#de3f1c; text-decoration:none; } .user-select-none { -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; -khtml-user-select:none; user-select: none; } #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 .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; } #notice-popover .time { color:#999; text-align:right; margin:0; 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; } /**** 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; border-bottom:1px solid #dfdfe1; margin:0 10px; } .sf-popover-title { text-align:center; } .sf-popover-close { font-size:16px; color:#b9b9b9; margin:4px 0 0; } .sf-popover-con { padding:0 10px; overflow:auto; } /* for go-back */ .go-back { font-size: 25px; padding-right: 0.75rem; color:#ccc; } .go-back:hover { color:#ff9933; text-decoration: none; } /* basic layout */ #wrapper { height: 100%; } #main { display: flex; height: 100%; width: 100%; } .main-panel { flex: 1 0 75%; display:flex; flex-direction:column; } .side-panel { flex: 0 0 25%; display:flex; flex-direction:column; overflow:hidden; } @media (max-width: 767px) { .side-panel { background:#f8f8f8; width:300px; height:100%; position:fixed; left:-300px; z-index:1; /* important! */ -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; transition: all 0.3s ease; } } .panel-top { padding:.5rem 1rem; background:#f4f4f7; border-bottom: 1px solid #e8e8e8; display:flex; flex-shrink:0; } .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; } .cur-view-main { flex:1 1 auto; display:flex; flex-direction:column; } .cur-view-path { flex-shrink:0; min-height:40px; padding:8px 16px 0; background:#f9f9f9; position:relative; /* for the ':after' */ } .cur-view-path:after { content:''; border-bottom:1px solid #e8e8e8; position:absolute; left:16px; right:16px; bottom:0; } .cur-view-main-con { padding:10px 16px 20px; overflow:auto; flex:auto; height: calc(100% - 40px); } .cur-view-main-con .hd { padding-bottom:0; height:48px; padding:9px 10px; background:#f2f2f2; margin-bottom:.5em; border-radius:2px; } .main-panel-main { flex:auto; display:flex; flex-direction:column; overflow:hidden; /* for ff */ }