*:focus {
  outline: none;
}
* {
  box-sizing: border-box;
  -webkit-margin-before:0;
  -webkit-margin-after:0;
  -webkit-margin-start:0;
  -webkit-margin-end:0;
}
html,body {
  height: 100%;
  font-size: 16px;
}
body {
  font-family: 'Courier Prime', monospace;
  font-weight: 400;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #FAFAF8;
  color: #1A1A1A;
  /* min-width: 360px; */
}

/* Layout */

.grid {
  display: grid;
  grid-template-columns: minmax(32px, 8%) 1fr minmax(32px, 8%);
  grid-template-rows: 15vh auto auto 20vh;
}
.homelink {
  grid-column-start: 2;
}
.title {
  grid-column-start: 2;
  grid-row-start: 2;
  margin-bottom: 3rem;
}
.content {
  grid-column-start: 2;
  grid-row-start: 3;
}
.library {
  margin-top: 3rem;
}

.sidestuff {
  grid-column-start: 2;
  grid-row-start: 4;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 1.25rem;
}
.sidestuff p {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .grid {
    grid-template-columns: minmax(32px, 15%) minmax(300px, 50%) minmax(16px, 5%) 1fr minmax(32px, 15%);
    grid-template-rows: 15vh auto auto 20vh;
  }
  .sidestuff {
    grid-column-start: 4;
    grid-row-start: 3;
    display: block;
  }
  .sidestuff p {
    margin-bottom: 1rem;
  }
}

/* Styling */


h1 {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0;
}
h2 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 0;
  color: #AC3235;
  font-style: italic;
}
.header-tabs .tab {
  font-style: italic;
  margin-left: 1.2rem;
}
h3 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0.5rem;
}
p {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  margin-top: 0;
}
.sidestuff * {
  font-size: 0.875rem;
  color: #4A4A4A;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .sidestuff * {
    margin-bottom: 1rem;
  }
}
a {
  color: #434343;
}
a:hover {
  color: #000000;
}
.project {
  margin-bottom: 2.5rem;
}
.project-header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.75rem;
  margin-bottom: 0.75rem;
}
.project-header-sep {
  color: #4A4A4A;
}
.project-header .project-title {
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
  width:-webkit-fill-available;
  width: stretch;
}
.project-type,
.project-genre {
  font-size: 0.875rem;
  color: #4A4A4A;
  font-weight: 400;
}
.project-logline {
  margin-bottom: 1rem;
}
.project-links {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
}
.project-link--unavailable {
  color: #8A8A8A;
  cursor: default;
}
.project-links a {
  margin-bottom: 0.75rem;
  width: fit-content;
}
.project-links a::before {
  content: '→';
  display:inline-block;
  margin-right: 0.5rem;
  text-decoration: none;
}
.project-link--unavailable::before {
  content: '•';
  display:inline-block;
  margin-right: 0.5rem;
  text-decoration: none;
}
a.homelink{
  align-self: center;
  font-size: 0.875rem;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 700;
  color: #4A4A4A;
}
a.homelink:hover{
  color: #1A1A1A;
}
.project-header-sep {
  display: none;
}
.project-header-sep ~ .project-header-sep {
  display: inline;
}
.title-sep {
  display: none;
}
.title-sep, .title-sub {
  color: #6a6a6a;
}
.header {
  margin-bottom: 1.5rem;
}
.fwd {
  display: inline-block;
  background: #eeeeec;
  padding: 1rem;
  margin-bottom: 1rem;
  text-decoration: none;
}
.fwd::after {
  content: '→';
  margin-left: 1rem;
}
.back {
  display:inline-block;
  margin-bottom: 1rem;
}
.back::before {
  display:inline-block;
  content: '←';
  margin-right: 1rem;
  text-decoration: none;
}
@media (min-width: 768px) {
  .project-header .project-title {
    width: auto;
    margin-bottom: 0;
  }
  .project-header-sep {
    display: inline;
  }
  .title-sep {
    display: inline;
  }
}