body {
    margin: 50px 0 0 150px; /* top right bottom left */
    background-color: #fcfcfc;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #4a515b;
}

main {
    width: min(600px, 60vw);
    border-left: 2px solid #4a515b; 
    padding: 10px 50px;     
}

 /* ============== NAVIGATION  ============== */

nav {
    position: fixed; 
    left: 50px; 
    width: 100px;   
    height: 100vh; 
    margin-top: 50px;
}

nav a {
    display: block;
    padding-bottom: 20px;
    text-decoration: none;
    color: inherit;
}

nav a.current {
 font-weight: bold;
}

 /* ============== PROJECTS OVERVIEW  ============== */

 .project {
    display: flex;
    text-decoration: none;
    color: inherit;
    margin-top: 20px;
    padding: 20px;
    border-left: 1px solid #4a515b; 
}

.project:hover {
    background: #f5f5f5;
}

.project h3 {
    margin: 0 0 5px 0; 

}

.project p {
    margin: 0;

}

 /* ============== PAGE CONTENT  ============== */
main a {
  display: inline;
  text-decoration: underline;
  color: inherit;
}

main p{
    margin-top: 0px;
    line-height: 1.5;
}

main li{
    line-height: 1.5;

}

main h3{
    margin-bottom: 5px;
}

.formula {
    text-align: center;
    font-family: 'Times New Roman', serif;
    font-size: 1.1em;
}

main img {
    display: block;
    margin: 0 auto;
    margin-bottom: 10px;
    max-width: 100%;
    max-height: 350px;

}

img.portrait {
    width: 200px;
    float: right;
    padding-left: 10px;
    filter: grayscale(100%)
}

main table {
    border-collapse: collapse;
    margin: 20px auto;
    text-align: center;
    font-size: 14px;
}


th, td {
    border: 1px solid #dddddd;
    padding: 8px;
}


pre {
    overflow-x: auto;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 16px;
    font-family: 'Courier New', monospace;
    color: #333;
    font-size: 14px;
    line-height: 1.3;
}

 /* ============== MEDIA TAG  ============== */

@media (max-width: 700px) {
  nav {
    position: static;
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
  }
  
  nav a {
    display: inline-block;
    padding: 20px 25px;
    margin: 0;
  }
  
  body {
    margin: 0;
  }
  
  main {
    border-left: none;
    border-top: 2px solid #4a515b;
    width: 90%;
    margin: 0 auto;
    padding: 10px;
  }

  img.portrait {
    width: 125px;
}

main .hide-mobile {
    display: none;
}

}