* {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
}

html {
   font-family: 'Open Sans', Arial, Helvetica, sans-serif;
   font-size: 16px;
   line-height: 1.5;
}

body {
   display: flex;
}

/* Navigation Menu */

#navbar {
   padding: 1rem 0 0 0;
   display: flex;
   flex-direction: column;
   border-right: 3px solid #99a1a2;
   width: 20rem;
   height: 100vh;
   position: fixed;
}

nav > header {
   font-size: 1.8rem;
   padding: 0 0 0.9rem 2rem;
   border-bottom: 1px solid #696a6c;
   text-wrap: nowrap;
}

nav > a {
   font-size: 1.1rem;
   border-bottom: 1px solid #696a6c;
   padding: 0.5rem 0.9rem 0.5rem 2.4rem;
   text-wrap: nowrap;
   text-decoration: none;
   color: #333;
}

nav > a:last-child {
   border-bottom: none;
}

/* Main */
#main-doc {
   margin: 0 0 0 21rem;
   padding: 1rem 1rem;
}

.main-section {
   padding: 0 0 0 0;
}

section > header {
   font-size: 1.8rem;
   padding: 0.8rem 0 1rem 0;
   margin: 0 0 0 0;
}

section > p,
section > ul {
   opacity: 0.7;
   margin: 0 0 0 1rem;
}

section > p {
   padding: 0 0 1rem 0;
}

section > ul > li {
   margin: 0 0 1rem 3rem;
}

section > code {
   background-color: #f7f7f7;
   display: block;
   margin: 0 4rem 1rem 1.5rem;
   padding: 1rem 0 1rem 1rem;
   font-family: monospace;
   font-size: 0.8rem;
}

.second-level-list li {
   margin: 0 0 1rem 6rem;
}

@media(max-width: 767px) {
   body {
      flex-direction: column;
   }

   #navbar {
      width: 100%;
      height: auto;
      position: relative;
      border-right: none;
      border-right: 3px solid #99a1a2;
   }

   #main-doc {
      margin: 0;
      padding: 1rem;
   }

   nav > a {
      padding: 0.5rem 2rem;
      border-bottom: 1px solid #696a6c;
   }

   nav > header {
      padding: 0 0 0.9rem 2rem;
   }
}