body , html {
  margin: 0;
  font-family: Arial;
  color: #0B2545;
}

* {
}

a {
  color: inherit;
  text-decoration: none;
}

header.section {
  padding: 1em 1em 0.5em 1em;
  display: flex;
  display: -webkit-box;
      /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
         /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
      /* TWEENER - IE 10 */
  display: -webkit-flex;
     /* NEW - Chrome */
  flex-flow: row;
  justify-content: space-between;
  font-size: 1.1em;
}

.logo {
  display: flex;
  cursor: pointer;
}

.logo-text {
  padding: 0.5em 0;
}

nav {
  display: inline-block;
  padding: 0.5em;
  display: flex;
  display: -webkit-box;
      /* OLD - iOS 6-, Safari 3.1-6 */
  display: -moz-box;
         /* OLD - Firefox 19- (buggy but mostly works) */
  display: -ms-flexbox;
      /* TWEENER - IE 10 */
  display: -webkit-flex;
     /* NEW - Chrome */
  flex-flow: row;
  justify-content: space-between;
}

#toggle {
  display: none;
  background-image: url("../img/hamburger.png");
  background-size: 80%;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 2px;
}

nav item {
  cursor: pointer;
  padding: 1px 1px;
}

header a {
  padding: 0 8px 14px 8px;
  color: white;
  position: relative;
}

header a:focus:before, header a:hover:before {
  left: 8px;
  right: 8px;
}

header a:focus:before {
  background: rgba(255, 48, 48, 0.91);
}

header a:before {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 5px;
  height: 2px;
  background: #fff;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: left, right;
  -moz-transition-property: left, right;
  -ms-transition-property: left, right;
  -o-transition-property: left, right;
  transition-property: left, right;
}

.section {
  padding: 2em 1em;
}

.section:nth-child(odd) {
  background-color: #0B2545;
  color: #EEF4ED;
}

.section:nth-child(even) {
  background-color: #EEF4ED;
}

.inner-banner {
  position: relative;
  max-width: 1000px;
  height: auto;
  margin: auto;
}

.banner-info {
  display: block;
  margin: auto;
  text-align: center;
}

.name {
  font-size: 4em;
}

.position {
  font-size: 2em;
}

.headline{
  font-size: 1.5em;
  color: rgba(255, 48, 48, 0.91);
  padding: 0.5em;
  font-weight: bold;
}

.avatar-wrapper {
  width: 2em;
  height: 2em;
  border-radius: 100%;
  overflow: hidden;
	background-image: url("http://www.icon100.com/up/2761/128/Senza-titolo-1_28.png");
  background-size: 120%;
  background-position: center;
  background-repeat: no-repeat;
  display: inline-block;
}

.section-title {
  font-size: 2em;
  text-align: center;
}

.intro-skill-wrapper {
  width: 100%;
  max-width: 1000px;
  margin: auto;
}

/*
  Make sure the float properties of .intro and .skill does
  not render the wrapper empty
*/
.intro-skill-wrapper::after{
  content: "";
  display: block;
  clear: both;
}

.intro {
  margin: auto;
  font-size: 1.1em;
  line-height: 1.5em;
  float: left;
}

.skills {
  display: flex-box;
  margin: auto;
  font-weight: bold;
  float: right;
}

.skill-title {
  margin-left: 5px;
  font-size: 1.3em;
}

.skill {
  background-color: rgba(255, 48, 48, 0.91);
  display: inline-block;
  padding: 1em;
  margin: 5px;
  border-radius: 5px;
  color: #EEF4ED;
  cursor: pointer;
}

.projects {
  width: 100%;
  margin: auto;
  max-width: 1000px;
}

.projects-title {
  font-size: 2em;
  text-align: center;
  font-weight: bold;
  padding-bottom: 0.5em;
}

.project {
  display: inline-block;
  position: relative;
  margin: 5px;
  width: calc( ( 50% - 20px ) );
  background-color: rgba(255, 48, 48, 0.91);
	padding: 1em;
  box-sizing: border-box;
  border-radius: 3px;
  color: #EEF4ED;
  vertical-align: top;
  overflow-y: hidden;
}
.project .hover-links{
  box-sizing: border-box;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba( 0 , 0 , 0 , 0.3 );
  transition: top 0.25s ease-out;
  top: 100%;
  left: 0;
  padding: 1em;
  padding-top: 4em;
}
.project:hover .hover-links{
  top: 0;
}

.project .web-link{
  width: 50px;
  height: 50px;
  margin: auto;
  padding: 0.5em;
}
.project .web-link img{
  width: 100%;
}
.inner-edu {
  max-width: 1000px;
  margin: auto;
}

.edu-title {
  font-size: 2em;
  text-align: center;
  font-weight: bold;
}

.edu-entry {
  padding: 1em;
}

.sch-deg {
  font-size: 1.5em;
  float: left;
}

.year {
  font-size: 0.8em;
  float: right;
}

.degree {
  font-size: 1.2em;
}
.desc-links {
  display: block;
  clear: both;
}

.project .title {
  text-align: center;
  padding-bottom: 0.5em;
}

.image {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.desc {
  max-width: 500px;
  display: inline-block;
  font-size: 1.1em;
  line-height: 1.3em;
}

.image img {
  max-width: 100%;
}

.links {
  margin-top: 1em;
  float: right;
  display: inline-block;
}

.link {
  width: 100px;
  height: 80px;
  overflow: hidden;
  display: inline-block;
  background-color: rgba(255, 48, 48, 0.91);
  padding: 5px;
}

.link .title {
  color: #EEF4ED;
  font-size: 0.5em;
}

.thumbnail {
  width: 100%;
  height: 60px;
}

#resume {
  padding: 0.5em;
  margin-top: 1em;
}

.resume-button {
  display: inline;
  background-color: rgba(255, 48, 48, 0.91);
  color: #EEF4ED;
  padding: 1em;
  border-radius: 5px;
  left: auto;
  right: auto;
  cursor: pointer;
}

.contact-title {
  font-size: 2em;
  text-align: center;
  font-weight: bold;
}

.contact-item {
  font-size: 1.3em;
  padding: 0.5em;
}

.contact-item a {
  color: rgba(255, 48, 48, 0.91);
  font-weight: bold;
}

.contact-list {
  max-width: 600px;
  margin: auto;
  text-align: center;
}

.highlight{
  color: rgba(255, 48, 48, 0.91);
  font-weight: bold;
}

@media screen and (min-width: 1000px) {
  .skills , .intro {
    display: inline-block;
    vertical-align: top;
  }

  .skills {
    width: calc( 55% - 50px);
  }

  .intro {
    margin-right: 48px;
    width: calc( 45% - 50px );
  }

  .project {
    width: calc( ( 100% / 3 ) - 20px );
  }
}

@media screen and (max-width: 800px) {
  nav {
    flex-flow: column;
    position: absolute;
    right: 1em;
    top: 4.3em;
    z-index: 10;
    background-color: rgba(255, 48, 48, 0.91);
    transition: height 0.25s;
    height: 0;
    padding: 0;
    overflow: hidden;
  }

  #toggle {
    display: flex;
    position: absolute;
    top: 1em;
    right: 1em;
    padding: 1em;
    background-color: rgba(255, 48, 48, 0.91);
    cursor: pointer;
  }

  header a:focus:before {
    background: #0B2545;
  }

  nav item {
    margin-bottom: 0.5em;
    padding: 0.75em 0.5em 0.5em 0.5em;
  }

  nav.toggled {
    height: 12em;
  }

  .banner {
    height: auto;
  }

  .name {
    font-size: 3em;
  }

  .position {
    font-size: 1.5em;
  }

  .headline{
    font-size: 1.4em;
  }

  .sch-deg {
    display: block;
    float: none;
  }

  .year {
    display: block;
    float: none;
  }

  .links {
    float: none;
    display: block;
    margin: auto;
  }
}

@media screen and (max-width: 550px){
  .project {
    width: 100%;
  }
}
