:root {
	--fground: #000000;
	--mground: #f5f5f5;
	--bground: #ffffff;
	--brand: #dd3333;
	--border: .1rem solid var(--brand);
	--normal: 400;
	--bold: 700;
}

* { margin:0; padding: 0; border: 0; outline: none; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 62.5%; background-color: var(--mground); }
body { width: 100%; max-width: 64rem; margin: 0 auto; font-family: 'Lora', serif; font-size: 1.6rem; background: var(--bground); font-weight: var(--normal); color: var(--fground); }
body > * { padding: 1rem; }

ul { list-style: none; }
li {  }
p { padding: 1rem; line-height: 1.6; }
img { max-width: 100%; height: auto; }
pre { padding: 1rem; margin: 1rem; }

a { color: var(--brand); text-decoration: none; }
a:hover, a:active, a:focus { color: var(--fground); }

h1 { font-size: 3.2rem; font-weight: bold; padding: 1rem; text-align: center; text-transform: uppercase; }
h2 { text-transform: uppercase; font-size: 1.8rem; font-weight: var(--normal); padding: 1rem; text-align: center; }
h3 { font-size: 2rem; margin: 0 auto; padding: 1rem; }

hr { width: 33.33%; height: .1rem; border: 0; background: var(--brand); margin: 1rem auto; }

nav { position: sticky; top: 0; left: 0; width: 100%; background: var(--mground); border-bottom: .1rem solid var(--brand); }
nav ul { display: flex; flex-direction: column; align-items: center; justify-content: space-evenly; font-size: 2.4rem; font-weight: var(--bold); margin: 0 auto; position: absolute; top: -100vh; height: calc(100vh - 5rem); width: 100%; padding: 1rem; margin-left: -1rem; background: var(--mground); text-align: center; }
nav ul li { padding: 1rem; width: 100%; }
nav ul li a { padding: 1rem; display: block;  }
nav input { display: none; }
nav label { display: grid; place-items: center; height: 3rem; width: 3rem; margin: auto; cursor: pointer; font-family: "LineIcons"; }
nav label span { }
nav label span::before { font-size: 2.8rem; content: "\eb2a"; }
nav input[type=checkbox]:checked ~ label span::before { font-size: 2.8rem; content: "\ea6a"; }
nav input[type=checkbox]:checked ~ ul { top: 5rem; }

header { text-align: center; border-bottom: var(--border); }
header img { width: 32rem; }
header .brand { display: block; }
header .description { padding: 0; font-size: 1.4rem; letter-spacing: .2rem; text-transform: uppercase; }

main { font-size: 1.8rem; }
main small { font-size: 1.2rem; }
main ul { list-style: none; padding: 1rem; }
main ul li { margin-bottom: 1rem; }
main ul li a { padding: 1rem 2rem; display: block; color: var(--fground); border: var(--border); border-color: var(--bground); background-color: var(--mground); }
main ul li a:hover, main ul li a:active, main ul li a:focus  { border-color: var(--brand); background-color: var(--bground);}
main ul li a span { display: block; width: 100%; padding: .5rem 0; }
main ul li a i { color: var(--mground); text-align: right; display: block; width: 100%; line-height: 1.2rem; font-size: 1.2rem; text-transform: uppercase; height: 1.2rem; }
main ul li a small { color: var(--mground); text-align: right; font-weight: bold; display: block; width: 100%; line-height: 1.2rem; font-size: 1.2rem; height: 1.2rem; }
main ul li a:hover small, main ul li a:active small, main ul li a:focus small { color: var(--brand); }
main ul li a:hover i, main ul li a:active i, main ul li a:focus i { color: var(--fground); }

div.ads { padding: 1rem; display: grid; place-items: center; }

footer { padding: 1rem; margin-top: 1rem; border-top: var(--border); text-align: center; }
footer ul { font-size: 1.8rem; padding: 1rem; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
footer ul li { width: 6rem; height: 6rem; display: grid; place-items: center; background: var(--mground); margin: 1rem; }
footer ul li a { display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 3rem; }
footer ul li a i { padding: 1rem;}
footer ul li a span { font-size: 0; }
footer small { margin: 0 auto; padding: 1rem; }

ul.social { font-size: 1.6rem; display: flex; flex-direction: row; justify-content: center; align-items: center; padding: 1rem 0;}
ul.social li { margin: 0 1rem; }

.cta { background: var(--brand); color: var(--bground); padding: 1rem; margin: .5rem auto; display: inline-block; font-size: 2.4rem; border-radius: .5rem; border: var(--border); text-align: center; }

li.issue-none { display: none; }
li.section-none { display: none; }