X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tpl%2Fdefault%2Fcss%2Fshaarli.css;h=e2d64686d4f172a772b8e218c21439ec27370107;hb=4a451481b6276061d177ab8a737e7830c9e8a198;hp=7213c4a4984d296b816ad2ee6d89cec0d73c6a0a;hpb=4ed6d1babe673a38351e66da991db1cb8e2cb70c;p=github%2Fshaarli%2FShaarli.git diff --git a/tpl/default/css/shaarli.css b/tpl/default/css/shaarli.css index 7213c4a4..e2d64686 100644 --- a/tpl/default/css/shaarli.css +++ b/tpl/default/css/shaarli.css @@ -1,43 +1,110 @@ +/** + * General + */ body { background: url(../img/noise.png) #979797; } -header { +.strong { + font-weight: bold; +} + +.clear { + clear: both; +} + +.center { + text-align: center; + margin: auto; +} +.label { + display: inline-block; + padding: .25em .4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25rem; +} + +pre { + max-width: 100%; +} + +@font-face { + font-family: 'Roboto Slab'; + font-weight: 400; + font-style: normal; + src: + local('Fira Sans'), + local('Fira-Sans-regular'), + url('../fonts/Fira-Sans-regular.woff2') format('woff2'), + url('../fonts/Fira-Sans-regular.woff') format('woff'); } /** - * MENU - **/ -.pure-menu { - /*position: fixed;*/ - background: #16a085; + * Extends Pure grids responsive to hide items. + * Use xx-0 to hide an item on xx screen. + * Display it at any level with xx-visible. + */ +.pure-u-0 { display: none !important; } +@media screen and (min-width: 35.5em) { + .pure-u-sm-0 { display: none !important; } + .pure-u-sm-visible { display: inline-block !important; } +} +@media screen and (min-width: 48em) { + .pure-u-md-0 { display: none !important; } + .pure-u-md-visible { display: inline-block !important; } +} +@media screen and (min-width: 64em) { + .pure-u-lg-0 { display: none !important; } + .pure-u-lg-visible { display: inline-block !important; } +} +@media screen and (min-width: 80em) { + .pure-u-xl-0 { display: none !important; } + .pure-u-xl-visible { display: inline-block !important; } } -.pure-menu-selected { - background: #049372; +.pure-g [class*="pure-u"]{ + font-family: Roboto Slab, Arial, sans-serif; } -.pure-menu-link, -.pure-menu-link:visited, -.pure-menu-selected .pure-menu-link, -.pure-menu-selected .pure-menu-link:visited { - color: #b0ddce; +/** + * Make pure-extras alert closable. + */ +.pure-alert-closable .fa-times { + float: right; +} +.pure-alert-close { + cursor: pointer; } -.pure-menu-link:hover, -.pure-menu-selected .pure-menu-link:hover { - color: #fff; - background: transparent; +.pure-alert-success { + background-color: #1b926c; } +/** + * MENU + **/ .shaarli-menu { - margin-bottom: 1em; + position: fixed; + top: 0; + width: 100%; + background: #1b926c; -webkit-font-smoothing: antialiased; /* Hack to transition with auto height: http://stackoverflow.com/a/8331169/1484919 */ max-height: 2.1em; transition: max-height 0.5s; overflow: hidden; + z-index: 999; +} + +/* Chrome bugfix: with 100% height, it only displays the first element. */ +.pure-menu-item { + height: inherit; } .shaarli-menu.open { @@ -45,6 +112,19 @@ header { transition: max-height 0.75s; } +.pure-menu-link, +.pure-menu-link:visited, +.pure-menu-selected .pure-menu-link, +.pure-menu-selected .pure-menu-link:visited { + color: #b0ddce; +} + +.pure-menu-link:hover, +.pure-menu-selected .pure-menu-link:hover { + color: #d1fff0; + background: transparent; +} + .menu-toggle { width: 34px; height: 34px; @@ -85,24 +165,989 @@ header { } /** - * Extends Pure grids responsive to hide items. - * Use xx-0 to hide an item on xx screen. - * Display it at any level with xx-visible. + * Header */ -.pure-u-0 { display: none !important; } -@media screen and (min-width: 35.5em) { - .pure-u-sm-0 { display: none !important; } - .pure-u-sm-visible { display: inherit !important; } +#header { + width: 100%; + height: 150px; + background: url(../img/noise.png), #1fa67a url(../img/logo.png) no-repeat fixed 10px 2.5em; } -@media screen and (min-width: 48em) { - .pure-u-md-0 { display: none !important; } - .pure-u-md-visible { display: inherit !important; } + +#header h1 { + position: fixed; + float: left; + margin: 45px 0 0 125px; + width: 55%; + height: 100px; +} + +#header h1 a, #header h1 a:visited { + /* https://css-tricks.com/centering-css-complete-guide/#vertical-inline-multiple */ + display: -ms-flexbox; + display: flex; + flex-direction: column; + justify-content: center; + + overflow: hidden; + height: 100px; + color: #b0ddce; + text-decoration: none; + z-index: 1; + + font-family: Roboto Slab, Arial, sans-serif; + font-size: 1.2em; +} + +#header h1 a:hover { + color: #d1fff0; +} + +.header-buttons { + text-align: right; +} + +#linkcount { + /* position: fixed; */ + position: absolute; + top: 40px; + right: 10px; + color: #b0ddce; + font-size: 0.8em; +} + +#search { + /** + * Can't make it work with awesomplete list z-index. Any idea? + * position: fixed; + */ + position: absolute; + top: 60px; + right: 10px; + width: 30%; + text-align: right; +} + +#search input[type="text"] { + margin: 0 0 5px 0; + padding: 5px 5px 3px 15px; + height: 20px; + width: 140px; + transition: width .5s ease; + background: #1b926c; + border: medium none currentColor; + border-radius: 25px; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 4px rgba(0, 0, 0, 0.298) inset; + color: #b0ddce; +} + +/* because chrome */ +#search input[type="text"]::-webkit-input-placeholder { + color: #b0ddce; +} + +#search button { + background: transparent; + border: none; + color: #b0ddce; +} + +#search button:hover { + color: #fff; +} + +#header-login-form { + height: 0; + text-align: center; + background: #1b926c; + transition: 0.3s; +} + +#header-login-form.open { + display: block; + height: 30px; + padding: 5px 0; + box-shadow: 0 1px 1px 1px #797979; +} + +#header-login-form input[type="text"], #header-login-form input[type="password"], #header-login-form .remember-me { + margin: 0 0 5px 0; + padding: 5px 5px 3px 15px; + height: 20px; + width: 200px; + background: #1fa67a; + border: medium none currentColor; + border-radius: 25px; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 4px rgba(0, 0, 0, 0.298) inset; + color: #b0ddce; +} + +/* because chrome */ +#header-login-form input[type="text"]::-webkit-input-placeholder, +#header-login-form input[type="password"]::-webkit-input-placeholder +{ + color: #b0ddce; +} + +#header-login-form .remember-me { + display: inline-block; + width: auto; + padding: 5px 20px 3px 20px; + cursor: pointer; +} + +#header-login-form .remember-me label, #header-login-form .remember-me input { + cursor: pointer; +} + +#header-login-form input[type="submit"] { + display: inline-block; + margin: 0 0 5px 0; + height: 25px; + width: 100px; + background: #0C7653; + border: medium none currentColor; + border-radius: 25px; + box-shadow: 1px 1px 2px #005C3E, -1px -1px 2px #005C3E; + color: #b0ddce; +} + +#header-login-form input, #header-login-form .remember-me { + transition: visibility 1s, opacity 1s; + visibility: hidden; + opacity: 0; } + +#header-login-form.open input, #header-login-form.open .remember-me { + visibility: visible; + opacity: 1; +} + +.new-version-message { + text-align: center; +} + +.new-version-message a { + color: rgb(151, 96, 13); + font-weight: bold; +} + +/** + * CONTENT - GENERAL + */ +#content { + position: relative; + /* Hack-ish way to only shadow the top part. */ + box-shadow: 0 -20px 20px -20px #797979; + z-index: 2; + background: url(../img/noise.png) #979797; +} + +@media screen and (max-width: 64em) { + #content { + margin: 2.1em 0 0 0; + } +} + @media screen and (min-width: 64em) { - .pure-u-lg-0 { display: none !important; } - .pure-u-lg-visible { display: inherit !important; } + #content { + /* https://css-tricks.com/fighting-the-space-between-inline-block-elements/ */ + margin-top: -4px; + } +} + +/** + * CONTENT - LINKLIST PAGING + * 64em -> lg + */ + + +.linklist-filters { + margin: 10px 0; + color: #252525; + font-size: 0.9em; +} + +.linklist-filters a { + padding: 2px 5px; + text-decoration: none; +} + +.linklist-filters .filter-off { + color: #252525; + background: #c8c8c8; +} + +.linklist-filters .filter-on { + color: #b0ddce; + background: #1b926c; +} + +.linklist-pages { + margin: 10px 0; + color: #252525; + text-align: center; +} + +.linklist-pages a { + color: #252525; + text-decoration: none; +} + +.linklist-pages a:hover { + color: #fff; +} + +.linksperpage { + margin: 10px 0; + text-align: right; + color: #252525; + font-size: 0.9em; +} + +.linksperpage a { + padding: 2px 5px; + text-decoration: none; + color: #252525; + background: #c8c8c8; + border: solid 1px #979797; +} + +.linksperpage form { + display: inline; + margin: 0 10px 0 0; +} + +.linksperpage input[type="text"] { + width: 28px; + height: 16px; + margin: 0; + padding: 3px 5px 3px 8px; + background: #c8c8c8; + border: medium none currentColor; + --border-radius: 25px; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 4px rgba(0, 0, 0, 0.298) inset; + color: #252525; + font-size: 0.8em; +} + +/** + * CONTENT - LINKLIST ITEMS + */ +.linklist-item { + margin: 15px 0; + background: #f5f5f5; + box-shadow: 2px 2px 0.5em #797979; +} + +.linklist-item-title, .linklist-item-title h2 { + margin: 0; + word-wrap: break-word; +} + +.linklist-item-title { + background: #20b988 url(../img/noise.png); + border-bottom: 1px solid #1b926c; + box-shadow: 1px 1px 0.2em #1b926c; +} + +.linklist-item-title h2 { + padding: 3px 10px 0 10px; + line-height: 25px; +} + +.linklist-item-title a { + font-size: 0.7em; + color: #d0fff0; + text-decoration: none; + vertical-align: middle; + font-family: Roboto Slab, Arial, sans-serif; +} + +.linklist-item-title .linklist-link:visited { + color: #ddd; +} + +.linklist-item-title a:hover, .linklist-item-title .linklist-link:hover{ + color: #fff; +} + + +.linklist-item-title .label-private { + border: solid 1px #d0fff0; + font-family: Arial, sans-serif; + font-size: 0.65em; +} + +.linklist-item-title .fold-button { + display: none; +} + +.linklist-item-editbuttons { + float: right; + padding: 5px; +} + +.linklist-item-editbuttons a { + font-size: 1em; +} + +.linklist-item-description { + padding: 10px; + font-family: Roboto Slab, Arial, sans-serif; + word-wrap: break-word; +} + +.linklist-item-description a { + text-decoration: none; + color: #1b926c; +} + +.linklist-item-description a:hover { + text-shadow: 1px 1px #ddd; +} + +.linklist-item-description a:visited { + color: #20b988; +} + +.linklist-item-thumbnail { + margin-top: 10px; + padding: 10px; + float: left; +} + +.linklist-item-infos { + padding: 5px 5px 0 5px; + background: #ddd url(../img/noise.png); + border-top: 1px solid #989898; + box-shadow: 1px -1px 0.2em #989898; + color: #252525; +} + +.linklist-item-infos a { + color: #505050; + text-decoration: none; +} + +.linklist-item-infos a:hover { + color: #000; +} + +.linklist-item-infos .linklist-item-tags { + margin: 0 0 5px 0; + font-size: 0.8em; +} + +.linklist-item-infos .linklist-item-infos .label-tag { + border: 1px solid #505050; + font-size: 0.9em; +} + +.linklist-item-infos .label-tag:hover { + border: 1px solid #000; +} + +.linklist-item-infos-dateblock { + font-size: 0.9em; +} + +.linklist-plugin-icon { + width: 13px; + height: 13px; +} + +.linklist-item-infos-url { + text-align: right; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 0.8em; +} + +/** 64em -> lg **/ +@media screen and (max-width: 64em) { + .linklist-item-infos-url { + text-align: left; + } +} + +/** + * Footer + */ +#footer { + margin: 20px 0; + padding: 5px; + text-align: center; + color: #252525; +} + +#footer:before { + display: block; + content:""; + background: linear-gradient(to right, #949393, #252525, #949393); + height: 1px; + width: 80%; + margin: 10px auto; +} + +#footer a { + color: #252525; +} + +/** + * PAGE FORM + */ +.page-form { + margin: 20px 0 0 0; + background: url(../img/noise.png) #1fa67a; + border-radius: 5px; + box-shadow: 1px 1px 2px #797979; + color: #b0ddce; +} + +.page-form .window-title { + margin: 0 0 10px 0; + padding: 10px 0; + width: 100%; + color: #b0ddce; + background: #1b926c; + text-align: center; + border-radius: 5px 5px 0 0; + border-bottom: 1px solid #797979; +} + +.page-form .window-subtitle { + text-align: center; +} + +.page-form a { + color: #b0ddce; + font-weight: bold; +} + +.page-form input[type="text"], +.page-form input[type="password"], +.page-form textarea { + margin: 10px 0; + padding: 5px 5px 3px 15px; + height: 30px; + width: 80%; + background: #1b926c; + border: medium none currentColor; + border-radius: 25px; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 4px rgba(0, 0, 0, 0.298) inset; + color: #b0ddce; +} + +.page-form textarea { + height: 240px; + padding: 15px 5px 3px 15px; + resize: vertical; + overflow-y: auto; + word-wrap:break-word +} + +/* because chrome */ +.page-form input[type="text"]::-webkit-input-placeholder, +.page-form input[type="password"]::-webkit-input-placeholder { + color: #b0ddce; +} + +.page-form input[type="submit"] { + margin: 15px 5px; + height: 35px; + width: 150px; + background: #1b926c; + border: medium none currentColor; + border-radius: 25px; + box-shadow: 1px 1px 4px #0C7653, -1px -1px 6px #0C7653, -1px 1px 6px #0C7653, 1px -1px 6px #0C7653; + font-size: 1.2em; + font-weight: bold; + color: #b0ddce; +} + +.page-form select { + color: black; +} + +/** + * PAGE FORM - LIGHT + */ +.page-form-light div, .page-form-light p { + text-align: center; +} + +/** + * PAGE FORM - COMPLETE + */ +.page-form-complete { + #background: #ddd; +} + +.page-form-complete div, .page-form-complete p { + color: #b0ddce; +} + +.page-form-complete .form-label, .page-form-complete .form-input { + position: relative; + height: 60px; +} + +.page-form-complete .form-label label, +.page-form-complete .form-input input, +.page-form-complete .timezone { + position: absolute; + top: 50%; + transform: translateY(-50%); +} + +.page-form-complete .form-label label { + text-align: right; + right: 0; + padding: 0 20px; +} + +.page-form-complete .label-name { + font-weight: bold; +} + +.page-form-complete .label-desc { + font-size: 0.8em; +} + +.page-form-complete input[type="text"], +.page-form-complete input[type="password"], +.page-form-complete textarea { + margin: 0; +} + +.page-form section { + margin-top: 20px; +} + + +.page-form table { + margin: auto; + width: 90%; +} + +.page-form table .order { + text-decoration: none; +} + +.page-form table, .page-form th, .page-form td { + border-width: 1px 0; + border-style: solid; + border-color: #b0ddce; +} + +.page-form th, .page-form td { + padding: 5px; + +} + +/* Awesomeplete fix */ +.page-form .awesomplete { + width: 80%; +} + +.page-form .awesomplete input { + width: 100%; +} + +.page-form div.awesomplete > ul { + color: black; +} + +@media screen and (max-width: 64em) { + .page-form-complete .form-label { + height: inherit; + } + + .page-form-complete .form-label label, + .page-form-complete .form-input input, + .page-form-complete .timezone { + position: inherit; + top: inherit; + transform: translateY(0); + } + + .page-form-complete .form-input input[type="checkbox"] { + position: absolute; + top: 50%; + right: 50%; + transform: translateY(-50%); + } + + .page-form-complete .form-input { + text-align: center; + } + + .page-form-complete .form-label label { + display: block; + text-align: left; + margin: 10px 0 0 0; + } + + .timezone-continent:after { + content:"\a\a"; + white-space: pre; + } + + .page-form-complete .radio-buttons { + text-align: left; + padding: 5px 15px; + } +} + +/** + * Page visitor (page form extended) + */ +.page-visitor { + background: url(../img/noise.png) #fff; + color: #000; +} + +#page404 { + color: #3f3f3f; +} + +/** + * LOGIN + */ +#login-form .remember-me { + margin: 5px 0; + color: #b0ddce; + font-weight: bold; +} + +/** + * CONTENT - LINKLIST ITEMS + */ +.linklist-item { + margin: 15px 0; + background: #f5f5f5; + box-shadow: 2px 2px 0.5em #797979; +} + +.linklist-item-title, .linklist-item-title h2 { + margin: 0; +} + +.linklist-item-title { + background: #20b988 url(../img/noise.png); + border-bottom: 1px solid #1b926c; + box-shadow: 1px 1px 0.2em #1b926c; +} + +.linklist-item-title h2 { + padding: 3px 10px 0 10px; + line-height: 25px; +} + +.linklist-item-title a { + font-size: 0.7em; + color: #d0fff0; + text-decoration: none; + vertical-align: middle; + font-family: Roboto Slab, Arial, sans-serif; +} + +.linklist-item-title .linklist-link:visited { + color: #ddd; +} + +.linklist-item-title a:hover, .linklist-item-title .linklist-link:hover{ + color: #fff; +} + +.linklist-item-title .label-private { + border: solid 1px #d0fff0; + font-family: Arial, sans-serif; + font-size: 0.65em; +} + +.linklist-item-title .fold-button { + display: none; +} + +.linklist-item-editbuttons { + float: right; + padding: 5px; +} + +.linklist-item-editbuttons a { + font-size: 1em; +} + +.linklist-item-description { + padding: 10px; + font-family: Roboto Slab, Arial, sans-serif; +} + +.linklist-item-description a { + text-decoration: none; + color: #1b926c; +} + +.linklist-item-description a:hover { + text-shadow: 1px 1px #ddd; +} + +.linklist-item-description a:visited { + color: #20b988; +} + +.linklist-item-infos { + padding: 5px; + background: #ddd url(../img/noise.png); + border-top: 1px solid #989898; + box-shadow: 1px -1px 0.2em #989898; + color: #252525; + font-size: 0.8em; +} + +.linklist-item-infos a { + color: #505050; + text-decoration: none; +} + +.linklist-item-infos a:hover { + color: #000; +} + +.linklist-item-tags { + margin: 0 0 5px 0; +} + +.label-tag { + border: 1px solid #505050; + font-size: 1em; +} + +.label-tag:hover { + border: 1px solid #000; +} + +.linklist-plugin-icon { + width: 13px; + height: 13px; +} + +.linklist-item-infos-url { + text-align: right; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +/** + * Search results + */ +.search-result a { + color: white; + text-decoration: none; +} + +.search-result .label-tag { + border-color: white; +} + +.search-result .label-tag .remove { + border-left: white 1px solid; + padding: 0 0 0 5px; + margin: 0 0 0 5px; +} + +/** + * TOOLS + */ +.tools-item { + margin: 10px 0; +} + +/** + * PLUGIN ADMIN + */ +#pluginform .mobile-row { + font-size: 0.9em; +} + +#pluginform .more { + margin-top: 10px; +} + +@media screen and (max-width: 64em) { + #pluginform .main-row, #pluginform .main-row td { + border-bottom-style: none; + } + + #pluginform .mobile-row, #pluginform .mobile-row td { + border-top-style: none; + } +} + + +/** + * IMPORT + */ +#import-field { + margin: 15px 0; +} + +/** + * TAG CLOUD + */ +#cloudtag { + padding: 10px; + text-align: center; +} + +#cloudtag, #cloudtag a { + color: #000; + text-decoration: none; +} + +#cloudtag .count { + color: #7f7f7f; +} + +/** + * Picture wall CSS + */ +#picwall_container { + margin: 0 10px 10px 10px; + color: #fff; + background-color: #000; + clear: both; +} + +.picwall_pictureframe { + background-color: #000; + z-index: 5; + position: relative; + display: table-cell; + vertical-align: middle; + width: 90px; + height: 90px; + overflow: hidden; + text-align: center; + float: left; +} + +.b-lazy { + -webkit-transition: opacity 500ms ease-in-out; + -moz-transition: opacity 500ms ease-in-out; + -o-transition: opacity 500ms ease-in-out; + transition: opacity 500ms ease-in-out; + opacity: 0; +} +.b-lazy.b-loaded { + opacity: 1; +} + +.picwall_pictureframe img { + max-width: 100%; + height: auto; + color: transparent; +} /* Adapt the width of the image */ + +.picwall_pictureframe a { + text-decoration: none; +} + +/* CSS to show title when hovering an image - no javascript required. */ +.picwall_pictureframe span.info { + display: none; +} + +.picwall_pictureframe:hover span.info { + display: block; + position: absolute; + top: 0; + left: 0; + width: 90px; + font-weight: bold; + font-size: 8pt; + color: #fff; + text-align: left; + background-color: transparent; + background-color: rgba(0, 0, 0, 0.4); + /* FF3+, Saf3+, Opera 10.10+, Chrome, IE9 */ + filter: progid: DXImageTransform.Microsoft.gradient(startColorstr=#66000000, endColorstr=#66000000); + /* IE6–IE9 */ + text-shadow: 2px 2px 1px #000000; +} + +/** + * DAILY + */ +.daily-desc { + color: #7f7f7f; + font-size: 0.8em; +} + +.daily-about a { + color: #343434; + text-decoration: none; +} + +.daily-about a:hover { + color: #7f7f7f; +} + +.daily-about h3:before, .daily-about h3:after { + display: block; + content:""; + background: linear-gradient(to right, #d5d4d4, #252525, #d5d4d4); + height: 1px; + width: 90%; + margin: 10px auto; +} + +.daily-entry .daily-entry-title:after { + display: block; + content:""; + background: linear-gradient(to right, #fff, #515151, #fff); + height: 1px; + width: 70%; + margin: 5px auto; +} + +.daily-entry .daily-entry-title { + margin: 10px 0 0 0; +} + +.daily-entry .daily-entry-title a { + color: #000; + text-decoration: none; +} + +.daily-entry .daily-entry-description { + padding: 5px 5px 0 5px; + font-size: 0.9em; + text-align: justify; +} + +.daily-entry .daily-entry-tags { + padding: 0 5px 5px 5px; + font-size: 0.8em; +} + +.daily-entry-thumbnail { + float: left; + margin: 15px 5px 5px 5px; +} + +.daily-entry-description a { + text-decoration: none; + color: #1b926c; +} + +.daily-entry-description a:hover { + text-shadow: 1px 1px #ddd; +} + +.daily-entry-description a:visited { + color: #20b988; } -@media screen and (min-width: 80em) { - .pure-u-xl-0 { display: none !important; } - .pure-u-xl-visible { display: inherit !important; } -} \ No newline at end of file