:root{
  --p:20px;
  --c1:#333;
  --c2:gray;
  --c3:#ccc;
  --c4:#1e1e1e;
  --bg:#eee;
  /* --font:22px/1.6em "sourceSerif", arial, sans-serif; */
  --font:22px/1.6em "AUTHENTIC Sans", arial, sans-serif;
  --mono: 12px/1.2em "frangment mono", monospace;
  --condensed:"AUTHENTIC sans condensed";
  --headerH:calc(var(--p)*7);
  --vivid:#0064ff;
}
body{
  font:var(--font);
  font-weight: normal;
  background-color:var(--bg);
  color:var(--c1);
}
header{
  background: var(--bg);
  position: fixed;
  left:0;
  top:0;
  padding:calc(var(--p)/2) var(--p);
  width: 100%;
  height:auto;
  display: flex;
  z-index: 5;
  flex-wrap: wrap;
  justify-content: space-between;
  z-index: 2;
}
header nav{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 40%;
}
header a{
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.edit-link{
  width:1em;
  height: 1em;
  color: var(--vivid);
  position: fixed;
  right:var(--p);
  top: var(--headerH);
  font-size: 2em;
}
main{
  /* padding: var(--p); */
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

/* Home page */
.pagelist, .similar-list{
  width: 100%;
  margin:var(--headerH) var(--p) 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

/* Lists */
.pagelist .publication, .similar-list .publication{
  width:calc(100% / 6 - var(--p));
  display: block;
  margin: 0 0 calc(var(--p)*4) var(--p);
  line-height: 1.2em;
  text-align: center;
}
.pagelist .publication h1{
  font-size: 18px;
  margin: calc(var(--p)) 0 calc(var(--p)/4) 0;
}
.pagelist .thumbnail, .similar-list .thumbnail{
  margin-bottom:calc(var(--p)/2);
}
.pagelist .thumbnail img, .similar-list .thumbnail img{
  display: block;
  margin:0 auto;
  width: 16vw;
  max-height: 16vw;
  object-fit: contain;
  filter: drop-shadow(0 0 6px #ccc);
}

/* publication pages */
article{
  width:80%;
  margin-top: var(--headerH);
  margin-left:0;
}
article section{
  width:min(70%, 900px);
  margin: calc(var(--p)*4) auto 0 auto;
}
article section:first-child{
  margin-top:0;
}
article .title{
  font-size: 1.5em;
}
article .subtitle{
  font:var(--font);
  font-family: var(--condensed);
  margin-top: 0.3em;
  line-height: 1.2em;
}
article figure img{
  width:100%;
  max-height:80vh;
  object-fit: contain;
}

article strong{ /* Interviews */
  display: inline-block;
  font-weight: normal;
  font-family: var(--condensed);
  border: 1px solid var(--c2);
  padding: 0 calc(var(--p)/2);
  line-height: 1.3em;
  border-radius: 4px;
}
aside{
  position: sticky;
  bottom: 0;
  top:var(--headerH);
  margin-bottom: 80vh;
  width:20%;
  left: var(--p);
}
aside img{
  filter: drop-shadow(0 0 6px #ccc);
  /*! width: 100%; */
}
.category-list a{
  display: inline;
  font: var(--mono);
  border-radius: 4px;
  color: var(--c4);
  padding: calc(var(--p) / 5) calc(var(--p) / 4);
  background: var(--c3);
  margin-left: calc(var(--p)/2);
}
.category-list a:first-child{
  margin-left:0;
}
.category-list a:hover{
  background:var(--vivid);
  color: white;
  text-decoration: none;
}
.category-list li:not(:first-child){
  margin-right:calc(var(--p)/2);
}

figcaption{
  margin-top: calc(var(--p)/2);
  font: var(--mono);
  text-align: center;
}

figure{
  margin-bottom: var(--p);
  /*! width: 100%; */
}
section h2,section h3{
  /* font-weight: normal; */
  font-family: var(--condensed);
  font-size: 1.1em;
  margin-bottom: 1.2em;
}
section h2{
  margin-top:calc(var(--p)*2);
}
section.quote{
  padding: calc(var(--p)/2);
  border:1px solid var(--c3);
  color: var(--vivid2);
}
section p{
  margin-bottom: calc(var(--p));
  hyphens: auto;
}
.text p:last-child, .quote p:last-child{
  margin-bottom: 0;
}
.text a{
  color: var(--vivid);
}
.text ul, .text ol{
  margin-left:0;
}
.text hr{
  border:0;
  border-top: 1px solid var(--c2);
}

.text li{
	line-height:1.2em;
	position:relative;
  padding-left: 1.5em;
  margin-bottom: var(--p);
}
.text ul li:before{
	content:"— ";
	position: absolute;
	top:0;
	left:0;
}
.embed-box{
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}
.embed-box iframe{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.similar-list{
  background-image: radial-gradient(var(--vivid) 20%, transparent 21%);
  background-position: 0 0, 4px 4px;
  background-size: 5px 5px;
  justify-content: center;
  margin-right: 0;
}
.similar-list h2{
  text-align: center;
  margin-bottom: calc(var(--p)*2);
  font-family: var(--condensed);
  background-color: var(--vivid);
  color: white;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: calc(var(--p)/4);
  width: 100%;
}

.button, button{
  background: var(--vivid2);
  padding:.2em var(--p);
  display: inline-block;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: .05em;
}
footer{
}


/* Pager nav */

.pagination {
  padding: calc(var(--p)*3) var(--p);
  text-align: center;
  color: var(--c2);
  background: var(--c1);
}
.pagination li {
  margin: 0 var(--p);
}
.pagination li a {
  padding: 0.3em 0.6em;
  border-radius: 1em;
  border: none;
  background: var(--bg);
}
.pagination li a:hover {
  background: var(--c2);
}
a{
  color:inherit;
  text-decoration: none;
}
a:hover{
  text-underline-offset: .2em;
  text-decoration: underline solid 1px var(--c4);
}
a:active{
  color: var(--vivid);
  text-decoration-color: var(--vivid);
}

::selection {background:var(--vivid); color: white;}
::-moz-selection {background:var(--vivid); color: white;}

@media only screen and (max-width: 1300px) {
  header nav{
    width:60%;
  }

  .pagelist{
    margin-right:0;
  }
  .pagelist .publication, .similar-list .publication{
    width:calc(50% - var(--p));
  }
  .pagelist .thumbnail img, .similar-list .thumbnail img{
    width:50%;
    max-height:40vw;
  }
}
@media only screen and (max-width: 850px) {
  :root{--headerH:calc(var(--p)*9);}
  body{
    font-size: 18px
  }
  header{
    justify-content: center;
    border-bottom:1px solid var(--c3);
  }
  header h1, header nav{
    width:100%;
  }
  main{
    justify-content: center;
  }
  aside{
    margin-top:var(--headerH);
    position: static;
    margin-bottom: var(--p);
    width: 80%;
  }
  article{
    margin-top:var(--p);
  }
  .subtitle{
    margin-bottom: calc(var(--p)*2);
  }
  article section{width: 100%;}
  header nav a{
    width:50%;
    height:auto;
  }
  .pagelist .publication, .similar-list .publication{
    width:90%;
    margin-left: 5%;
    margin-right: 5%;
  }
  .pagelist .thumbnail img, .similar-list .thumbnail img{
    width:100%;
    max-height:100vw;
  }
}