]> jfr.im git - irc/freenode/web-7.0.git/blobdiff - static/css/style.css
Images transferred
[irc/freenode/web-7.0.git] / static / css / style.css
index 5752aac3ceb00e752542fc884b141c7dc2f4a831..567f9ea857a072576c6458191a93f2279ac6ecfd 100644 (file)
 /* vars */
+:root {
+    --c-dark:     #292f2f;
+    --c-bg-dark:  #3a4346;
+    --c-bg-light: #4c5456;
+    --c-light:    #ecf7fa;
+    --c-hl-dark:  #008499;
+    --c-hl-light: #3baec4;
+
+    /* 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';
+    font-feature-settings: "lnum";
+    font-variant-numeric: lining-nums;
+    color: var(--text-color);
+    font-size: 14px;
+    min-height: 100vh;
+    height: auto;
 }
 
 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;
+    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;
 }
 
-.nlogo {
-  height: 40px;
+@media (--max-sm); {
+    .navbar {
+        position: absolute;
+    }
 }
 
-.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;
+.navbar a {
+    margin-top: 2px;
+    height: 40px;
 }
 
-.nlink {
-  text-decoration: none;
-  color: #000;
+.nlogo {
+    height: 40px;
 }
 
 /* main */
-
 .container {
-  padding: 50px 0 0;
-  width: 100%;
-  min-height: 68vh;
+    width: 100%;
+    min-height: 98vh;
+    padding-top: 50px;
+    padding-bottom: 11.5rem;
 }
 
 .main {
-  margin-left: .5em;
-  margin-top: 1em;
-  margin-bottom: 1em;
+    margin: 0 auto;
+    margin-top: .75em;
+    padding: 0 .75em;
+    max-width: var(--max-width);
+    line-height: 1.4;
 }
 
-/* jumbotron */
+.main h1,
+.main h2,
+.main h3,
+.main h4,
+.main li,
+.main pre,
+.main p {
+    margin-top: .7em;
+}
 
+.main h1 + p,
+.main h2 + p,
+.main h3 + p,
+.main h3 + p {
+    margin-top: 0;
+}
+
+ul {
+    padding-left: 2em;
+    list-style-type: disc;
+}
+
+hr {
+    margin-top: .8em;
+    margin-bottom: .8em;
+}
+
+/* jumbotron */
 .jumbotron {
-  position: relative;
-  width: 100%;
-  margin-top: -16px;
-  background: #000;
-  background: #eee;
-  box-shadow: 0 3px 5px rgba(150,150,150,.36);
-  color: #333;
+    position: relative;
+    width: 100%;
+    margin-top: -16px;
+    background: var(--jumbotron-bg);
+    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.6);
+    color: var(--jumbotron-text-color);
+    padding: 2em 0;
 }
 
 .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 {
-  background-color: #ddd;
+.box:hover,.box:active {
+    color: var(--jumbotron-text-color);
+    background-color: var(--box-hover-color);
+}
+
+.box div{
+    position: relative;
+    top: initial;
+    font-size: 20px;
+    font-weight: 600;
+    line-height: 16px;
+    display: block;
+    margin-top: .75em;
 }
 
 .fa-users {
-  margin-top: 5px;
+    margin-top: var(--margin-box-fa);
 }
 
-.fa-comment,
-.fa-question {
-  margin-bottom: 5px;
+.fa-comment,.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 div {
+        font-size: 22px;
+        line-height: 22px;
+        padding-left: 8px;
+        font-weight: 700;
+        position: relative;
+        display: inline;
+        text-align: center;
+    }
+
+    .box {
+        text-align: left;
+        border-radius: calc(var(--box-round) / 2);
+        margin: 5px 0;
+    }
+}
+
+/* articles */
+h1 {
+    margin: 0;
 }
 
-/* articles feed */
+.art-info {
+    line-height: 1.6;
+    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;
 }
 
-div.art {
-  border-bottom: 1px solid rgba(0,0,0,.3);
+.art-body {
+    margin-bottom: 1em;
 }
 
-div.art:last-child {
-  border-bottom: none;
+.artlist {
+    max-width: var(--max-width);
+    margin: 0 auto;
+    margin-top: .5em;
 }
 
-b.art {
-  margin-bottom: 0;
-  font-size: 18px;
+.artlist .art-info:not(:first-child) {
+    border-top: 1px solid var(--border-color);
 }
 
-p.art {
-  margin: 0;
+.art-date {
+    display: inline-block;
+    text-align: baseline;
+    line-height: 1;
+    white-space: nowrap;
+    color: var(--art-date-color);
+    font-feature-settings: "tnum";
+    font-variant-numeric: tabular-nums;
+}
+
+.art-nav {
+    display: flex;
+    flex-direction: row;
+    justify-content: space-between;
+    width: 100%;
 }
 
-p.art-ingress {
-  font-style: italic;
-  margin: 0;
+@media (--max-md) {
+    .main.artlist {
+        padding-left: 0;
+        padding-right: 0;
+    }
+
+    .artlist .art-info {
+        padding: 0 .75em;
+    }
 }
 
-.art-date {
-  color: #ccc;
-  margin: 0;
+/* faq */
+.faq-index {
+    list-style-type: none;
+    padding-left: 0;
 }
 
-p.heading {
-  white-space: nowrap;
+.faq-index li {
+    font-size: 120%;
 }
 
-p.art-link {
-  margin-top: 0;
+/* footer */
+.footers {
+    /*min-height: 30vh;*/
+    margin-top: -11rem;
+    min-height: 11rem;
 }
 
-/* Article */
+.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;
+}
 
-.art-full h1,
-.art-full h2,
-.art-full h3,
-.art-full h4 {
-  margin-top: 0.5em;
+.footer-container {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: space-between;
+    align-items: flex-start;
+    margin: 0 auto;
 }
 
-/* help */
+.footerchild {
+    margin: 0 2em;
+    margin-top: .5em;
+    flex: 1 1 1px;
+}
 
-.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;
+.footerchild:last-child {
+    margin-bottom: 1em;
 }
 
-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);
+.footer-push {
+    margin-left: auto;
+    width: max-content;
 }
 
-a.hchild:hover,
-a.hchild:active {
-  background-color: #ddd;
+footer a {
+    color: var(--footer-link-color);
 }
 
-.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;
+footer a:hover {
+    color: var(--footer-hover-color);
 }
 
-.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;
+.footer h2 {
+    margin-bottom: .1em;
+    display: inline-block;
 }
 
-/* footer */
+.footerchild ul, .footerchild ul ul {
+    padding-left: 0;
+    margin-left: 10px;
+    margin-right: 10px;
+    list-style-type: none;
+}
 
-.footers {
-  min-height: 30vh;
+.footerchild ul ul {
+    padding-left: 30px;
 }
 
-.footer {
-  background: #eee;
-  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);
+@media (--max-md) {
+    .footer-container {
+        flex-direction: column;
+    }
+
+    .footer-push {
+        margin-left: 0;
+    }
+
+    .footerchild ul li:last-child {
+        margin-bottom: .5em;
+    }
+
+    .hdn {
+        display: none;
+    }
 }
 
-.footerchild {
-  margin-top: .5em;
+.footer h2, .footer h3 {
+    margin-left: 10px;
+    margin-right: 10px;
 }
 
-.footer a {
-  color: #000;
+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 h2 {
-  margin-bottom: 9px;
-  display: inline-block;
+footer.copyright div {
+    display: flex;
+    align-items: center;
+    height: 1.5rem;
+    line-height: 1.5rem;
+    vertical-align: top;
 }
 
-.footerchild ul,
-.footerchild ul ul {
-  margin-left: 10px;
-  margin-right: 10px;
-  list-style-type: none;
+.copyright * {
+    margin: 0;
+    height: 1.5rem;
+    line-height: 1.5rem;
 }
 
-.footerchild ul ul {
-  padding-left: 30px;
+.copyright .fa {
+    height: 100%;
+    vertical-align: top;
+    font-size: 1.4em;
 }
 
-@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;
-  }
+.copyright .footer-link {
+    height: 28px;
+    margin-right: .5em;
+}
 
-  .footerchild {
-    width: 100%;
-  }
-
-  .footerchild ul li:last-child {
-    margin-bottom: .5em;
-  }
-
-  .hdn {
-    display: none;
-  }
-}
-
-.footer h2,
-.footer h3 {
-  margin-left: 10px;
-  margin-right: 10px;
-}
-
-.copyright {
-  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;
-  background: rgba(170,178,171,.5);
-  height: 3vh;
-  color: rgba(0,0,0,.8);
-}
-
-a.copyright {
-  background: rgba(170,178,171,.5);
-  margin-bottom: 0;
-  margin-top: 0;
-  margin-left: .5em;
-  margin-right: .5em;
-  width: auto;
-  height: auto;
-}
-
-.copyright a img {
-  height: 3vh;
-  width: auto;
-}
-
-.copyright p {
-  margin-bottom: 0;
-  margin-top: 0;
-  margin-left: .5em;
-  margin-right: .5em;
-  text-align: right;
-}
-
-@media all and (max-width: 500px) {
-  .copyright {
-    height: 5vh;
-  }
-
-  .copyright a img {
-    height: 5vh;
-  }
-}
\ No newline at end of file
+.copyright img {
+    height: 1.5rem;
+    width: auto;
+}