/* 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-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;
+ 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: #000;
- 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;
- fkex-wrap: nowrap;
+.navbar a {
+ margin-top: 2px;
+ height: 40px;
}
-.nlink {
- text-decoration: none;
- color: #000;
+.nlogo {
+ height: 40px;
}
/* main */
-
.container {
- margin: 50px 0 0;
- padding: 0;
- width: 100%;
- min-height: 100%;
+ width: 100%;
+ min-height: 98vh;
+ padding-top: 50px;
+ padding-bottom: 11.5rem;
}
.main {
- margin-left: .5em;
- margin-top: 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: 0;
- 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: -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;
+ 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%;
- 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 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;
}
-h3.art {
- margin-bottom: 0;
+.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.art-link {
- margin-top: 0;
+.faq-index li {
+ font-size: 120%;
}
-/* help */
+/* footer */
+.footers {
+ /*min-height: 30vh;*/
+ margin-top: -11rem;
+ min-height: 11rem;
+}
-.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;
+.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;
}
-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-container {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-items: flex-start;
+ margin: 0 auto;
}
-a.hchild:hover,
-a.hchild:active {
- background-color: #eee;
+.footerchild {
+ margin: 0 2em;
+ margin-top: .5em;
+ flex: 1 1 1px;
}
-.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;
+.footerchild:last-child {
+ margin-bottom: 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;
+.footer-push {
+ margin-left: auto;
+ width: max-content;
}
-/* footer */
+footer a {
+ color: var(--footer-link-color);
+}
-.footer {
- background: rgb(238,238,238);
- color: rgba(51,51,51,.9);
- margin-top: 1em;
- 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: start;
- -webkit-align-items: flex-start;
- -ms-flex-align: start;
- align-items: flex-start;
- box-shadow: 0 -3px 5px rgba(150,150,150,.36);
+footer a:hover {
+ color: var(--footer-hover-color);
}
-.footerchild {
- margin-top: .5em;
+.footer h2 {
+ margin-bottom: .1em;
+ display: inline-block;
}
-.footer a {
- color: #000;
+.footerchild ul, .footerchild ul ul {
+ padding-left: 0;
+ margin-left: 10px;
+ margin-right: 10px;
+ list-style-type: none;
}
-.footerchild ul,
.footerchild ul ul {
- margin-left: 10px;
- margin-right: 10px;
- list-style-type: none;
+ padding-left: 30px;
}
-.footerchild ul ul {
- padding-left: 30px;
+@media (--max-md) {
+ .footer-container {
+ flex-direction: column;
+ }
+
+ .footer-push {
+ margin-left: 0;
+ }
+
+ .footerchild ul li:last-child {
+ margin-bottom: .5em;
+ }
+
+ .hdn {
+ display: none;
+ }
}
-@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 h2, .footer h3 {
+ margin-left: 10px;
+ margin-right: 10px;
+}
- .footerchild {
- width: 100%;
- border-bottom: 1px solid rgba(51,51,51,.5);
- }
-
- .footerchild:last-child {
- border: none;
- }
-
- .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: 31px;
- 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;
-}
\ No newline at end of file
+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.5rem;
+ line-height: 1.5rem;
+ vertical-align: top;
+}
+
+.copyright * {
+ margin: 0;
+ height: 1.5rem;
+ line-height: 1.5rem;
+}
+
+.copyright .fa {
+ height: 100%;
+ vertical-align: top;
+ font-size: 1.4em;
+}
+
+.copyright .footer-link {
+ height: 28px;
+ margin-right: .5em;
+}
+
+.copyright img {
+ height: 1.5rem;
+ width: auto;
+}