body {
  padding: 0;
  margin: 0;
}

body {
  background: #F4F0EC;
}

main {
  height: 95%;
  /* font-family: 'Arimo', sans-serif; */
  /* font-family: 'Merriweather Sans', sans-serif; */
  /* font-family: 'IBM Plex Sans', sans-serif; */
  /* font-family: 'Quicksand', sans-serif; */
  /* font-family: 'Roboto Flex', sans-serif; */
  font-family: 'Libre Franklin', sans-serif;
}

main p, .navButton, .fa-brands {
  color: #111111;
  }

main h1 {
  font-weight: 500;
  font-size: inherit;
}

section .subContent, .navButton, .selectedWorkEntry {
  /* font-family: 'Arimo', sans-serif; */
  /* font-family: 'Merriweather Sans', sans-serif; */
  /* font-family: 'IBM Plex Sans', sans-serif; */
  /* font-family: 'Quicksand', sans-serif; */
  /* font-family: 'Roboto Flex', sans-serif; */
  font-family: 'Libre Franklin', sans-serif;
  font-weight: 300;
}

/* main page menu headers "buttons" */
button {
  border: none;
  font-size: 1em;
  display: block;
  background: #F4F0EC;
}

.navButton {
    text-decoration: none;
      transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  }

.resumeDownloadContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.resumeButton {
  flex: 0 1 auto;
  border: 1px solid #111111;
  padding: 0.4em;
  border-radius: 3px;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.resumeButton:hover {
  border: 1px solid #111111;
  border-radius: 3px;
  background-color: #9EBDAE;
  color: #111111;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

button:hover {
  transition: color 0.25s linear;
  color: #9EBDAE;
}

button:active {
  color: #9EBDAE;
}

/* Section content on-click display classes */
.closed {
  display: none;
}

.open {
  display: block;
}


.subContent > p {
  margin-bottom: 1em;
  margin-left: auto;
  margin-right: auto;
}



/* Link styling */
#aboutContent a {
  color: #111111;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

#aboutContent a:hover {
  color: #9EBDAE;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

#resumeContent a {
  color: #111111;
}

#resumeContent a:visited {
  color: #111111;
}

#resumeContent a:hover {
  color: #9EBDAE;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

#contactContent a {
  display: inline-block;
  width: auto;
  color: #111111;
}

#contactContent a:visited {
  color: #111111;
}

#contactContent a:hover {
  color: #9EBDAE;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}


/* Selected work styling */
/* Selected Work Filter Menu */
.filterContainer {
  display: flex;
  margin-top: 0.5em;
  flex-wrap: wrap;
}

.workFilter {
  border: 1px solid #111111;
  padding: 0.5em 2em;
  margin: 0;
  flex: 1 1 auto;
  font-size: 0.75em;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.workFilter:hover {
  border: 1px solid #111111;
  background: #9EBDAE;
  color: #111111;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.activeButton {
  background: #9EBDAE;
}

.inactiveButton {
  background: #F4F0EC;
}

/* main page menu headers "buttons" */
.selectedWorkEntry {
  background-color: #F4F0EC;
  color: #111111;
  text-align: left;
  text-decoration: none;
  display: inline-block;
  font-size: 1em;
  border-bottom: 1px solid #111111;
}

.selectedWorkEntry:last-child {
  border-bottom: none;
}

.selectedWorkEntry:hover {
  background-color: #9EBDAE;
  color: #111111;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;

cursor: pointer;
}

.selectedWorkPhoto {
  margin: 0;
  padding: 15px 15px 15px 0;
  width: 25%;
  float: left;
}

.selectedWorkEntryTitle {
  font-size: 1.25em;
  margin: 0;
  padding: 0;
  display: block;
}

.selectedWorkEntryJob {
  /* font-style: italic; */
  padding-top: 0.25em;
  font-size: 1em;
  display: block;

}


.selectedWorkEntryCoAuthor {
   padding-top: 0.25em;
   font-size: 1em;
  font-style: italic;
  display: block;

}

.selectedWorkEntryAdditionalInfo {
  padding-top: 0.25em;
  font-size: 1em;
  display: block;
}

.selectedWorkEntryText {
  font-size: 0.75em;
  padding-top: 2em;
}


/* tables */
.resumeTable{
  display: block;
}

table {
    display: block;
    box-sizing: border-box;
    margin: 0 7.5% 2% 0;
  }

table:first-child {
  margin-top: 1%;
}

td {
  padding: 5px 20px 5px 0;
  vertical-align: text-top;
  text-align: left;
  width: auto;
}

.tableTitle{
  font-weight: 600;
}

.date {
  font-weight: 600;
}


/* Footer */
footer {
  position: fixed;
  right: 0;
  bottom: 0;
  margin: 0 1% 2% 0;
  text-align: center;
}

footer a {
  display: inline-block;
  width: auto;
  margin: 10px 10px;
  color: #111111;
}

footer a:visited {
  color: #111111;
}

footer a:hover {
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  color: #9EBDAE;
}

.sr-only{
   position:absolute;
   left:-10000px;
   top:auto;
   width:1px;
   height:1px;
   overflow:hidden;
}

/* responsive design code */
@media screen and (min-width: 800px) {
  main {
    font-size: 4.8vw;
    display: block;
    margin: 2% 1%;
  }

  main h1 {
    margin: 0 0 0 2%;
    padding: 0;
  }

  div {
    display: block;
  }

  #headshot {
    width: 30%;
    /* padding: 0 0 2% 2%; */
    padding: 0 2% 2% 0;
    float: left;
  }

  .fa-plus {
      font-size: 0.5em;
      padding: 0.25em;
    }

  .fa-brands {
      font-size: 0.5em;
    }

  .navButton {
    display: block;
    margin: 0 2% 0 2%;
  }

  .subContent {
    padding: 0 5% 0 3%;
    font-size: 0.35em;
    line-height: 130%;
    text-align: justify;
  }

#aboutContent {
  width: 92.5%;
}

  .selectedWorkEntry {
    /*padding: 15px 32px;*/
    padding: 15px 2%;
    width: 100%;
    margin: 0 auto;
    font-size: 0.8em;
  }

  td {
    font-size: 0.8em;
    min-width: 125px;
  }

.resumeDownloadContainer {
    display: block;
  }

  .resumeButton {
    display: inline-block;
    margin: 10px 10px 10px 0;
  }

#contactContent > a {
  font-size: 0.8em;
}

}

@media screen and (min-width: 481px) and (max-width: 799px) {
  main {
    font-size: 6vw;
    display: block;
    margin: 4% 2%;
  }

  main h1  {
    margin-right: 2%;
    margin-bottom: 0;
    padding: 0;
    font-size: 10vw;
  }

  div {
    display: block;
  }

  #headshot {
    width: 95%;
    padding: 0 0 2% 2%;
  }


  .fa-plus {
      font-size: 0.75em;
      padding-right: 0.25em;
      margin: 0;
    }

  .fa-brands {
      font-size: 0.5em;
    }

  .navButton {
      font-size: 1.75em;
      display: block;
      margin: 0 0 0 2%;
    }

  .subContent {
    padding: 0 5% 0 3%;
    font-size: 0.7em;
    line-height: 130%;
    text-align: justify;
  }

  #aboutContent {
    width: 85%;
  }

  .selectedWorkEntry {
    /*padding: 15px 32px;*/
    padding: 15px 2%;
    width: 95%;
    margin: 0 auto;
    font-size: 0.8em;
  }

  .filterContainer {
    width: 95%;
  }

  .resumeDownloadContainer{
    width: 100%;
  }

  .resumeButton {
    margin: 10px 10px 10px 0;
  }

  table {
    width: 100%;
  }
    td {
      font-size: 0.8em;
      min-width: 125px;
    }

    .date {
      font-weight: 600;
    }

    #contactContent > a {
      font-size: 0.8em;
    }
}

@media screen and (min-width: 320px) and (max-width: 480px) {
  main {
    font-size: 10vw;
    display: block;
    margin: 1%;
  }

  main h1  {
    margin-left: 2%;
    margin-bottom: 0;
    padding: 0;
    font-size: 11vw;
  }

  div {
    display: block;
  }

  .fa-plus {
      font-size: 0.5em;
      padding: 0.25em;
    }

  /* .fa-brands {
      font-size: 0.5em;
    } */

  .navButton {
    display: block;
    margin-left: 2%;
  }

  .subContent {
    padding: 0 5% 0 3%;
    font-size: 0.45em;
    line-height: 130%;
    text-align: justify;
  }

  #aboutContent {
      width: 90%;
      margin: 0 auto;
    }

  #headshot {
      width: 100%;
    }

  #workContent {
      width: 90%;
      margin: 0 auto;
    }

.selectedWorkPhoto {
  display: none;
}

  .selectedWorkEntry {
    padding: 15px;
    width: 100%;
    margin: 0 auto;
  }

  .filterContainer {
    padding: 0;
    width: 100%;
    margin: 0 auto;
  }

  #resumeContent {
      width: 90%;
      margin: 0 auto;
    }

  table {
    width: 100%;
  }

  tr {
    width: 100%;
  }

    td {
      min-width: 50px;
    }

    .date {
      font-weight: 600;
    }

  footer {
    display: none;
  }
}
