/* Leandro Silva | Grafluxe */

/*
GX: 	EC2C80 / CC0C60
Aqua: 	20B1C8 / 138698
*/

@charset "UTF-8";
@import url(//fonts.googleapis.com/css?family=Open+Sans);

html,
body {
  overflow-x: hidden;
}

body {
  margin: 20px 0 0;
  padding: 0 20px;
  font: 17px "Open Sans", arial, sans-serif;
  min-width: 230px;
  -webkit-text-size-adjust: 100%;
  line-height: 1.5;
}

body,
#fill {
  background-color: #f9fcfd;
}

a,
a:visited {
  text-decoration: none;
  background-color: #20b1c8;
  box-shadow: 0 -13px 0 #30a7c1 inset;
  padding: 0 7px 1px;
  white-space: nowrap;
  display: inline-block;
  margin-bottom: 1px;
}

a:hover {
  background-color: #138698;
  box-shadow: 0 -13px 0 #047b95 inset;
}

a img:hover,
.singleImg:hover {
  opacity: 0.95;
}

section,
.section-space {
  margin-bottom: 40px;
}

ul {
  list-style: outside disc;
  padding-left: 20px;
  margin: 0;
}

ul ul {
  list-style-type: circle;
}

h1,
h2 {
  font-size: 52px;
  margin: 0;
  background-image: url("../img/stripes.png");
  background-color: #eee;
  color: #fff;
  padding: 8px 15px 14px;
  line-height: 100%;
  display: inline-block;
}

hr {
  border: 1px solid #ccc;
  clear: both;
}

.reset,
.reset:hover,
.reset:visited {
  padding: 0;
  margin: 0;
  box-shadow: none;
  background: none;
  display: inline;
}

.space {
  margin-bottom: 17px;
}

.space-up {
  margin-top: 100px;
}

.noBull {
  list-style: none;
  padding-left: 0;
}

.border {
  border-color: #bbb #ddd;
  border-style: solid;
  border-width: 2px;
  background-color: #f3f3f3;
}

.imgFitW {
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  position: relative;
}

.imgFitH {
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  position: relative;
}

.clear {
  clear: both;
}

.hide {
  display: none !important;
}

.subtleTxt {
  color: #bbb;
}

#left {
  width: 116px;
  float: left;
  margin-left: -100%;
  z-index: 1;
}

#center {
  width: 100%;
  float: left;
}

#main {
  padding: 70px 117px;
  margin: auto;
  max-width: 916px;
}

#right {
  width: 200px;
  float: right;
  margin-left: -100%;
}

/* colors */

body,
nav a {
  color: #555;
}

.colorSubTxt {
  color: #bdbfc0;
}

a,
nav a:hover {
  color: #eee;
}

/* logo */

#logo {
  background: url("../img/grafluxe-logo.svg") no-repeat;
  background-size: 188px 60px;
  height: 35px;
  width: 188px;
  position: absolute;
  right: 11px;
  top: 16px;
}

#logo:hover {
  height: 60px;
}

/* nav */

nav {
  line-height: 17px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  position: fixed;
  width: inherit;
}

nav ul {
  list-style: none;
  padding: 0;
}

nav a,
.selected {
  text-decoration: none;
  padding: 2px 0 5px;
  display: inline-block;
  width: 100%;
  background-color: inherit;
  box-shadow: none;
  text-indent: 8px;
  line-height: 17px !important;
  margin: 0;
}

nav a:hover {
  background-color: #666 !important;
  box-shadow: 0 -13px 0 #616161 inset;
}

nav a:visited {
  background-color: transparent;
}

.selected,
.selected:visited {
  background-color: #ec2c80;
  box-shadow: 0 -13px 0 #ea0073 inset;
  color: #fff;
  pointer-events: none;
}

#navBtn {
  width: 55px;
  height: 48px;
  background-color: #ec2c80;
  position: absolute;
  top: 0;
  display: none;
  cursor: pointer;
  padding-top: 12px;
  z-index: 1;
}

#navBtn:hover {
  background-color: #cc0c60;
}

.navBtnBar {
  background-color: #fff;
  height: 4px;
  margin: 6px auto;
  width: 50%;
  border-radius: 1px;
}

/* footer */

footer {
  width: 100%;
  min-width: 325px;
  position: fixed;
  left: 0;
  bottom: 0;
  min-height: 25px;
  background-color: #555;
  padding-top: 8px;
  font-size: 11px;
  z-index: 2;
  border-top: 1px solid #777;
}

#copyright {
  padding-left: 20px;
}

#footBtns {
  float: right;
  padding-right: 20px;
  cursor: default;
}

.footBtn {
  box-shadow: none;
  background-color: transparent;
  padding: 0;
  height: 17px;
  width: 17px;
  display: inline-block;
  margin-left: 7px;
  background-image: url(../img/sprite.svg);
  background-size: 54px 17px;
}

.footBtn:visited {
  background-color: transparent;
}

#favesBtn {
  background-position: 0;
}

#statsBtn {
  background-position: -18px 0;
}

#feedBtn {
  background-position: -36px 0;
}

#favesBtn:hover,
#statsBtn:hover,
#feedBtn:hover {
  opacity: 0.75;
  box-shadow: none;
  background-color: transparent;
}

#footBtnNote {
  float: right;
  padding-right: 5px;
  color: #9d9fa0;
}

/* home */

.homeImg {
  float: left;
  margin: 0 10px 10px 0;
  overflow: hidden;
}

.homeImg a {
  vertical-align: bottom;
  line-height: 0;
}

#homeImg1 {
  width: 590px;
  height: 332px;
}

#homeImg2,
#homeImg3 {
  width: 288px;
  height: 159px;
  margin-right: 0;
}

#homeImg4,
#homeImg5 {
  width: 440px;
  height: 248px;
}

#homeImg5 {
  margin-right: 0;
  width: 441px;
}

#latest-open-source {
  margin-top: 30px;
}

/* projects */

#fill {
  height: 110%;
  opacity: 0.7;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  display: none;
}

.proj {
  margin-bottom: 60px;
}

.projImgCont {
  height: 220px;
  margin: 1px 0;
  position: relative;
  overflow: hidden;
}

.projImgCont > .reset {
  display: block;
}

.projImgCont img {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
}

.projOver {
  display: none;
}

.projImg {
  display: inline-block;
  height: 100%;
  width: 100%;
}

.projImg img:after {
  color: #666;
  content: "Loading…";
  display: block;
  margin: -15px 20px;
  position: absolute;
  top: 0;
  z-index: 0;
}

.projOverQV,
.projOverVP {
  background-color: #20b1c8;
  color: #fff;
  cursor: pointer;
  font-size: 30px;
  height: 100%;
  opacity: 0.4;
  position: absolute;
  text-align: center;
  width: 42%;
  width: calc(50% - 70px);
  z-index: 1;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.projOverInner {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  pointer-events: none;
}

.projOverQV .projOverInner {
  left: 56%;
}

.projOverVP .projOverInner {
  left: 44%;
}

.projOverQV:hover,
.projOverVP:hover {
  opacity: 0.95;
  z-index: 2;
}

.projOverVP {
  right: 0;
}

.projOverQV:after,
.projOverVP:after {
  content: "";
  position: absolute;
  top: 0;
  z-index: -1;
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
}

.projOverQV:after {
  border-top: 220px solid #20b1c8;
  border-right: 130px solid transparent;
  right: -130px;
}

.projOverVP:after {
  border-bottom: 220px solid #20b1c8;
  border-left: 130px solid transparent;
  left: -130px;
}

.projDesc {
  display: none;
}

.projDesc > p {
  margin: 10px 0;
  display: inline-block;
}

.projTxt {
  width: 70%;
  width: calc(100% - 175px);
}

.projBtns,
.visitProjBtn {
  float: right;
}

.closeProjBtn {
  float: right;
  padding-left: 12px;
  padding-right: 12px;
  margin-left: 1px;
  background-color: #555 !important;
  box-shadow: none;
}

.closeProjBtn:hover {
  background-color: #333 !important;
  box-shadow: none;
  box-shadow: none;
}

.tags {
  font-size: 13px;
  text-transform: uppercase;
  padding: 0;
}

.tags li {
  float: left;
  margin: 0 1px 1px 0;
  list-style: none;
}

.tags a {
  display: inline-block;
  line-height: 26px;
  padding-bottom: 0;
  margin-bottom: 0;
}

.tagArrow {
  background-color: #555;
  color: #fff;
  height: 20px;
  padding: 4px 7px 2px;
  position: relative;
  margin: 0 15px 0 0 !important;
}

.tagArrow:after {
  border-bottom: 13px solid transparent;
  border-left: 13px solid #555;
  border-top: 13px solid transparent;
  content: "";
  position: absolute;
  right: -13px;
  top: 0;
}

.preview .reset {
  line-height: 0;
  display: block;
}

#filter {
  bottom: 32px;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 2;
  text-align: center;
  background-color: #ec2c80 !important;
  box-shadow: none !important;
  font-size: 15px;
  padding: 9px 0;
}

#filter:hover {
  background-color: #ea0073 !important;
}

.filteredTag {
  background-color: #ec2c80 !important;
  box-shadow: 0 -13px 0 #ea0073 inset !important;
  cursor: default;
}

/* single */

.singleImg {
  margin: 1px 0 15px;
  max-width: 912px;
  width: 100%;
  width: calc(100% - 4px);
  display: inline-block;
  text-align: center;
}

#single p,
.no-top-margin {
  margin-top: 0;
}

.twitter-share-button {
  vertical-align: top;
  color: #f9fcfd;
  padding: 0;
}

#shareBtns {
  line-height: 0;
}

#singleNav {
  margin-top: 100px;
  position: relative;
}

#singleNav a {
  width: auto;
  padding-right: 10px;
  padding-left: 10px;
  text-indent: 0;
}

#singleNavL {
  float: left;
  margin-left: -10px;
}

#singleNavR {
  float: right;
  text-align: right;
  margin-right: -10px;
}

#singleNavL br,
#singleNavR br {
  display: none;
}

/* resize yt vids: alistapart.com/article/creating-intrinsic-ratios-for-video */
.vidCont {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  padding-top: 35px;
  margin-bottom: 27px;
}

.vidCont iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 99.99%;
  border-color: #999;
  background-color: #999;
}

/* about */

#languages {
  max-width: 370px;
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 0;
  -moz-column-gap: 0;
  column-gap: 0;
}

/* scripts */

#scripts section > p > a {
  margin-top: 5px;
}

#scripts section > p {
  border-bottom: 2px solid #ccc;
  padding-bottom: 18px;
}

#scripts section > p:last-child {
  border: 0;
}

.scriptDesc {
  margin: 10px 0;
}

#additional-projs {
  margin: 90px 0 20px;
}

/* stats */

.statList {
  -webkit-column-count: 3;
  -moz-column-count: 3;
  column-count: 3;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
}

.statList li {
  float: none;
}

.statTags {
  background-color: #d5d5d5;
  color: #fff;
  display: inline-block;
}

.statTags > span {
  padding: 0 8px 0 4px;
  font-weight: bold;
}

#stats #main hr {
  margin-top: 40px;
}

/* feed */

.ig {
  width: 32%;
  max-width: 297px;
  margin: 0 !important;
}

/* faves */

.faveImg {
  float: left;
  margin: 0 10px 10px 0;
  width: 283px;
  height: 158px;
  overflow: hidden;
}

/* loading */

#loading {
  background-color: #ec2c80;
  width: 0%;
  height: 6px;
  display: none;
  left: 0;
  position: fixed;
  bottom: 34px;
  border-bottom: 1px solid #fff;
  z-index: 3;
}

/* no script */

noscript {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 5;
  padding: 90px 7%;
}

noscript p {
  width: 85%;
}

#noScriptBg {
  background: #fff;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.95;
  width: 100%;
  z-index: -1;
}

/* responsive */

@media all and (max-width: 1200px) {
  nav {
    position: static;
  }

  #navBtn {
    display: block;
  }

  nav ul {
    display: none;
  }

  #main {
    padding-left: 0;
    padding-right: 0;
  }

  #homeImg2 {
    margin-right: 10px;
  }

  #homeImg4,
  #homeImg5 {
    display: none;
  }
}

@media all and (max-width: 650px) {
  body {
    font-size: 16px;
  }

  h1,
  h2 {
    font-size: 7.5vw;
    background-color: #ccc;
    padding: 6px 10px 10px;
  }

  .projImgCont {
    height: 100px !important;
  }

  .projOver,
  .projDesc {
    display: none !important;
  }

  .proj {
    margin-bottom: 40px;
  }

  .visitProjBtn,
  .closeProjBtn {
    float: none;
  }

  #singleNav {
    margin-top: 40px;
  }

  #singleNavL br,
  #singleNavR br {
    display: block;
  }

  #singleNav span {
    display: none;
  }

  .singleImg {
    margin-bottom: 5px;
  }

  .vidCont {
    margin-bottom: 17px;
  }

  .statList {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
  }

  #homeImg1,
  #homeImg2,
  #homeImg3,
  #homeImg4,
  #homeImg5 {
    width: 100%;
    height: 158px;
  }

  .imgFitH {
    position: relative;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 100%;
    height: auto;
  }

  .faveImg {
    width: 100%;
  }

  .ig {
    width: 30%;
  }
}
