]> jfr.im git - irc/freenode/web-7.0.git/blobdiff - static/css/style.css
highlight all code blocks on registration page
[irc/freenode/web-7.0.git] / static / css / style.css
index bd4ed3345036f68d7220e329a4322c20199de156..a13b4ee5e16e0e0c543eecbbc66ebdb6e730ac4a 100644 (file)
 /* vars */
-
 :root {
-  /*--jumbotron-bg: 15,75,14;*/
-  /*--jumbotron-bg: rgba(75,235,74,.4);*/
-  /*--footer-link-color: 255,255,255;*/
-  /*--footer-text-color: 255,255,255;*/
-  /*--footer-border-color: 255,255,255;*/
-}
+    --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:    var(--c-dark);
+    --jumbotron-bg: var(--c-bg-dark);
+    --copyright-bg: var(--c-dark);
+
+    /* link colors */
+    --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:           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:    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;
+    --margin-box-fa: 5px;
+}
+@custom-media --max-sm all and (max-width: 600px);
+@custom-media --max-md all and (max-width: 800px);
+@custom-media --max-rem all and (max-width: 60rem);
 
 /* reset css for browser compat */
-
 * {
-  margin: 0;
-  padding: 0;
-  box-sizing: border-box;
+    margin: 0;
+    padding: 0;
+    box-sizing: border-box;
 }
 
 /* global */
-
 body {
-  font-family: 'Open Sans';
-  color: #333;
-  font-size: 14px;
-  min-height: 100vh;
-  height: auto;
+    font-family: 'Open Sans', sans-serif;
+    font-feature-settings: "lnum";
+    font-variant-numeric: lining-nums;
+    color: var(--text-color);
+    font-size: 14px;
+    min-height: 100vh;
+    height: auto;
+}
+
+.invisible {
+    display: none;
 }
 
 a {
-  color: rgb(66,139,202);
-  text-decoration: none;
+    color: var(--link-color);
+    text-decoration: none;
 }
 
-/* navbar */
+a:hover {
+    color: var(--link-hover-color);
+}
+img {
+    max-width: 100%;
+}
 
+/* navbar */
 .navbar {
-  width: 100%;
-  height: 50px;
-  background-color: #fff;
-  position: fixed;
-  left: 0;
-  right: 0;
-  top: 0;
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-flex-wrap: nowrap;
-  -ms-flex-wrap: nowrap;
-  flex-wrap: nowrap;
-  -webkit-box-pack: justify;
-  -webkit-justify-content: space-between;
-  -ms-flex-pack: justify;
-  justify-content: space-between;
-  -webkit-box-align: center;
-  -webkit-align-items: center;
-  -ms-flex-align: center;
-  align-items: center;
-  border-bottom: 1px solid rgba(0,0,0,.3);
-  z-index: 100;
-}
-
-.nlogo {
-  height: 40px;
-}
-
-.navlinks {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-justify-content: space-around;
-  -ms-flex-pack: distribute;
-  justify-content: space-around;
-  -webkit-flex-wrap: nowrap;
-  -ms-flex-wrap: nowrap;
-  flex-wrap: nowrap;
-}
-
-.nlink {
-  text-decoration: none;
-  color: #000;
+    color: var(--c-light);
+    width: 100%;
+    height: 50px;
+    background-color: var(--navbar-bg);
+    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.5);
+    position: fixed;
+    left: 0;
+    right: 0;
+    top: 0;
+    display: flex;
+    flex-wrap: nowrap;
+    justify-content: space-between;
+    align-items: center;
+    border-bottom: 1px solid var(--border-color);
+    z-index: 100;
+    padding-right: 5px;
+}
+
+@media (--max-sm) {
+    .navbar {
+        position: absolute;
+    }
+}
+
+.navbar a {
+    margin-top: 2px;
+    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;
+}
+
+#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;
+}
+
+#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 {
-  padding: 50px 0 0;
-  width: 100%;
-  min-height: 68vh;
+    width: 100%;
+    min-height: 100vh;
+    padding-top: 50px;
+    padding-bottom: 17.5rem;
 }
 
 .main {
-  margin-left: .5em;
-  margin-top: 1em;
-  margin-bottom: 1em;
+    margin: 2em auto;
+    padding: 0 .75em;
+    max-width: var(--max-width);
+    line-height: 1.8;
 }
 
-/* jumbotron */
+.main h1,
+.main h2,
+.main h3,
+.main h4,
+.main h5,
+.main h6,
+.main li,
+.main pre,
+.main p,
+.main blockquote {
+    margin-top: .7em;
+}
+
+.artlist li {
+    margin-top: 0;
+}
+
+.main h1 + p,
+.main h2 + 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;
-  background: #000;
-  background: rgb(238,238,238);
-  box-shadow: 0 3px 5px rgba(150,150,150,.36);
-  color: #333;
+    position: relative;
+    width: 100%;
+    margin-top: -50px;
+    background: var(--jumbotron-bg);
+    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.6);
+    color: var(--jumbotron-text-color);
+    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 {
-  text-align: center;
-  margin: .5em;
-  font-size: 32px;
-  line-height: 48px;
+    text-align: center;
+    margin: .5em auto;
+    font-size: 32px;
+    line-height: 48px;
+    max-width: 75%;
 }
 
 .box-container {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-flex-wrap: wrap;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  -webkit-justify-content: space-around;
-  -ms-flex-pack: distribute;
-  justify-content: space-around;
-  -webkit-box-align: stretch;
-  -webkit-align-items: stretch;
-  -ms-flex-align: stretch;
-  align-items: stretch;
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: space-around;
+    align-items: stretch;
+    max-width: var(--max-width-box);
+    margin: 0 auto;
 }
 
 .box {
-  text-align: center;
-  text-decoration: none;
-  color: #333;
-  margin-bottom: 5px;
-  -webkit-flex-basis: 30%;
-  -ms-flex-preferred-size: 30%;
-  flex-basis: 30%;
-  /* border: 1px solid rgba(var(--border-color), 0.39); */
-  background-color: #fff;
-  border-radius: 10px;
-  -webkit-border-radius: 10px;
-  -moz-border-radius: 10px;
+    text-align: center;
+    text-decoration: none;
+    color: var(--jumbotron-text-color);
+    margin-bottom: 5px;
+    flex-basis: 30%;
+    min-width: 26%;
+    background-color: var(--box-color);
+    border-radius: var(--box-round);
+    padding: 1em;
+}
+
+.box:hover,.box:active {
+    color: var(--jumbotron-text-color);
+    background-color: var(--box-hover-color);
 }
 
-.box:hover,
-.box:active {
-  background-color: #eee;
+.box span {
+    position: relative;
+    top: initial;
+    font-size: 20px;
+    font-weight: 600;
+    line-height: 16px;
+    display: block;
+    margin-top: .75em;
 }
 
+/* fa = font awesome */
 .fa-users {
-  margin-top: 5px;
+    margin-top: var(--margin-box-fa);
 }
 
-.fa-comment,
-.fa-question {
-  margin-bottom: 5px;
+.fa-comments,.fa-question {
+    margin-bottom: var(--margin-box-fa);
 }
 
 .title {
-  text-align: center;
+    text-align: center;
+}
+
+@media (--max-md) {
+    .box {
+        text-align: center;
+    }
+
+    .child {
+        font-size: 20px;
+        line-height: 30px;
+        padding: 10px 0 5px;
+    }
+
+    .fa-4x {
+        padding: 0;
+        margin: 0;
+        width: 60px;
+        text-align: center;
+        font-size: 28px;
+    }
+
+    .box-container {
+        flex-direction: column;
+        margin: 0 .5em;
+    }
+
+    .box span {
+        font-size: 22px;
+        line-height: 22px;
+        padding-left: 8px;
+        font-weight: bold;
+        position: relative;
+        display: inline-block;
+        text-align: center;
+        margin-top: 0;
+    }
+
+    .box {
+        text-align: left;
+        border-radius: calc(var(--box-round) / 2);
+        margin: 5px 0;
+    }
+}
+
+/* articles */
+h1 {
+    margin: 0;
+}
+/* art = article */
+.artlist ul {
+    padding: 0;
+    list-style-type: none;
 }
 
-/* articles feed */
+.art-info {
+    display: flex;
+    flex-direction: row;
+    flex-wrap: wrap;
+    justify-content: space-between;
+    align-items: baseline;
+}
 
-h1 {
-  margin: 0;
+.art-info h1 {
+    margin-top: 0;
+    display: inline;
+    margin-right: 2em;
 }
 
-div.art {
-  border-bottom: 1px solid rgba(0,0,0,.3);
+.art-warning {
+    margin-bottom: 2em;
+    padding: .5em;
+    border: 1px solid var(--border-color);
+    color: red;
 }
 
-div.art:last-child {
-  border-bottom: none;
+.art-body {
+    margin-bottom: 1em;
 }
 
-b.art {
-  margin-bottom: 0;
-  font-size: 18px;
+@media(--max-sm) {
+    .artlist .heading {
+        padding: 0 0.75em;
+    }
 }
 
-p.art {
-  margin: 0;
+.artlist ul {
+    max-width: var(--max-width);
+    margin: 2em auto;
+    margin-top: .5em;
 }
 
-p.art-ingress {
-  font-style: italic;
-  margin: 0;
+.artlist li:not(:first-child) {
+    border-top: 1px solid var(--border-color);
+}
+
+.artlist .art {
+    font-weight: bold;
+    font-size: 120%;
 }
 
 .art-date {
-  color: #ccc;
-  margin: 0;
+    display: inline-block;
+    vertical-align: baseline;
+    line-height: 1;
+    white-space: nowrap;
+    color: var(--art-date-color);
+    font-feature-settings: "tnum";
+    font-variant-numeric: tabular-nums;
+}
+
+.artlist .art-date {
+    margin-bottom: .5em;
 }
 
-p.heading {
-  white-space: nowrap;
+.art-nav {
+    display: flex;
+    flex-direction: row;
+    justify-content: space-between;
+    width: 100%;
 }
 
-p.art-link {
-  margin-top: 0;
+.art-nav * {
+    flex-basis: 30%;
 }
 
-/* help */
+.art-nav *:nth-child(1) { text-align: left; }
+.art-nav *:nth-child(2) { text-align: center; }
+.art-nav *:nth-child(3) { text-align: right; }
 
-.hmain {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-flex-wrap: wrap;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  -webkit-justify-content: space-around;
-  -ms-flex-pack: distribute;
-  justify-content: space-around;
-  -webkit-box-align: stretch;
-  -webkit-align-items: stretch;
-  -ms-flex-align: stretch;
-  align-items: stretch;
+blockquote {
+    padding-left: 1em;
+    display: inline-block;
+    border-left: .5em solid var(--c-shadow);
+    font-style: italic;
 }
 
-a.hchild {
-  color: #333;
-  /*height: 40px;*/
-  width: 95%;
-  text-align: center;
-  border-top: 1px solid rgba(0,0,0,.6);
-  border-left: 1px solid rgba(0,0,0,.6);
-  border-right: 1px solid rgba(0,0,0,.6);
+@media (--max-md) {
+    .main.artlist {
+        padding-left: 0;
+        padding-right: 0;
+    }
+
+    .artlist .art-info {
+        padding: 0 .75em;
+    }
 }
 
-a.hchild:hover,
-a.hchild:active {
-  background-color: #eee;
+/* faq */
+/* kb = knowledge base */
+.kb-index {
+    list-style-type: none;
+    padding-left: 0;
+    display: flex;
+    flex-direction: row;
+    flex-wrap: wrap;
+    justify-content: stretch;
 }
 
-.hchild:first-child {
-  margin-top: 10px;
-  -webkit-border-top-left-radius: 10px;
-  -webkit-border-top-right-radius: 10px;
-  -moz-border-radius-topleft: 10px;
-  -moz-border-radius-topright: 10px;
-  border-top-left-radius: 10px;
-  border-top-right-radius: 10px;
+.kb-index li {
+    display: block;
+    flex: 1 1 15em;
+    height: 3em;
+    margin: 1em;
 }
 
-.hchild:last-child {
-  margin-bottom: 10px;
-  border-bottom: 1px solid rgba(0,0,0,.6);
-  -webkit-border-bottom-right-radius: 10px;
-  -webkit-border-bottom-left-radius: 10px;
-  -moz-border-radius-bottomright: 10px;
-  -moz-border-radius-bottomleft: 10px;
-  border-bottom-right-radius: 10px;
-  border-bottom-left-radius: 10px;
+.kb-index li h2 {
+    margin-top: 0;
 }
 
-/* footer */
+.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;
+    /*min-height: 30vh;*/
+    margin-top: -17rem;
+    min-height: 17rem;
 }
 
 .footer {
-  background: rgb(238,238,238);
-  color: rgba(51,51,51,.9);
-  margin-top: 2vh;
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-flex-wrap: nowrap;
-  -ms-flex-wrap: nowrap;
-  flex-wrap: nowrap;
-  min-height: 27vh;
-  -webkit-box-pack: justify;
-  -webkit-justify-content: space-between;
-  -ms-flex-pack: justify;
-  justify-content: space-between;
-  -webkit-box-align: start;
-  -webkit-align-items: flex-start;
-  -ms-flex-align: start;
-  align-items: flex-start;
-  box-shadow: 0 -3px 5px rgba(150,150,150,.36);
+    background: var(--jumbotron-bg);
+    color: var(--footer-text-color);
+    width: 100%;
+    box-shadow: 0 -3px 5px rgba(150,150,150,.36);
+    min-height: 15.4rem;
+    padding: 3em 0;
 }
 
-.footerchild {
-  margin-top: .5em;
+.footer .fa-fw {
+    height: 14px;
 }
 
-.footer a {
-  color: #000;
+.footer-container {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: center;
+    align-items: flex-start;
+    margin: 0 auto;
 }
 
-.footer h2 {
-  margin-bottom: 9px;
-  display: inline-block;
+.footerchild {
+    margin: 0 2em;
+    margin-top: .5em;
+    flex-grow: 1;
+    flex-shrink: 0;
 }
 
-.footerchild ul,
-.footerchild ul ul {
-  margin-left: 10px;
-  margin-right: 10px;
-  list-style-type: none;
+.footerchild:last-child {
+    margin-bottom: .5em;
 }
 
-.footerchild ul ul {
-  padding-left: 30px;
+.footer-push {
+    margin-left: auto;
+    width: max-content;
 }
 
-@media all and (max-width: 500px) {
-  .footer {
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-    -webkit-flex-direction: column;
-    -ms-flex-direction: column;
-    flex-direction: column;
-  }
+footer a {
+    color: var(--footer-link-color);
+}
 
-  .footerchild {
-    width: 100%;
-  }
+footer a:hover {
+    color: var(--footer-hover-color);
 }
 
-.footerchild ul li:last-child {
-  margin-bottom: .5em;
+.footer h2 {
+    margin-bottom: .1em;
+    display: inline-block;
+}
+
+.footerchild ul, .footerchild ul ul {
+    padding-left: 0;
+    margin-left: 10px;
+    margin-right: 10px;
+    list-style-type: none;
 }
 
-.hdn {
-  display: none;
-}
\ No newline at end of file
+.footerchild ul ul {
+    padding-left: 30px;
+}
+
+@media (--max-sm) {
+    .footer-container {
+        flex-direction: column;
+    }
+
+    .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 {
+    margin-left: 10px;
+    margin-right: 10px;
+}
+
+footer.copyright {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: space-between;
+    background: var(--copyright-bg);
+    min-height: 1.5rem;
+    color: var(--copyright-text-color);
+    padding-left: .5em;
+    padding-right: .5em;
+    overflow: hidden;
+}
+
+footer.copyright div {
+    display: flex;
+    align-items: center;
+    height: 1.6rem;
+    line-height: 1.6rem;
+    vertical-align: top;
+}
+
+.copyright * {
+    margin: 0;
+    height: 1.6rem;
+    line-height: 1.6rem;
+}
+
+.copyright .fa {
+    height: 100%;
+    vertical-align: top;
+    font-size: 1.4em;
+}
+
+.copyright .footer-link {
+    height: 28px;
+    margin-right: .5em;
+}
+
+.copyright img {
+    width: auto;
+}