/* Custom CSS */
body {
  background-color:  #ffffff;
  color: #666;
}

code {
  border: 0px;
}

.body--overflow {
  overflow-x: hidden;
}

.body--overlay {
  background-color: rgba(0,0,0,.7);
  display: none;
  height: 100%;
  left: 0;
  padding: 2rem;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 100;
}

.body--overlay__img {
  margin: 0 auto;
  max-height: 80vh;
  max-width: 100%;
}

.body--overlay__control {
  color: #FFFFFF;
  font-size: 3rem;
  position: absolute;
  top: 50%;
  bottom: 50%;
}

.control--left {
  left: 30px;
}

.control--right {
  right: 30px;
}

.control--exit {
  right: 30px;
  top: 30px;
}

@media (max-width: 650px) {
  .body--overlay {
    padding: 0;
  }
  .body--overlay__img {
    margin: 60px auto;
    max-height: auto;
  }
  .control--left,
  .control--right {
    opacity: 0.5;
  }
  .control--left:hover,
  .control--right:hover {
    opacity: 1;
  }
  .control--left {
    left: 10px;
  }
  .control--right {
    right: 10px;
  }
  .control--exit {
    right: 10px;
    top: 10px;
  }
}

  .header::before, .features--work::before {
    background: -moz-linear-gradient(-45deg, rgba(103,14,54,1) 0%, rgba(103,14,54,1) 20%, rgba(149,191,229,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgba(103,14,54,1) 0%,rgba(103,14,54,1) 20%,rgba(149,191,229,1) 80%,rgba(125,185,232,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, rgba(103,14,54,1) 0%,rgba(103,14,54,1) 20%,rgba(149,191,229,1) 80%,rgba(125,185,232,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#670e36', endColorstr='#007db9e8',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    content: "";
    display: block;
    position: absolute;
    width: 100%;
  }

  .header::before {
    height: 100%;
    opacity: 0.89;
    z-index: 1;
  }

  .header {
    background-attachment: fixed;
    background-position: 0% 0%;
    background-repeat: no-repeat;
    background-size: 100%;
    position: relative;
    width: 100%;
  }

  .header--bh {
    background-image: url("../images/bg/bg-bh.png");
  }

  .header--blog {
    background-image: url("../images/bg/bg-blog.png");
  }

  .header--craigslist {
    background-image: url("../images/bg/bg-craigslist.png");
  }

  .header--enginecreative {
    background-image: url("../images/bg/bg-ec.png");
  }

  .header--hackernews {
    background-image: url("../images/bg/bg-hackernews.png");
  }

  .header--wmt {
    background-image: url("../images/bg/bg-wmt.png");
  }

  .project-header {
    padding: 0 0 8rem;
}

/*
.header {
  background: -moz-linear-gradient(-45deg, rgba(103,14,54,1) 0%, rgba(103,14,54,1) 20%, rgba(149,191,229,1) 100%); /* FF3.6-15 */
  /*background: -webkit-linear-gradient(-45deg, rgba(103,14,54,1) 0%,rgba(103,14,54,1) 20%,rgba(149,191,229,1) 80%,rgba(125,185,232,1) 100%); /* Chrome10-25,Safari5.1-6 */
  /*background: linear-gradient(135deg, rgba(103,14,54,1) 0%,rgba(103,14,54,1) 20%,rgba(149,191,229,1) 80%,rgba(125,185,232,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#670e36', endColorstr='#007db9e8',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}*/

@keyframes animateBg {
  from {
    background-position:0 0%;
}
  to {
    background-position:0 100%;
}
}

@keyframes animateWorkBg {
  from {
    background-position: 0 0%;
}

  to {
    background-position: 100% 100%;
}
}

.project-header {
  color: #fff;
  font-weight: 100;
  padding: 0 0 8rem;
  position: relative;
  z-index: 1;
}

.project-header--home {
  text-align: center;
}

.project-header--work {
  text-align: left;
}

.project-header__buttons {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}

.project-header__title {
  font-weight: 100;
  display: block;
  margin-bottom: 1.5rem;
}

.project-header__description {
  color: #FFF;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 3rem;
  display: block;
  margin-bottom: 2rem;
}

.features {
  font-weight: 400;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.features#overview, .features#contribution, .features#images {
  padding-top: 12rem;
  padding-bottom: 12rem;
}

.features--work {
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: 100%;
  position: relative;
  z-index: -20;
}

.features--work::before {
  height: 100%;
  opacity: 0.3;
  z-index: -19;
}

.features--home--1-4 {
  background-position: 0% 20%;
}

.features--home--2-4 {
  background-position: 0% 40%;
}

.features--home--3-4 {
  background-position: 0% 60%;
}

.features--home--4-4 {
  background-position: 0% 80%;
}

.features--work--1-3 {
  background-position: 0% 33.33%;
}

.features--work--2-3 {
  background-position: 0% 66.66%;
}

.features--work--3-3 {
  background-position: 0% 99.99%;
}

@media (max-width: 650px) {
  .features--home--1-4,
  .features--home--2-4,
  .features--home--3-4,
  .features--home--4-4,
  .features--work--1-3,
  .features--work--2-3,
  .features--work--3-3 {
    background-position: 0 0%;
  }
}

.features__title {
  border-left: none;
  border-right: none;
  color: #670E36;
  display: inline-block;
  padding: 1rem 0;
  position: relative;
  transition: all 1s;
  text-transform: uppercase;
}

.features__title::before, .features__title::after {
  border: 1px solid #1D2236;
  content: "";
  position: absolute;
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transition-duration: 1s;
  -moz-transition-duration: 1s;
  -o-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-property: all;
  -moz-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0,0.98,0.51,0.93);
  -moz-transition-timing-function: cubic-bezier(0,0.98,0.51,0.93);
  -o-transition-timing-function: cubic-bezier(0,0.98,0.51,0.93);
  transition-timing-function: cubic-bezier(0,0.98,0.51,0.93);
}

.features__title::before {
border-left: none;
border-right: none;
border-top: none;
left: 100%;
right: 0;
top: 0;
}

.features__title::after {
border-left: none;
border-right: none;
border-bottom: none;
left: 0;
right: 100%;
bottom: 0;
}

.features__title--border::before, .features__title--border::after {
  content: "";
  display: inline-block;
}

.features__title--border::before {
left: 0%;
}

.features__title--border::after {
right: 0%;
}

.features--red {
  background-color: #C3423F;
}
.features--black {
  background-color: #333;
  color: #FFF;
}
.features--left {
  text-align: left;
}
.features--center {
  text-align: center;
}
.features--right {
  text-align: right;
}

.features h2 {
  margin-bottom: 2.1rem;
}

.features h5 {
  font-weight: 400;
  margin-bottom: .2rem;
  font-size: 1.9rem;
}

.features p {
  margin-bottom: 1.3rem;
  line-height: 2.1rem;
}

.features__img {
  position: relative;
}

.features__img--container {
  background-color: rgba(103,14,54,0.8);
  bottom: 0;
  display: block;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: 200px;
  opacity: 0;
  padding: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  transition: .5s ease;
  width: 100%;
  z-index: 3;
}

.features__img--container:hover, .features__img--container:hover .features__img--text {
  opacity: 1;
}

.features__img--text {
  bottom: 40%;
  color: #FFF;
  display: inline-block;
  font-weight: bold;
  position: relative;
  opacity: 0;
  text-align: center;
  top: 40%;
  transition: all 0ms ease;
}

.features__img--text:hover::after {
  border-top: 1px solid #FFFFFF;
  border-left: none;
  border-right: none;
  border-bottom: none;
  content: "";
  display: inline-block;
  right: 0%;
}

.features__img--text::after {
  border-top: 1px solid transparent;
  bottom: -5px;
  content: "";
  left: 0%;
  right: 100%;
  position: absolute;
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transition-duration: 1s;
  -moz-transition-duration: 1s;
  -o-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-property: all;
  -moz-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: cubic-bezier(0,0.98,0.51,0.93);
  -moz-transition-timing-function: cubic-bezier(0,0.98,0.51,0.93);
  -o-transition-timing-function: cubic-bezier(0,0.98,0.51,0.93);
  transition-timing-function: cubic-bezier(0,0.98,0.51,0.93); }

.features--left img {}
.features--center img {
  margin-left: auto;
  margin-right: auto;
}
.features--right img {
  margin-left: auto;
  margin-right: 0;
}
.features p a {
  color: #333;
  font-weight: 700;
  border-bottom: 3px solid #E84855;
}

.features p a:hover {
  color: #111;
  border-bottom: 3px solid #FC6471;
  transition-duration: 200;
}
.features--red p a {
  border-color: #FFF;
}
.features--red p a:hover {
  border-color: #888;
}
.features--black p a {
  color: #FFF;
}
.features--black p a:hover {
  color: #888;
}

.features__closed {
  background-color: #95BFE5;
  color: #FFFFFF;
  display: inline-block;
  padding: .2rem;
  text-transform: uppercase;
}

.features__bullet {
  color: #670E36;
  font-weight: bold;
}

.features__bullet--contact {
  list-style: none;
}

.features__bullet--contact a {
  color: #670E36;
}

.features__bullet--contact a:hover {
  color: #1D2236;
}

.features__bullet--contact li::before {
  font-family: "Font Awesome 5 Free";
  padding: 0 5px 0 0;
}

.features__bullet--contact li:hover::before {
  color: #1D2236;
}

.features__bullet--contact--email::before {
  content: "\f199";
}

.features__bullet--contact--phone::before {
  content: "\f098";
}

.features__bullet--contact--file::before {
  content: "\f1c1";
}

.features__form {
  display: inline-block;
  margin: 0 auto;
}

.features__form--text,
.features__form--textarea {
  display: block;
  width: 30rem;
}

.tabs--list {
  padding-top: 4rem;
  padding-bottom: 1rem;
}

.tabs__item {
  border-bottom: 1px solid #7E7E7E;
  display: inline-block;
  text-decoration: none;
  text-align: center;
  line-height: 5.8rem;
  height: 5.8rem;
  padding: 0 4rem;
  color: #666;
}

.tabs__item.tabs__active {
  color: #FFF;
  background: #7E7E7E;
  border: 1px solid #7E7E7E;
  font-weight: 700;
}

.tabs--content {
  display: none;
  padding: 2rem;
  color: #666;
}

.tabs--content__show {
  display: block;
}
.accordion {
  margin-bottom: 4rem;
}

.accordion--header {
    border-bottom: 1px solid #7E7E7E;
    cursor: pointer;
    padding: 2rem 0;
}

.accordion--header:hover {
    background: #F6F7F9;
}

.accordion--header.accordion__active {
  font-weight: 700;
}
.accordion--content {
    display: none;
    border-bottom: 1px solid rgba(0,0,0,.025);
    background: rgba(0,0,0,.025);
    padding: 2rem 2rem 4rem;
}

.accordion--header::before {
    content: '';
    vertical-align: middle;
    display: inline-block;
    width: .75rem;
    height: .75rem;
    border-radius: 50%;
    background-color: #B1B5BE;
    margin-right: .75rem;
}

.accordion--header.accordion__active::before {
    background-color: #FC6468;
}

.tooltip {
  border-bottom: 3px dotted #7E7E7E;
  display: inline-block;
  position: relative;
}

.tooltip:hover .tooltip__text {
  visibility: visible;
}

.tooltip__text {
  background: #FFFFFF;
  border: 1px solid #7E7E7E;
  border-radius: 0.2rem;
  padding: 1.3rem;
  position: absolute;
  width: 26.813rem;
  visibility: hidden;
  z-index: 1;
}

.tooltip__text::after {
  border-style: solid;
  border-width: 1rem;
  content: "";
  left: 10%;
  position: absolute;
}
.tooltip__text--top {
  bottom: 3.725rem;
}

.tooltip__text--top::after {
  border-color: #7E7E7E transparent transparent transparent;
  top: 100%;
}

.tooltip__text--bottom {
  top: 3.725rem;
}

.tooltip__text--bottom::after {
  border-color: transparent transparent #7E7E7E transparent;
  bottom: 100%;
}

/* Navbar */

.navbar > .container,
.project-header > .container {
  padding: 20px 10px;
  width: 100%;
}


.navbar__toggle--button {
  display: inline-block;
  float: right;
  margin: 1.6rem 0 0 1.6rem;
  padding: 1rem 0;
  position: relative;
  transition: .25s;
  width: 20px;
  overflow-y: hidden;
  z-index: 20;
}

.navbar__img {
  float: left;
  max-width: 50px;
  position: relative;
  z-index: 5;
}

.navbar--list {
  clear: left;
  list-style: none;
  margin: 1.5rem 0;
  position: relative;
  z-index: 2;
}

.navbar--list--main {
  display: inline-block;
  float: left;
}
.navbar--list--contact {
  font-size: 2.3rem;
  float: right;
  text-align: right;
}

.navbar--link {
  text-transform: uppercase;
  font-weight: 100;
  text-decoration: none;
  color: #eee;
}

.navbar--link--contact i {
  vertical-align: text-top;
}

.navbar--link--contact .fa-file-pdf::before {
  margin-left: 1.5px;
}

.navbar--link--contact span {
  display: inline-block;
  font-size: 1.2rem;
  line-height: normal;
  position: relative;
  top: -7px;
  text-decoration: underline;
  text-transform: none;
}

.navbar--overlay::after {
  background: -webkit-linear-gradient(135deg, rgba(103,14,54,1) 0%, rgba(103,14,54,0.8) 100%);
  background: -moz-linear-gradient(135deg, rgba(103,14,54,1) 0%, rgba(103,14,54,0.8) 100%);
  background: linear-gradient(135deg, rgba(103,14,54,1) 0%, rgba(103,14,54,0.8) 100%);
  bottom: 0;
  content: '';
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 2;
}

.navbar--overlay > *, .navbar--overlay + *, .navbar--overlay + * + * {
  position: relative;
  z-index: 3;
}

.navbar__hide--X {
  animation: slideOutX 0.5s forwards;
  -webkit-animation: slideOutX 0.5s forwards;
  opacity: 0;
  pointer-events: none;
}

.navbar__hide--Y {
  animation: slideOutY 0.5s forwards;
  -webkit-animation: slideOutY 0.5s forwards;
  opacity: 0;
  pointer-events: none;
}

.navbar__show--X {
  animation: slideInX 0.5s forwards;
  -webkit-animation: slideInX 0.5s forwards;
  opacity: 1;
  pointer-events: auto;
}

.navbar__show--Y {
  animation: slideInY 0.5s forwards;
  -webkit-animation: slideInY 0.5s forwards;
  opacity: 1;
  pointer-events: auto;
}


.navbar__bar {
  position: absolute;
  transition: .5s;
  width: 80%;
}

.navbar__bar--top, .navbar__bar--btm {
  border: 2px solid #FFF;
}

.navbar__bar--top, .navbar__bar--mid {
  top: 0;
}

.navbar__bar--top {
  border-bottom: none;
}

.navbar__bar--mid {
  background-color: #FFF;
  height: 2px;
  margin: 6px 0;
}

.navbar__bar--btm {
  border-top: none;
  top: 12px;
}

.navbar__open {
  position: relative;
}

.navbar__open .navbar__bar--top {
  transform: rotate(45deg) translate(5px, 5px);
  transition: .5s;
}

.navbar__open .navbar__bar--mid {
  transform: translate(100px);
  transition: .1s ease-in;
  opacity: 0;
}

.navbar__open .navbar__bar--btm {
  transform: rotate(-45deg) translate(3.5px, -3.5px);
  transition: .5s;
}

@keyframes slideInX {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}
}

@-webkit-keyframes slideInX {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}
}

@keyframes slideOutX {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}
}

@-webkit-keyframes slideOutX {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}
}


@keyframes slideInY {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}
}

@-webkit-keyframes slideInY {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}
}

@keyframes slideOutY {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}

  100% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}
}

@-webkit-keyframes slideOutY {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}

  100% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}
}


/* Footer */
footer {
  background-color: #192023;
  padding: 20px 0;
}

footer ul, section.contact ul.list-social {
  margin-bottom: 0;
}

footer, footer ul li a {
  color: rgba(255,255,255,.3);
}

footer, section.contact {
  text-align: center;
}

footer p {
  margin: 0;
}

.footer {
  background-color: #670E36;
}

.footer__img {
  float: left;
  max-width: 40px;
}

.footer--list {
  float: right;
  position: fixed;
}

/* Scrollbars */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-button {
  width: 8px;
  height: 5px;
}

::-webkit-scrollbar-track {
  background: #333;
  border: thin solid #111;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  background: #222;
  border: thin solid #222;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #333;
  border: thin solid #222;
  border-radius: 10px;
}

/* Larger than tablet */
@media (min-width: 550px) {
  .navbar > .container,
  .project-header > .container {
    padding: 20px;
    width: 90%;
  }
}

@media (min-width: 650px) {
  .project-header {
    z-index: 3;
  }

  /* Navbar */
  .navbar {
    background: none;
    display: inline-block;
    position: relative;
    width: 100%;
    z-index: 9999;
}

  .navbar__img {
    float: left;
    max-width: 70px;
}

  .navbar-spacer {
    display: none;
}

  .navbar--overlay::after {
    z-index: 0;
  }

  .navbar__toggle--button {
    margin: 2.3rem 0 0 1.6rem;
  }

  .navbar--list {
    clear: none;
    float: right;
    list-style: none;
    margin: 2rem 0;
}

  .navbar--list--main {
    display: inline-block;
    float: right;
    position: relative;
    transform: translateX(100%);
    -webkit-transform: translateX(100%);
}

  .navbar--list--contact {
    position: absolute;
    right: 23px;
    transform: translateY(100%);
    -webkit-transform: translateY(100%);
    top: 70px;
}

  .navbar__item {
    position: relative;
}

  .navbar__item--main {
    font-size: 1.5rem;
    float: left;
    margin-right: 15px;
}

  .navbar__item--contact {
    display: block;
    margin-bottom: 15px;
    margin-left: 15px;
}


  .navbar--link--main::after {
    border-top: 1px solid transparent;
    bottom: 5px;
    content: "";
    left: 0%;
    right: 100%;
    position: absolute;
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 1s;
    -moz-transition-duration: 1s;
    -o-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-property: all;
    -moz-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-timing-function: cubic-bezier(0,0.98,0.51,0.93);
    -moz-transition-timing-function: cubic-bezier(0,0.98,0.51,0.93);
    -o-transition-timing-function: cubic-bezier(0,0.98,0.51,0.93);
    transition-timing-function: cubic-bezier(0,0.98,0.51,0.93); }

  .navbar--link--main:hover::after {
    border-top: 1px solid #FFFFFF;
    border-left: none;
    border-right: none;
    border-bottom: none;
    content: "";
    display: inline-block;
    right: 0%; }

  .navbar--link--contact {
    display: block;
    font-size: 2rem;
    padding-left: 2rem;
    position: relative;
}


  .navbar--link--contact span {
    position: absolute;
    opacity: 0;
    right: 30px;
    top: 2px;
    white-space: pre;
    z-index: -1;
}

  /* Features */
  .features__bullet--contact li {
    display: inline-block;
    width: 32%;
  }
}

@media (min-width: 1000px) {
  .project-header {
    padding: 4rem 0 12rem;
  }
  .navbar {
    padding: 2rem 0 0;
}
  .navbar > .container,
  .project-header > .container {
    padding: 0;
    width: 80%;
}
  .navbar--list--contact {
    right: 5px;
    top: 50px;
  }
  .navbar__item--main {
    margin-right: 35px;
  }
  .navbar__item--main:last-of-type {
    margin-right: 10px;
  } }
