* {
  -webkit-padding-start: 0;
}

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%;
  font-family: 'Roboto', sans-serif;
}

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

body,
html {
  margin: 0
}

p {
  color: #444;
}

.hero {
  background-image: url('https://s3-us-west-2.amazonaws.com/neillsomerville/Jay_Mantri_fog-foggy-forest-4827_neill_somerville_portfolio.jpg');
  background-size: cover;
  position: relative;
  text-align: center;
  height: 100%;
  height: 100vh;
  width: 100%;
  width: 100vw;
  max-width: 100%;
  padding: 12vh 0
}

.hero-heading {
  line-height: 74px;
  letter-spacing: 1px;
  font-size: 5em;
  color: black;
  font-style: normal;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  text-align: center;
  margin: .25em auto;
}

.hero-subheading {
  background: rgba(255, 255, 255, .66);
  text-align: center;
  padding: .25em .5em;
  margin: 10 auto .7em;
  display: inline-block;
  font-weight: 400;
}

h3.hero-subheading {
  margin-top: 0;
  max-width: 90%
}

h2 {
  font-size: 2em;
}

nav {
  background-color: black;
  width: 100%
}

.nav {
  margin: 0 auto;
  max-width: 1020px;
  list-style: none;
  display: flex;
  padding: 0
}

.nav-items {
  padding: 1em 0;
  margin: auto;
  text-align: center
}

.nav-items a {}

.flex-col {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center
}

.flex-row {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center
}

.reverse {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse
}

ul li {
  display: inline-block;
  margin: 3px;
}

.projects div {
  padding: 20px;
  margin: 10px;
  ;
  border-radius: 2px;
}

a {
  outline: none;
  text-decoration: none;
  padding: 5px;
  border-radius: 2px;
}

a:link {
  color: white;
  background-color: black;
}

a:visited {
  color: white;
  background-color: black;
}

a:focus {
  color: white;
  background-color: red;
}

a:hover {
  color: white;
  background-color: red;
}

a:active {
  color: white;
  background-color: red;
}

div.about-text {
  font-size: 1.125em;
  line-height: 1.566em
}

.main {
  margin: 0 auto;
}

.contact-info {
  text-align: center
}

.main h2 {
  text-align: center;
}

footer {
  text-align: center
}

header,
section {
  max-width: 1020px;
  margin: 0 auto;
  overflow: hidden;
  padding: 1.5em;
  line-height: 150%
}

.project-name span {
  font-style: italic;
  font-weight: 400;
  color: #444;
  font-size: 80%
}

img.col-1 {
  outline: 1px solid #64635533;
}

.project-group {
  margin: 0;
  padding: 0;
  list-style: none;
}

.project-each {
  background-color: #F7F7F7;
  border-radius: 4px;
  margin: 10px auto;
}

.project-group>li {
  width: 100%;
  margin: 2em auto;
  clear: both;
}

.col-1 {
  width: 30%;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto
}

.col-2 {
  width: 60%;
  margin: .25em 1em;
  vertical-align: middle;
  display: inline-block
}

.project-name {
  font-weight: 700;
  text-align: center;
  margin: 0 auto .5em;
  font-size: 1.4rem
}

.project-links,
.project-skills-list {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
  width: 100%;
}

ul.project-links {
  margin: 0 0 1.65em;
}

.project-skills-list>li {
  display: inline-block;
  vertical-align: middle;
  margin: 1.5em;
}

.project-skills-each {
  font-size: .73em;
  padding: .2em .6em;
  background-color: #E8E8E8;
  color: black;
  font-family: consolas;
  vertical-align: middle;
}

h2#contact.section-header {
  margin: 0;
}

section.contact-info {
  padding-bottom: 0;
}

.footer {
  padding-top: 0;
  background-color: black;
  margin: 0 auto;
  overflow: hidden;
  padding: 1.5em;
  line-height: 150%;
  font-size: .8em;
}

.footer * {
  padding-top: 10px;
  color: white;
}

.contact-list {
  list-style: none;
  text-align: center;
  margin: 1em auto 2em;
  padding: 0
}

.contact-list>li {
  margin: 1em 0
}