X-Git-Url: https://jfr.im/git/irc/freenode/web-7.0.git/blobdiff_plain/5b76ff14c357f7cf10b594659aa05181cf5fd524..58a16a0511403b90ed5e78b0bc94b8da56edafaf:/static/css/style.css diff --git a/static/css/style.css b/static/css/style.css index 9c705b8e3..a13b4ee5e 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -1,31 +1,38 @@ /* vars */ :root { + --c-dark: #292f2f; + --c-bg-dark: #3a4346; + --c-bg-light: #4c5456; + --c-light: #ecf7fa; + --c-off-white: #f9f9f9; + --c-hl-dark: #008499; + --c-hl-light: #3baec4; + --c-shadow: #dae5e2; + /* backgrounds */ - --navbar-bg: #292f2f; - --jumbotron-bg: #3a4346; - --copyright-bg: #292f2f; - + --navbar-bg: var(--c-dark); + --jumbotron-bg: var(--c-bg-dark); + --copyright-bg: var(--c-dark); + /* link colors */ - --link-color: #2fa6bc; - --footer-link-color: #ecf7fa; - --nlink-col: #000000; - + --link-color: var(--c-hl-dark); + --link-hover-color: var(--c-hl-light); + --footer-link-color: var(--c-light); + --footer-hover-color: #fff; + /* text colors */ - --text-color: #292f2f; - --footer-text-color: #ecf7fa; - --copyright-text-color: #ecf7fa; - --jumbotron-text-color: #ecf7fa; - --fn-grey: #e6e6e6; - --fn-green: #4beb4a; - --art-date-color: #bdbcbc; - --footer-hover-color: #ffffff; - + --text-color: var(--c-dark); + --footer-text-color: var(--c-light); + --copyright-text-color: var(--c-light); + --jumbotron-text-color: var(--c-light); + --art-date-color: color(var(--c-dark) tint(50%)); + /* box colors */ - --border-color: #292f2f; - --box-color: #4c5456; - --box-hover-color: #292f2f; + --border-color: var(--c-dark); + --box-color: var(--c-bg-light); + --box-hover-color: var(--c-dark); --box-round: 10px; - + /* other */ --max-width: 600px; --max-width-box: 800px; @@ -44,7 +51,7 @@ /* global */ body { - font-family: 'Open Sans'; + font-family: 'Open Sans', sans-serif; font-feature-settings: "lnum"; font-variant-numeric: lining-nums; color: var(--text-color); @@ -53,13 +60,25 @@ body { height: auto; } +.invisible { + display: none; +} + a { color: var(--link-color); text-decoration: none; } +a:hover { + color: var(--link-hover-color); +} +img { + max-width: 100%; +} + /* navbar */ .navbar { + color: var(--c-light); width: 100%; height: 50px; background-color: var(--navbar-bg); @@ -76,18 +95,8 @@ a { z-index: 100; padding-right: 5px; } -[class*='fn-'] { - margin-top: auto; - margin-bottom: auto; - font-size: 30px; - color: var(--fn-grey); - text-shadow: .5px .5px #000; -} -.green { - color: var(--fn-green); -} -@media (--max-sm); { +@media (--max-sm) { .navbar { position: absolute; } @@ -98,73 +107,253 @@ a { height: 40px; } -.nlogo { - height: 40px; +/* nav = navbar + * pia = Private Internet access + */ +#nav-logo { order: 10; } +#nav-pia { order: 30; } + +#nav-jump { order: 1000; } + +#nav-search { + order: 20; + margin-left: auto; + line-height: 35px; } -.navlinks { - display: flex; - justify-content: space-around; - flex-wrap: nowrap; +#nav-search input { + background-color: var(--c-bg-dark); + border-style: none; + border-radius: 2px; + color: var(--c-light); + padding: .5em; + padding-right: 2em; + margin-right: -2em; } -.nlink { - text-decoration: none; - color: var(--nlink-col); +#nav-label { + display: inline-block; + width: 2em; + margin-right: .7em; +} + +@media (--max-sm) { + #nav-search { + order: 100; + margin: 0 .5em; + } + + #nav-pia { + margin-left: auto; + } + + #nav-label { + width: auto; + margin: 0 .5em; + } + + #nav-searchbox:not(:focus) { + display: inline-block; + position: absolute; + height: 0; + width: 0; + padding: 0; + margin: 0; + background: transparent; + overflow: hidden; + } + + #nav-searchbox:focus { + position: absolute; + visibility: visible; + outline: none; + top: 0; + left: 0; + right: 0; + height: 50px; + line-height: 50px; + font-size: 1.5em; + padding-right: 2.5em; + width: 100%; + } + + #nav-searchbox:focus + #nav-label { + display: block; + position: absolute; + pointer-events: none; + top: 0; + right: 0; + width: 1.5em; + font-size: 2em; + line-height: 50px; + padding-top: -.1em; + margin: 0; + } +} + +/* n = nav */ +.nlogo { height: 40px; } + +/* t = text (used in jumbotron for small logo as text) */ +.tlogo { + height: 2.4ex; + margin-bottom: -.47ex; + margin-left: -10px; + margin-right: -10px; } /* main */ .container { width: 100%; - min-height: 98vh; + min-height: 100vh; padding-top: 50px; - padding-bottom: 11.5rem; + padding-bottom: 17.5rem; } .main { - margin: 0 auto; - margin-top: .75em; + margin: 2em auto; padding: 0 .75em; max-width: var(--max-width); - line-height: 1.4; + line-height: 1.8; } .main h1, .main h2, .main h3, .main h4, +.main h5, +.main h6, .main li, .main pre, -.main p { +.main p, +.main blockquote { margin-top: .7em; } +.artlist li { + margin-top: 0; +} + .main h1 + p, .main h2 + p, .main h3 + p, -.main h3 + p { +.main h4 + p, +.main h5 + p, +.main h6 + p, +.main blockquote > p:first-child { margin-top: 0; } +.main .page-variant-registration ~ pre, .main .page-variant-registration ~ * pre { + padding: .5em .75em; + border-radius: .25em; + background: var(--c-off-white); + color: var(--c-hl-dark); + box-shadow: 0 0 1px var(--c-bg-light); +} + +.toclink, +.toclink:hover { + color: var(--text-color); +} + +.toclink::after { + content: ' \f13d'; + font-family: FontAwesome; + color: var(--link-color); + font-weight: normal; + opacity: 0; + transition: opacity .08s; +} + +.toclink:hover::after { + opacity: 1; + color: var(--link-hover-color); +} + +@media (--max-sm) { + .toclink::after { + opacity: 1; + } +} + ul { padding-left: 2em; list-style-type: disc; } +ol { + padding-left: 2em; + list-style-type: decimal; +} + hr { margin-top: .8em; margin-bottom: .8em; } +table { + border: 1px solid var(--c-dark); + border-collapse: collapse; +} + +th, td { + margin: .2em; +} + +th { + background-color: var(--c-bg-dark); + color: var(--c-light); +} + +td { + padding: .2em .5em; +} + +td:not(:first-child), th:not(:first-child) { + border-left: 1px solid var(--c-dark); +} + +tr:nth-child(odd) { + background-color: var(--c-shadow); +} + /* jumbotron */ .jumbotron { position: relative; width: 100%; - margin-top: -16px; + margin-top: -50px; background: var(--jumbotron-bg); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.6); color: var(--jumbotron-text-color); - padding: 2em 0; + padding: 4em 0 4em 0; +} + +/* j = jumbotron */ +.jindex { + z-index: 99; +} + +.jlogo { + display: block; + margin: 25px auto; +} + +.jpia { + position: absolute; + height: 40px; + right: 0; + top: 0; + margin: 25px; +} + +@media (--max-sm) { + .jlogo { + margin: 2em auto -2em auto; + } + .jumbotron { + padding-bottom: 2em; + } } .child { @@ -197,10 +386,11 @@ hr { } .box:hover,.box:active { + color: var(--jumbotron-text-color); background-color: var(--box-hover-color); } -.box div{ +.box span { position: relative; top: initial; font-size: 20px; @@ -210,11 +400,12 @@ hr { margin-top: .75em; } +/* fa = font awesome */ .fa-users { margin-top: var(--margin-box-fa); } -.fa-comment,.fa-question { +.fa-comments,.fa-question { margin-bottom: var(--margin-box-fa); } @@ -246,14 +437,15 @@ hr { margin: 0 .5em; } - .box div { + .box span { font-size: 22px; line-height: 22px; padding-left: 8px; - font-weight: 700; + font-weight: bold; position: relative; - display: inline; + display: inline-block; text-align: center; + margin-top: 0; } .box { @@ -267,9 +459,13 @@ hr { h1 { margin: 0; } +/* art = article */ +.artlist ul { + padding: 0; + list-style-type: none; +} .art-info { - line-height: 1.6; display: flex; flex-direction: row; flex-wrap: wrap; @@ -280,25 +476,44 @@ h1 { .art-info h1 { margin-top: 0; display: inline; + margin-right: 2em; +} + +.art-warning { + margin-bottom: 2em; + padding: .5em; + border: 1px solid var(--border-color); + color: red; } .art-body { margin-bottom: 1em; } -.artlist { +@media(--max-sm) { + .artlist .heading { + padding: 0 0.75em; + } +} + +.artlist ul { max-width: var(--max-width); - margin: 0 auto; + margin: 2em auto; margin-top: .5em; } -.artlist .art-info:not(:first-child) { +.artlist li:not(:first-child) { border-top: 1px solid var(--border-color); } +.artlist .art { + font-weight: bold; + font-size: 120%; +} + .art-date { display: inline-block; - text-align: baseline; + vertical-align: baseline; line-height: 1; white-space: nowrap; color: var(--art-date-color); @@ -306,6 +521,10 @@ h1 { font-variant-numeric: tabular-nums; } +.artlist .art-date { + margin-bottom: .5em; +} + .art-nav { display: flex; flex-direction: row; @@ -313,6 +532,21 @@ h1 { width: 100%; } +.art-nav * { + flex-basis: 30%; +} + +.art-nav *:nth-child(1) { text-align: left; } +.art-nav *:nth-child(2) { text-align: center; } +.art-nav *:nth-child(3) { text-align: right; } + +blockquote { + padding-left: 1em; + display: inline-block; + border-left: .5em solid var(--c-shadow); + font-style: italic; +} + @media (--max-md) { .main.artlist { padding-left: 0; @@ -325,35 +559,64 @@ h1 { } /* faq */ -.faq-index { +/* kb = knowledge base */ +.kb-index { list-style-type: none; padding-left: 0; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: stretch; } -.faq-index li { - font-size: 120%; +.kb-index li { + display: block; + flex: 1 1 15em; + height: 3em; + margin: 1em; +} + +.kb-index li h2 { + margin-top: 0; +} + +.kb-index a { + display: block; + color: var(--text-color); + width: 100%; + height: 100%; +} +.kb-index a h2 { + color: var(--link-color); +} +.kb-index a:hover h2 { + color: var(--link-hover-color); } /* footer */ .footers { /*min-height: 30vh;*/ - margin-top: -11rem; - min-height: 11rem; + margin-top: -17rem; + min-height: 17rem; } .footer { background: var(--jumbotron-bg); color: var(--footer-text-color); width: 100%; - margin-top: 2vh; box-shadow: 0 -3px 5px rgba(150,150,150,.36); - min-height: 9.5rem; + min-height: 15.4rem; + padding: 3em 0; +} + +.footer .fa-fw { + height: 14px; } .footer-container { display: flex; flex-wrap: wrap; - justify-content: space-between; + justify-content: center; align-items: flex-start; margin: 0 auto; } @@ -361,17 +624,17 @@ h1 { .footerchild { margin: 0 2em; margin-top: .5em; + flex-grow: 1; + flex-shrink: 0; } .footerchild:last-child { - margin-bottom: 1em; + margin-bottom: .5em; } -@media (--max-rem) { - .footer-push { - margin-left: auto; - width: max-content; - } +.footer-push { + margin-left: auto; + width: max-content; } footer a { @@ -398,26 +661,50 @@ footer a:hover { padding-left: 30px; } -@media (--max-md) { - .footer { +@media (--max-sm) { + .footer-container { flex-direction: column; } - .footerchild { - width: 100%; - } - .footer-push { margin-left: 0; + width: 100%; } .footerchild ul li:last-child { margin-bottom: .5em; } + .footer-push ul li:last-child { + margin-bottom: .1em; + } + + /* hdn = hidden */ .hdn { display: none; } + .footer { + padding: .5em 0; + } + .footer li a { + line-height: 1.8; + } + .footer-push ul { + display: flex; + flex-wrap: wrap; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; + text-align: center; + } + .footer-push ul li { + display: inline-block; + font-size: 2.5rem; + } + .footerchild ul li img, + .footerchild ul li .fa-fw { + height: 3.5rem; + } } .footer h2, .footer h3 { @@ -440,15 +727,15 @@ footer.copyright { footer.copyright div { display: flex; align-items: center; - height: 1.5rem; - line-height: 1.5rem; + height: 1.6rem; + line-height: 1.6rem; vertical-align: top; } .copyright * { margin: 0; - height: 1.5rem; - line-height: 1.5rem; + height: 1.6rem; + line-height: 1.6rem; } .copyright .fa { @@ -463,6 +750,5 @@ footer.copyright div { } .copyright img { - height: 1.5rem; width: auto; }