html,body {
    margin: 0;
    padding: 0;
  }
  
  body {
    background-color: white;
    /* height: 100vh; */
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    max-width: 100vw;
  }
  
  #canvas {
    position: absolute;
    top: 0;
    left: 0;
  }
  
  .main {
    position: relative;
    flex-flow: column;
    justify-content: center;
    align-content: center;
    min-height: 100vh;
    width: 100%;
  }
  
  .title {
      font-size: 24px;
      height: 100vh;
      width: 100%;
      display: flex;
      flex-direction: column;
      position: relative;
      background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 70%);
      justify-content: space-between;
  }
  
  .title-mini {
    padding-top: 100px;
    display: flex;
    flex-direction: column;
    min-height: calc(95vh - 300px);
    align-items: center;
  }
  
  .title-name {
      font-family: 'Open Sans', sans-serif;
      font-weight: 800;
      text-align: left;
      font-size: 3em;
      color: #272727;
      background: rgb(255 255 255 / 65%);
  }
  
  .title-sub {
      margin-top: 1.5em;
      line-height: 2em;
      font-family: 'Lora', serif;
      text-align: left;
      font-size: 0.9em;
      background: rgb(255 255 255 / 65%);
      padding: 0 40px;
  }
  
  .list {
      font-family: 'IM Fell DW Pica', serif;
      text-align: left;
      font-size: 18px;
      margin-top: 20px;
      width: 100%;
      height: 100vh;
  }
  
  a {
      text-decoration: none;
      color: inherit;
      transition: color 0.5s;
      color: inherit;
  }
  
  
  .presentation {
      display: flex;
      width: 750px;
      height: 75vh;
      background: white;
      /* z-index: 100; */
      justify-content: center;
      align-items: center;
      /* opacity: 1; */
      position: absolute;
      margin: 0 auto;
      display: block;
      border: 1px solid #c3c1c1;
  }
  
  .slide {
      display: flex;
      height: 100%;
      width: 100%;
      position: relative;
      flex-flow: column;
  }
  
  .slide-title {
      height: 10%;
      width: 100%;
      position: relative;
      display: flex;
      font-size: 3em;
      font-family: "IM Fell DW Pica";
      padding: 5% 10%;
  }
  
  .slide-body {
      display: flex;
      width: 100%;
      height: 60%;
      padding: 5% 10%;
      font-family: "IM Fell DW Pica";
      font-size: 1.5em;
      flex-flow: column;
  }
  
  slide-body p {
      display: flex;
  }
  
  .slide-body p {
      margin-bottom: 20px;
  }
  
  .hidden {
    display: none;
  }
  
  .visible {
    display: flex;
  }
  
  .sublist {
      margin-left: 20px;
  }
  
  .title-more {
    font-family: 'Open Sans';
    font-size: 0.8em;
    color: #bfbaba;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 200px;
    position: relative;
    height: 5vh;
  }
  
  .title-more svg {
      margin-left: 0.5em;
      font-size: 0.8em;
      position: relative;
      animation: 10s linear shishiodoshi infinite;
      transition: all;
  }
  
  .title-more span {
      color: #272727;
  }
  
  #project-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  
  .project-icon {
    grid-area: icon;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2em;
  }
  
  .project-name {
    grid-area: name;
    font-family: 'Open Sans';
    font-size: 2em;
    /* padding: 0.5em; */
  }
  
  .project-date-range {
    font-size: 0.5em;
    margin-left: 20px;
  }
  
  .project-description {
    grid-area: description;
    padding: 1.5em 0;
    line-height: 1.3em;
    font-family: 'Lora', serif;
    font-size: 0.8em;
  }
  
  .project-tech {
    display: flex;
    grid-area: tech;
    flex-wrap: wrap;
  }
  
  .project-links {
    grid-area: links;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  
  
  .project-item {
    display: grid;
    width: 100%;
    margin-bottom: 10vh;
    grid-template-columns: 0.75fr 2fr 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "icon name links"
      "icon description links"
      "icon tech links";
  }
  
  .tech-list-item {
      width: 20%;
      display: flex;
      flex-wrap: wrap;
      height: 3em;
      align-items: center;
      font-family: 'Lora', serif;
      font-size: 0.8em;
      color: gray;
      font-style: italic;
  }
  
  .project-links > div {
      padding: 1em;
      font-family: 'Open Sans', sans-serif;
  }
  
  .project-links > div > svg {
      margin-right: 1em;
  }
  
  @keyframes shishiodoshi {
      0% { top: 0px;}
      70% { top: -5px; }
      72% { top: 0px }
      74% { top: -4px }
      76% { top: 0px }
      78% { top: -2px }
      80% { top: 0px }
  }
  
  .project-icon-image {
      background-size: contain;
      width: 75%;
      background-repeat: no-repeat;
      display: flex;
  }
  
  html,body {
      margin: 0;
      padding: 0;
  }
  
  @media screen and (max-width: 768px) {
      .title-mini {
          padding-left: 10%;
      }
  
      .title-name {
          font-size: 2em;
      }
  
      .project-item {
          margin-bottom: 150px;
          grid-template-columns: 1fr 3fr;
          grid-template-rows: 50px 32px auto auto;
          grid-template-areas: "icon name"
                               "icon links"
                               "description description"
                               "tech tech";
      }
  
      .project-name {
          align-self: flex-end;
          padding: 0 1em 0 0;
      }
  
      .project-links {
          flex-direction: row;
          justify-content: flex-start;
      }
  
      .project-links > div {
          padding: 0.5em;
      }
  
      .project-link-website {
          margin-right: 20px;
      }
  
      .project-description {
          padding: 2em 2.5em;
      }
  
      .project-tech {
          padding: 0 2em
      }
  
      .project-icon {
          padding: 0.5em;
      }
  
      .tech-list-item {
          width: 33%;
      }
  
      .project-links > div > svg {
          margin-right: 0.25em
      }
  
      .project-item:nth-of-type(1) > .project-icon {
          padding: 2em;
      }
  }
  
  @media screen and (max-width: 468px) {
      .title-mini {
          padding-top: 20px;
      }
  
      .title-sub {
          font-size: 0.8em;
      }
  
      .project-item {
          margin-bottom: 50px;
          grid-template-columns: 1fr;
          grid-template-rows: auto auto 32px auto auto;
          grid-template-areas: "icon"
                               "name"
                               "links"
                               "description"
                               "tech";
      }
  
      .project-name {
          margin-left: 1em;
      }
  
      .project-links {
          margin-left: 1.5em;
      }
  
      .project-icon-image {
          width: 50%;
      }
  
      .project-icon {
          margin-bottom: 25px
      }
  }
  