html {
  box-sizing: border-box; }

*, *::after, *::before {
  box-sizing: inherit; }

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

img {
  border: none; }

html {
  font-family: sans-serif;
  font-size: 1rem;
  height: 100%;
  color: #495662; }

body {
  height: 100%;
  background: #eee; }

footer {
  /*@include row;*/
  height: 2em;
  color: rgba(0, 0, 0, 0.5);
  border: 1px solid #aaaaaa;
  border-bottom: none;
  border-radius: 2px 2px 0 0;
  background-color: #bbbbbb;
  padding: 5px;
  text-align: center;
  display: flex;
  justify-content: space-around; }
  @media screen and (max-width: 480px) {
    footer {
      height: calc(2em * 1.5); } }

main {
  display: block;
  flex: auto 1 1;
  padding: 1rem 2rem; }
  main ul {
    margin-left: 1em;
    list-style: square; }
  @media screen and (min-width: 481px) {
    main {
      padding: 2rem 3rem; } }

nav {
  display: block;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  font-weight: bolder;
  background: #d8d8d8;
  /* mobile menu dropdown*/ }
  nav::after {
    clear: both;
    content: "";
    display: table; }
  nav ul {
    list-style: none;
    margin: 0; }
    nav ul li {
      background-color: transparent;
      text-shadow: -1px -1px 0 transparent; }
      @media screen and (min-width: 480px) {
        nav ul li {
          float: left; } }
      nav ul li:hover a {
        color: #11829c; }
      nav ul li a, nav ul li span {
        display: inline-block;
        padding: 0.5em;
        font: bold 1.25rem sans-serif;
        color: #495662;
        text-decoration: none; }
      nav ul li a {
        text-decoration: none; }
  @media screen and (max-width: 480px) {
    nav ul {
      display: none; }
      nav ul li {
        display: block; }
        nav ul li a {
          width: 100%; }
        nav ul li:not(:last-child) {
          border-bottom: 1px solid transparent; }
    nav:hover ul {
      display: initial; }
    nav:hover .mobile-menu {
      border-radius: 4px 4px 0 0; } }

.mobile-menu {
  background-color: transparent;
  text-shadow: -1px -1px 0 transparent;
  display: inline-block;
  padding: 0.5em;
  font: bold 1.25rem sans-serif;
  color: #495662;
  text-decoration: none;
  display: none;
  border-radius: 4px 4px; }
  .mobile-menu:hover a {
    color: transparent; }
  @media screen and (max-width: 480px) {
    .mobile-menu {
      display: block; } }

.legal {
  color: #888888;
  font-weight: normal;
  font-size: 0.5em; }

.ie-banner {
  font-weight: bold;
  background-color: #fcf8e3;
  border: 1px solid #f7ecb5;
  padding: 5px; }
  .ie-banner img {
    padding-right: 10px; }

.page-wrap {
  max-width: 68em;
  margin-left: auto;
  margin-right: auto;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0px 0px 3px #c7c7c7;
  background: white; }
  .page-wrap::after {
    clear: both;
    content: "";
    display: table; }

#education {
  margin-top: 1rem; }
  #education h2, #education h3 {
    color: #495662;
    margin-left: 0;
    margin-top: .5rem; }
  #education h2 {
    border-width: 0;
    border-style: solid; }
  #education * {
    margin-left: 8rem; }
  #education .grade {
    margin-left: 0; }
  #education .duration {
    margin-left: 0;
    position: absolute;
    width: 7.5rem;
    text-align: left; }

.lead {
  display: flex;
  justify-content: center;
  margin: 0 0 2rem 0;
  padding: 1rem 2rem; }
  @media screen and (min-width: 481px) {
    .lead {
      padding: 2rem 3rem; } }
  .lead-inner {
    font-size: 1.25em; }
    @media screen and (min-width: 481px) {
      .lead-inner {
        font-size: 2em; } }
    .lead-inner .subheading {
      position: relative;
      left: 0.4rem; }

article {
  flex: 1 1 auto; }

h1, h2, h3, h4, h5, h6 {
  margin-top: .25em;
  font-weight: initial; }

h1 {
  font-size: 3.09em; }

h2 {
  font-size: 2.472em; }

h3 {
  font-size: 1.854em; }

h4 {
  font-size: 1.236em; }

h5 {
  font-size: 0.618em; }

h6 {
  font-size: 0em; }

pre.inline-code {
  display: inline-block;
  vertical-align: top; }
  pre.inline-code code {
    padding: 0px; }
