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

html {
  font-family: 'Josefin Slab', serif;
  font-size: 20px;
  color: #fff;
}

body {
  background-color: #1d1918;
}

a, img {
    border:none;
    outline:none
}

h1 {
  font-weight: 100;
  font-size: 400%;
  line-height: 72%;
}

h2 {
  font-weight: 100;
  font-size: 200%
}

h3 {
  font-weight: 100;
  font-size: 100%
}

p {
  font-weight: 100;
  font-size: 80%;
  letter-spacing: 0.02em;
}

.clearfix {zoom: 1}
.clearfix:after {
  content: '.';
  clear: both;
  display: block;
  height: 0;
  visibility: hidden;
}

a {
  font-weight: 100;
  text-decoration: none;
  color: #fff;
}


/* -----------------------------------------------
                  HERO SECTION
------------------------------------------------*/

.mobilemenu {
  display: none;
  float: left;
  padding: 15px 28px 15px 28px;
  background-color: rgba(0, 0, 0, 0.6);
  font-size: 60%;
  height: 100vh;
  width: 100%;
}

.mobilemenu h2 {
  padding: 2px 0;
}

.mobilemenulogo {
  margin-bottom: 15px;
}

.mobilemenuitems a {
  display: block;
}

.section-hero {
  position: relative;
  background-image: url(img/bg.jpg);
  background-position: center;
  background-size: cover;
  height: 100vh;
}

.hero-banner {
  height: 140px;
  position: absolute;
  bottom: 0px;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.titletext {
  margin: 13px 0 0 28px;
}


/* -----------------------------------------------
                PORTFOLIO SECTION
------------------------------------------------*/

.section-portfolio {
  overflow: auto;
}

.section-portfolio img {
  display: inline-block;
  width: 25%;
  float: left;
  opacity: 0.6;
  transition: opacity, 0.2s;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0);
}

.section-portfolio img:hover {
  opacity: 1;
}

.portfoliomore {
  text-align: center;
  padding: 10px 0 12px 0;
  background-color: #1d1918;
}

.portfoliomore a:link,
.portfoliomore a:visited {
  border-bottom: solid 1px transparent;
  transition: border-bottom, 0.2s;
}

.portfoliomore a:hover,
.portfoliomore a:active {
  border-bottom: solid 1px #fff;
}

/* -----------------------------------------------
                ABOUT ME SECTION
------------------------------------------------*/

.section-aboutme {
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(./img/aboutmebg.jpg);
  background-size: cover;
  background-position: center;
  background-attachment: scroll;
  overflow: auto;
  padding: 100px 0;
}

.aboutmetext {
  float: right;
  width: 35%;
  text-align: right;
  padding-right: 3%;
}

.aboutmetext h2 {
  margin-bottom: 10px;
  font-size: 165%;
}

.aboutmetext h1 {
  margin-bottom: 65px;
  line-height: 8%;
}

.aboutmetext p {
  line-height: 140%;
}

/* -----------------------------------------------
                CONTACT SECTION
------------------------------------------------*/

.section-contact {
  height: 120px;
  background-color: #1d1918;
}

.contactinfo {
  float: left;
  margin: 15px 0 0 15px;
}

.contactinfo h2 {
  margin-bottom: 7px;
}

.contactinfo p {
  margin-bottom: 2px;
}

.section-contact a:link,
.section-contact a:visited {
  border-bottom: solid 1px transparent;
  transition: border-bottom, 0.2s;
}

.section-contact a:hover,
.section-contact a:active {
  border-bottom: solid 1px #fff;
}

.socialmedia {
  float: right;
  text-align: right;
  margin: 62px 15px 0 0;
}

.socialmedia h3 {
  margin-bottom: 2px;
}

/* -----------------------------------------------
                LIGHTBOX
------------------------------------------------*/

.lightbox-wrapper {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 150vh;
  z-index: 2;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
}

.lightbox-wrapper img {
  position: absolute;
  top: 50vh;
  left: 50%;
  max-width: 90%;
  max-height: 90vh;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}
