:root {
  font-family: Palatino, Palatino Linotype, Palatino LT STD, Papyrus, Comic Sans MS, Chalkboard, cursive;
  font-size: 16px;
  line-height: 1.5em;
}
::selection {
	color: #444;
	background: #f8f8f8;
}

html, body { height:100%; margin:0; padding: 0; outline: 0; background-color: #212121; color:#f8f8f8; font-family: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: inherit; color:#f8f8f8; border-bottom: 2px solid #3a3a3a; padding-right: 35px; padding-bottom: 15px; display: inline-block; }
.h1,h1 { font-size: 4rem; font-weight: 100; line-height: 1.1; margin-bottom:15px; margin-top:0; }
.h2,h2 { font-size: 3rem }
p { font-size:1.25rem; line-height:2.25rem;  }

section { position:relative; padding-right:1rem; padding-left:1rem }
img{ max-width:100% }
b, strong{ font-weight:700; }
ol,ul{ margin-left:1.6rem }
ol ol,ol ul,ul ol,ul ul{ margin-left:1.6rem }
ul{ list-style:disc outside }
ol{ list-style:decimal outside }

a, a:visited, a:focus, a:hover { color: #eaeaea; text-decoration: none; position: relative; }
a:focus{ outline:0!important; box-shadow:none!important }

main {
  max-width:900px;
  padding:2rem 1rem;
  margin:0 auto;
  height: 100vh;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}

main a::before {
  content: '';
  display: block;
  width: 100%;
  height: 0px;
  border-bottom: 2px dotted #3a3a3a;
  z-index: 1;
  position: absolute;
  bottom: -2px;
  left: 0;
}
main a::after {
  content: '';
  display: block;
  width: 0;
  height: 1px;
  background: #bda;
  transition: width .2s ease-in;
  z-index: 2;
  position: absolute;
  bottom: -2px;
  left: 0;
}
main a:hover::after { width: 100%; }

/*#page-wrapper:before { content: ""; position: fixed; bottom:60px; left:0; width: 60px; height:0; border-top: 1px solid #3a3a3a;  }
#page-wrapper:after { content: ""; position: fixed; bottom:40px; left:65px; width: 60px; height:0; border-top: 1px solid #3a3a3a;  }*/

header { 
	position: fixed;
	z-index: 9999;
	right: 0;
	top: 0; 
	height: 100vh;
	width: 65px;
	padding: 0;
}
header:before { content:""; border-left: 2px solid #3a3a3a; width: 0; height: 325px; position: absolute; bottom:0; left: 0; }
header > section { height: 100%; padding:0 }
header nav { 
    color: #fff;
    padding: .7rem;
    margin: 0;
    line-height: 50px;
    transform: translate(100%, 0) rotate(-90deg); 
    transform-origin: bottom left; 
    position: absolute;
    bottom: 0;
    right: 5px;
    flex-wrap: nowrap;
    align-items: flex-end;
    box-sizing: border-box;
    padding: 0 0 0 5rem;
    display: flex;
}
header nav .logo { font-size: 1.5rem; }

header nav ul { list-style: none; padding: 0; margin: 0 20px 0 60px; display:flex; }
header nav ul li { margin: 0 25px 0 0; }
header nav ul a i { transform: rotate(90deg); color:white; font-size: 24px; }

@media (max-width: 1024px) {
  section#body-wrapper { padding-right: 3.5rem; }
}

.title-h1h2 h1 { margin-bottom: 15px; }

.bricklayer-column-sizer { width: 100%; }
.blog-listing .card { background: transparent; color: inherit; box-shadow: none; border-radius: 0; border-bottom: 2px solid #3a3a3a; }
.blog-listing .card .card-header, .blog-listing .card .card-body, .blog-listing .card .card-footer { padding: 0 }
.blog-listing .card .card-title > * { border: 0 }

#item .blog-meta { display: block; margin-top: -25px }