* {
    margin: 0;
    padding: 0;
}

/* MAIN */

body {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    font-weight: 200;
    line-height: 27px;
}

a {
    color: inherit;
    text-decoration: none;
    -webkit-transition: all 0.34s ease-out;
    -moz-transition: all 0.34s ease-out;
    -o-transition: all 0.34s ease-out;
    transition: all 0.34s ease-out;
}

/* SITE TITLE */

#site {
    margin: 30px auto;
    text-align: center;
    text-transform: uppercase;
    display: table;
}

#site h1 {
    font-family: 'Anton', sans-serif;
    font-size: 48px;
    font-weight: normal;
    line-height: 100%;
    letter-spacing: 0.01em;
}

#site #slogan {
    margin-top: 12px;
    padding: 5px;
    font-size: 11px;
    font-weight: 300;
    line-height: 100%;
    letter-spacing: 0.1em;
    display: block;
}

#site #slogan span {
    display: inline-flex;
    vertical-align: middle;
    position: relative;
}

#site #slogan span::before, #site #slogan span::after, aside .sidebox h4.sidetitle::before, aside .sidebox h4.sidetitle::after, #latest h4::before, #latest h4::after {
    content: '\f005';
    margin-right: 15px;
    font-family: 'Font Awesome 5 Free';
    font-size: 6px;
    font-weight: 900;
    display: inline-block;
}

#site #slogan span::after, aside .sidebox h4.sidetitle::after, #latest h4::after {
    margin-left: 15px;
    margin-right: 0;
}

#welcome, footer #disc {
    margin: 0 auto 30px auto;
    max-width: 1180px;
    line-height: 24px;
    text-align: justify;
    text-align-last: center;
    letter-spacing: 0.01em;
}

/* HEADER */

header {
    width: 100%;
    height: 440px;
    background-position: center bottom;
    background-repeat: no-repeat;
}

/* MENU */

nav, footer #cred {
    padding: 10px 20px;
    font-family: 'Anton', sans-serif;
    font-size: 18px;
    line-height: 100%;
    text-transform: uppercase;
    box-sizing: border-box;
    display: block;
}

nav ul.menu, footer #cred ul {
    margin: 0;
    padding: 0;
    text-align: center;
    list-style-type: none;
}

nav ul.menu li, footer #cred ul li {
    margin: 0 3vw;
    padding: 10px 0;
    display: inline-block;
    position: relative;
}

nav ul.menu li a, footer #cred ul li a {
    letter-spacing: 0.01em;
    text-decoration: none;
}

nav ul.menu li.menu-item-has-children a:not(:only-child)::after {
	content: '';
	margin: 0 0 2px 10px;
	padding: 2px;
	border-width: 0 2px 2px 0;
	border-style: solid;
	display: inline-block;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

nav ul.menu li .sub-menu {
    display: none;
    width: max-content;
    max-width: 25vw;
    position: absolute;
    top: 100%; left: 0;
    margin: 0; padding: 0 15px;
    font-size: 16px;
    box-sizing: border-box;
    border-width: 2px;
    border-style: solid;
    list-style-type: none;
    z-index: 50;
}

nav ul.menu > li.menu-item-has-children:hover > .sub-menu, nav li.menu-item-has-children .sub-menu > li.menu-item-has-children:hover .sub-menu {
	display: block;
}

nav ul.menu li .sub-menu li {
    margin: 0;
	padding: 15px 0;
    text-align: left;
    border-width: 0 0 2px 0;
	border-style: solid;
	display: block;
}

nav ul.menu li .sub-menu li:last-child {
    border-bottom: none;
}

#show-menu {
    text-align: left;
    cursor: pointer;
    display: none;
}

#show-menu i {
    margin-top: 3px;
    margin-right: 15px;
    font-size: 12px;
    float: left;
}

/* SIDEBAR */

aside {
    min-width: 340px;
    max-width: 340px;
}

aside .sidebox {
    margin-bottom: 40px;
    text-align: justify;
    display: block;
}

aside .sidebox h4.sidetitle {
    margin-bottom: 20px;
    padding: 10px;
    font-family: 'Anton', sans-serif;
    font-size: 18px;
    font-weight: normal;
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    box-sizing: border-box;
    position: relative;
    display: block;
}

aside .sidebox h4.sidetitle::before, #latest h4::before {
    float: left;
}

aside .sidebox h4.sidetitle::after, #latest h4::after {
    float: right;
}

/* PROJECTS */

aside .sidebox .proj {
    margin: 0 auto 20px auto;
    display: block;
}

aside .sidebox .proj img {
    margin: 0; padding: 0;
    max-width: 100%;
    vertical-align: bottom;
    border: none;
}

aside .sidebox .proj .tbox {
    padding: 20px;
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;
    box-sizing: border-box;
    display: block;
}

aside .sidebox .proj .tbox .title {
    padding-bottom: 10px;
    font-family: 'Anton', sans-serif;
    font-size: 18px;
    font-weight: normal;
    letter-spacing: 0.01em;
    border-bottom: 1px solid;
    display: block;
}

aside .sidebox .proj .tbox ul.links, footer #gallery #info ul {
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 9px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.2em;
}

aside .sidebox .proj .tbox ul.links li, article .cbox ul.post-categories li, footer #gallery #info ul li {
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: none;
    list-style-type: none;
    display: inline-flex;
}

aside .sidebox .proj .tbox ul.links li a {
    text-decoration: none;
}

aside .sidebox .proj .tbox ul.links li::before {
    display: none;
}

aside .sidebox .proj .tbox ul.links li::after, article .cbox ul.post-categories li::after, footer #gallery #info ul li::after {
    content: '-';
    margin-left: 5px;
}

aside .sidebox .proj .tbox ul.links li:last-child::after, article .cbox ul.post-categories li:last-child::after, footer #gallery #info ul li:last-child::after, footer #cred ul li:last-child::after {
    display: none;
}

aside .sidebox .proj .tbox ul.links li a:hover, article .cbox ul.post-categories li a:hover, footer #gallery #info ul li a:hover {
    text-decoration: underline;
}

aside .sidebox .proj .tbox ul.links::before, footer #gallery #info ul::before {
    content: '[';
}

aside .sidebox .proj .tbox ul.links::after, footer #gallery #info ul::after {
    content: ']';
}

aside .sidebox .proj .synopsis {
    margin-top: 15px;
    padding-left: 20px;
    font-size: 11px;
    border-left: 1px dashed;
    box-sizing: border-box;
}

/* CONTENT */

main {
    margin: 60px auto;
    width: 100%;
    max-width: 1200px;
    display: flex;
    flex-direction: row;
    align-items: start;
    justify-content: space-between;
}

section#content {
    flex: 1;
    max-width: 800px;
}

section#nocontent {
    flex: 1;
    max-width: 100%;
}

article {
    margin: 0 auto 12vh auto;
    padding: 0;
    display: block;
}

section#nocontent article {
    margin-bottom: 0;
}

article .pinfo {
    margin-bottom: 20px;
    font-size: 9px;
    font-weight: 300;
    line-height: 100%;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.2em;
}

article .pinfo span.date {
    padding: 5px;
    display: inline-block;
}

article .pinfo span.author {
    margin-left: 10px;
    display: inline-block;
}

article h1.title, article h2, footer #gallery #info h4, section#content article.career h1, section#content article.projects h1, section#press-grid h1.title {
    padding-bottom: 20px;
    font-family: 'Anton', sans-serif;
    font-size: 36px;
    font-weight: normal;
    line-height: 100%;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.01em;
}

section#content article.career h1, section#content article.projects .ft h1.title, section#press-grid h1.title {
    border-bottom: 1px dashed;
}

article .entry {
    padding-top: 22px;
    padding-bottom: 22px;
    text-align: justify;
    border-width: 1px 0;
    border-style: dashed;
    display: block;
}

article .cbox {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: stretch;
    column-gap: 10px;
}

article .cbox span {
    width: 31px;
    padding: 8px;
    box-sizing: border-box;
    align-self: stretch;
    align-content: center;
}

article .cbox span hr {
    width: 100%; height: 1px;
    border: none;
}

article .cbox ul.post-categories {
    margin: 0; padding: 8px;
    font-size: 9px;
    font-weight: 300;
    line-height: 100%;
    text-align: right;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    flex: 1;
}

/* POST ELEMENTS */

article .entry p, aside .sidebox p, article .entry ul, aside .sidebox ul {
	margin: 0 0 15px 0;
}

article .entry b, article .entry strong, aside .sidebox b, aside .sidebox strong {
    font-weight: 700;
}

article .entry a, aside .sidebox a {
    font-weight: 500;
    text-decoration: underline;
}

article .entry img, aside .sidebox img {
    margin: 3px; padding: 7px;
    -webkit-transition: all 0.34s ease-out;
    -moz-transition: all 0.34s ease-out;
    -o-transition: all 0.34s ease-out;
    transition: all 0.34s ease-out;
}

aside .sidebox img {
    margin: 0 2px;
    padding: 3px;
}

article .entry ul, aside .sidebox ul, article .entry ol.commentslist {
    list-style-type: none;
}

article .entry ul li, aside .sidebox ul li, article .entry ol li {
    padding-top: 7px;
    padding-bottom: 7px;
    border-bottom: 1px dashed;
    display: block;
}

article .entry ul li:first-child, aside .sidebox ul li:first-child, article .entry ol li:first-child {
    padding-top: 0;
}

article .entry ol li {
    width: 100%;
    display: list-item;
    list-style-position: inside;
}

article .entry ul li::before, aside .sidebox ul li::before, footer #cred ul li::after {      
    content: '\f005';
    margin-right: 10px;
	font-family: 'Font Awesome 5 Free';
    font-size: 6px;
	font-weight: 900;
    float: left;
}

section#content article.career ul.career { 
    margin-top: 30px;
    padding-left: 30px;
    padding-right: 30px;
}

section#press-grid ul#years {
    margin-top: 30px;
}

section#press article .entry {
    border-top: none;
}

article .entry iframe, article .entry embed, article .entry object, article .entry video {
    max-width: 100%;
    margin: 0 auto;
    padding: 10px 0;
}

article .entry blockquote, aside blockquote {
    width: 100%;
    max-width: 100%;
    margin: 20px auto;
    padding: 25px;
    box-sizing: border-box;
    quotes: "\201C" "\201D" "\2018" "\2019";
    position: relative;
}

article .entry blockquote::before {
    content: '\201C';
    padding: 18px 10px 0 10px;
    left: 50%;
    font-family: 'Old Standard TT', serif;
    font-size: 60px;
    font-weight: 700;
    line-height: 0%;
    position: relative;
    text-align: center;
    display: inline-block;
    transform: translateX(-50%);
    z-index: 10;
}

article .entry blockquote::after {
    content: '';
    position: absolute;
    left: 0; top: 25px; right: 0;
    width: 94%; height: 1px;
    margin: auto;
    display: block;
    z-index: 5;
}

article .entry blockquote p:first-of-type {
    margin-top: -15px;
}

article .entry blockquote p:last-of-type, aside blockquote p:last-of-type {
    margin-bottom: 0;
}

article .entry blockquote cite {
    margin-top: 20px;
    padding-top: 15px;
    font-size: 9px;
    font-weight: 500;
    font-style: normal;
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    border-top: 1px solid;
    display: block;
}

article .entry blockquote cite a {
    color: inherit;
    text-decoration: none;
}

article .entry blockquote cite a:hover, article .entry blockquote a, article .entry blockquote a:hover {
    color: inherit;
    text-decoration: underline;
}

article .entry p:last-of-type {
    margin-bottom: 0;
}

aside blockquote {
    padding: 15px 20px;
    font-size: 11px;
    font-style: italic;
}

article .entry a.more-link {
    margin: 0 auto;
    padding: 5px;
    font-size: 9px;
    font-weight: 300;
    line-height: 100%;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.2em;;
    display: table;
}

article .alignleft {
    text-align: left;
}

article .aligncenter {
    text-align: center;
}

article .alignright {
    text-align: right;
}

/* PAGINATION */

#pagination {
    margin: 0 auto;
    padding: 0;
    font-size: 9px;
    font-weight: 300;
    line-height: 100%;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.2em;
}

#pagination .total {
    padding: 8px;
    margin-right: 10px;
}

#pagination a, #pagination span {
    padding: 8px;
}

/* COMMENTS */

article .entry ol.commentslist li {
	list-style-type: none;
	background-color: transparent;
	text-indent: 0px;
	border: none;
}

article .entry ol.commentslist li::before {
    content: '';
    display: none;
}

.commentslist li p { line-height: 24px; }
ol.commentslist { clear: both; margin: 15px auto 0 auto; }
ol, ul { list-style: none; }

article .entry ol.commentslist ul.children {
    margin: 15px 0 0 15px;
    background-color: transparent;
    border-width: 0 0 0 1px;
    border-style: dashed;
    padding: 0 15px;
    box-sizing: border-box;
}

article .entry ol.commentslist li .avatar { 
	margin: 0 8px 0 0;
	padding: 0;
    border: none;
	float: left;
	}

article .entry ol.commentslist cite, article .entry ol.commentslist cite a {
	font-weight: 700;
	font-style: normal;
}

article .entry ol.commentslist p {
	margin: 15px 0px;
	text-transform: none;
	text-align: left;
}

article .entry ol.commentslist .cancel-comment-reply {
	margin-left: 10px;
}

article .entry ol.commentslist li a {
    color: inherit;
}

#commentform input[type=text], #commentform textarea {
	outline: none;
	margin: 10px 10px 10px 0; padding: 8px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px; font-weight: 300;
	border-width: 1px;
	border-style: solid;
	line-height: 24px;
    -webkit-transition: all 0.34s ease-out;
    -moz-transition: all 0.34s ease-out;
    -o-transition: all 0.34s ease-out;
    transition: all 0.34s ease-out;
}
 
#commentform input[type=text]:focus, #commentform textarea:focus, article .entry input:focus {
	outline: none !important;
}

article .entry input {	
	margin: 0 10px 0 0;
	padding: 8px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px; font-weight: 300;
	text-transform: none;
	letter-spacing: 0.05em;
	border-width: 1px;
	border-style: solid;
	box-sizing: border-box;
}

article #submit {
	margin: 12px 0;
    padding: 8px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; font-weight: 300;
	line-height: 100%;
    text-transform: uppercase;
    text-decoration: none;
	letter-spacing: 0.1em;
    display: inline-block;
	border: none;	
	cursor: pointer;
    -webkit-transition: all 0.34s ease-out;
    -moz-transition: all 0.34s ease-out;
    -o-transition: all 0.34s ease-out;
    transition: all 0.34s ease-out;
} 

article #submit:hover {
    text-decoration: none;
}

/* FOOTER */

footer {
    margin: 30px auto 0 auto;
    box-sizing: border-box;
}

footer #gallery {
    margin: 30px auto;
    max-width: 1180px;
    min-height: 180px;
    padding: 25px;
    background-position: right center;
    background-repeat: no-repeat;
    box-sizing: border-box;
    display: block;
}

footer #gallery #info {
    padding: 25px;
    width: 80%;
    box-sizing: border-box;
    display: block;
}

footer #gallery #info h4 {
    padding-bottom: 15px;
    font-size: 24px;
    border-bottom: 1px dashed;
}

footer #gallery #info ul {
    margin-bottom: -10px;
    text-align: left;
    text-transform: uppercase;
}

footer #gallery #info ul li::after {
    content: '/';
}

footer #gallery #info ul li::after {
    margin-right: 5px;
}

footer #gallery #stats {
    margin-top: 15px;
    margin-left: 25px;
    font-size: 9px;
    font-weight: 500;
    line-height: 100%;
    text-transform: uppercase;
    letter-spacing: 0.2em;
}

footer #social {
    margin: -25px auto 30px auto;
    text-align: center;
}

footer #social a {
    margin: 0 3px;
}

footer #cred {
    font-size: 15px;
}

footer #cred ul li {
    margin: 0;
}

footer #cred ul li::after {
    margin: 0 1vw;
    float: right;
}