@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,900|Roboto");

* {
  box-sizing: border-box;
}

:focus {
  outline: none;
}

html {
  position: relative;
  height: 100%;
}

body {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  font-family: "Roboto", sans-serif;
  color: #111111;
  overscroll-behavior: none;
  background-color: white;
  background-size: cover;
  scroll-behavior: smooth;
}


p {
  font-size: 1rem;
  line-height: 1.6;
}

a {
  text-decoration: none;
}

figcaption p {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 1rem 0 0 0;
}

.center {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}

.main {
  width: 100%;
  height: 100%;
  overflow-x: auto;
}

.home-page {
  width: 100%;
  height: 100vh;
  position: relative;
  padding: 0;
  margin: 0;
  font-family: "Roboto", sans-serif;
  color: #111111;
  overscroll-behavior: none;
  background-color: rgba(255, 255, 255, 0.5);
  background-image: url(img/paper-mountains.gif);
  background-blend-mode: lighten;
  background-size: cover;
  background-repeat: no-repeat; 
}


.tech {
  font-weight: 600;
}

.tech-list {
  list-style-type: square;
}

.list {
  list-style-type: none;
}

#examples p {
  padding: 0.5rem 0;
  margin: 0;
}

#examples {
  padding: 1rem 0;
}

/* #foreverfox {
  display: none;
} */

.foreverfox {
  position: absolute;
  width: 100%;
  top: 33%;
  padding-left: 50px;
}

.foreverfox h2 {
  font-size: 2.5rem;
  line-height: 0.2;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
}

.foreverfox h3 {
  color: #bcb7b7;
}

#foreverfox p {
  width: 100%;
}

@media screen and (min-width: 300px) {
  .foreverfox {
    top: 60%;
    transform: translateY(-25%);
  }
}

@media screen and (min-width: 400px) {
  .foreverfox {
    top: 40%;
    transform: translateY(-40%);
  }
}


@media screen and (min-width: 768px) {
  .foreverfox {
    top: 25%;
    transform: translateY(-25%);
  }
}
.basic {
  text-align: right;
  padding: 12px 0 0 0;
  margin: 0;
}

.header {
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}

#fox {
  width: 100%;
}



.main-page, .about-page {
  position: relative;
  background-repeat: no-repeat;
}

.main-page {
/* background-image: url(img/fox-white.png); 
  background-size: contain;
  background-position: center bottom;
  height: 100vh; */
}



/*@media screen and (min-width: 300px){
.about-page {
  background-repeat: no-repeat;
  background-image: url(img/rabbit.png);
  background-size: 2000px;
  background-position-x: -200px;
  background-position-y: 350px;

}
} 

@media screen and (min-width: 768px){
.about-page {
  background-size: 1800px;
  background-position-x: -220px;
  background-position-y: 350px;
}
}

@media screen and (min-width: 1024px){
.about-page {
  background-size: contain;
  background-position: center bottom;
}
}

*/

@media screen and (min-width: 300px){
.about-content {
  padding: 10px 50px 10px 75px;
}



.about-logo {
  width: 250px;
  margin: 0 auto;
  padding-top: 4rem;
}

.about-logo img {
  max-width: 100%;
}

@media screen and (min-width: 1680px) {
  .about-logo {
    width: 400px;
    padding-top: 2rem;
  }
}

@media screen and (min-width: 1366px) {
  .main-page {
    background-position: center;
    background-size: cover;
  }
}

@media screen and (min-width: 1024px) {
  .main-page, .about-page {
    height: 100vh;
  }

  .main-page {
    background-image: url(img/bg-main.jpg);
    background-position: center bottom;
    background-size: contain;
  }
}

.main-image {
  padding-top: 135px;
}

@media screen and (min-width: 300px) {

.fox-overlay {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background-image: url(img/fox-white.png);
  background-size: cover;
  background-blend-mode: multiply;
  background-repeat: no-repeat;
  background-position-x: -280px;
  background-position-y: -100px;
}
}


@media screen and (min-width: 390px) {
.fox-overlay {
  width: 100%;
  height: 100%;
  background-image: url(img/fox-white.png);
  background-size: cover;
  background-blend-mode: multiply;
  background-repeat: no-repeat;
  background-position-x: -400px;
  background-position-y: 200px;
}
}

@media screen and (min-width: 768px) {
.fox-overlay {
  background-size: cover;
  background-position-x: -200px;
  background-position-y: 50px;
  background-blend-mode: multiply;
  background-repeat: no-repeat;
}
}

@media screen and (min-width: 1440px) {

.fox-overlay {
  width: 100%;
  height: 100%;
  background-image: url(img/fox-white.png);
  background-size: contain;
  background-blend-mode: multiply;
  background-repeat: no-repeat;
  background-position: center;
}
}

@media screen and (min-width: 768px) {

  .main-image {
    padding-top: 0;
  }
}

.mobile-header {
  height: 100px;
  position: fixed;
  top: 8px;
  left:50%;
  transform: translateX(-50%);
  z-index: 1000;
  display: none;
}

.mobile-header img {
  width: 100px;
}

@media screen and (min-width: 768px) {
  .mobile-header img {
    width: 150px;
  }
}

@media screen and (min-width: 1024px) {
  .mobile-header {
    display: none;
  }
}

#aboutSM {
  padding: 0;
  margin: 0;
  text-align: left;
}

#aboutGit {
  margin: 0;
  padding-left: 0;
}

.uppercase {
  text-transform: uppercase;
  font-size: 0.85rem;
  padding: 0;
}

.footer, .footer-special {  
  width: 100%;
  height: 32px;
  margin: 0 auto;
  padding: 0 100px;
  font-size: 12px; 
  color: #dcdcdc;
  text-align: center;
}

.footer {
  position: absolute;
  bottom: 0;
}

.footer p, .footer-special p {
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 768px) {
  .footer, .footer-special {
    text-align: right;
  }
}

/* Navigation */
.navigation {
  position: absolute;
  width: 100%;
  height: 100px;
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1000;
}


@media screen and (min-width: 300px) {

.navigation-left, .navigation-right {
  display: flex;
  align: center;
}

.navigation-left {
  padding-left: 1rem;
}
}

@media screen and (min-width: 768px) {
  .navigation-left, .navigation-right {
    padding-left: 200px;
  }

}

.navigation-left a {
  text-decoration: none;
  text-transform: uppercase;
  color: #212121;
  font-size: 0.85rem;
  font-weight: 900;
  letter-spacing: 0.5px;
  display: inline;
  padding-right: 2rem;
  transition: all .2s;
  font-family: "Source Sans Pro", sans-serif;
}

.navigation-left a:hover {
  color: #6cd8df;
}

.logo img{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  display: block;
  width: 200px;
  z-index: 1001;
}


.navigation-right {
  display: flex;
  align-items: center;
  margin: 0;
}

.navigation-right a {
  color:black;
  padding-right: 1rem
}

.navigation-right a:hover {
  color: #6cd8df;
}

.social-media {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.social-media li {
  display: block;
  padding: 0;  
  font-size: 1.2rem;
}  

@media screen and (min-width: 1024px) {
  .social-media li {
    display: inline-block;
    padding: 0.5rem;  
    font-size: 1.2rem;
  }  
}

.social-media li a {
  color: #877d78;
}

.social-media li a:hover , .project-content a:hover, .project-gallery a:hover #projectsNav a:hover, .about-content a:hover {
  color: #6cd8df;
}

.project-list {
  list-style-type: none;
  padding: 0;
  display: none;
}

.project-list li {
  font-size: 14px;
  text-align: left;
  padding-bottom: 1rem;
  text-transform: uppercase;
}

.project-detail {
  width: 60%;
  padding-bottom: 1rem;
}

.project-preview {
  padding: 0 1rem;
  margin: 0;
}

.project-preview {
  width: 300px;
  height: auto;
  padding-bottom: 1rem;
  box-shadow: 1px 1px 6px 1px #dcdcdc;
  margin: 1rem;
}

.project-preview img {
  max-width: 100%;
}

@media screen and (min-width: 640px) {
  .project-preview {
    width: 400px;
  }
}

@media screen and (min-width: 768px) {
  .project-preview {
    width: 580px;
  }
}

@media screen and (min-width: 1366px) {
  .project-preview {
    width: 640px;
  }
}

@media screen and (min-width: 1440px) {
  .project-preview {
    width: 960px;
  }
}

@media screen and (min-width: 1920px) {
  .project-preview {
    width: 1200px;
  }
}

/* Mobile Nav */
.sidenav {
  height: 100%;
  width: 75%;
  position: fixed;
  z-index: 1000000;
  top: 0;
  left: -100%;
  background-color: white;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 60px;
  box-shadow: 0 1rem 1rem 5px #dcdcdc;
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 25px;
  color: #818181;
  display: block;
  transition: 0.3s;
}

.sidenav a:hover {
  color: #f1f1f1;
}

.sidenav .closebtn {
  position: absolute;
  top: 0;
  right: 25px;
  font-size: 36px;
  margin-left: 50px;
}

#mobileNav {
  display: block;
}

#mobileNavOpen {
  color: #877d78;
  font-size: 2rem;
}

#main {
  position: fixed;
  padding: 10px;
  display: block;
  width: 100%;
  height: 100px;
  z-index: 1000;
  background-color: white;
}

.mainbar {
  position: fixed;
  background-color: white;
  height: 80px;
  z-index: 11000;
}

@media screen and (min-width: 768px) {
  .mobile-header {
    height: 100px;
  }
}

#projectsNav {
  position: relative;
} 

@media screen and (min-height: 800px) and (min-width: 1024px) {
  #projectsNav {
    position: fixed;
    z-index: 9999;
  }
}

#projectsNav p {
  width: 100%;
}

#projectsNavWrapper {
  width: 100%;
  height: 125px;
  position: fixed;
  z-index: 9999;
  background-color: white;
  display: none;
}

@media screen and (min-width: 1024px) {
  #projectsNavWrapper {
    display: block;
  }
}

@media screen and (max-width: 450px) {
  .sidenav {
    padding-top: 15px;
  }
  .sidenav a {
    font-size: 18px;
  }
}

@media screen and (min-width: 768px) {
  .project-list {
    display: block;
  }
}

/*#mainNav {
  display: none;
}
*/
@media screen and (min-width: 768px) {
  #mobileNav, #main {
    display: none;
  } 

  .project-list {
    display: block;
  }

  #mainNav {
    display: flex;
  }
}

@media screen and (min-width: 1024px) {
  .aside-img {
    width: 300px;
    position: fixed;
    left: 0;
    top: 50%;
  }
}

#asideImg {
  display: none;
  cursor: pointer;
  z-index: 9999999;
}

.aside-totop {
  color: #71df6c; 
  text-align: center;   
  font-weight: 300; 
  font-size: 1rem;
  text-transform: uppercase;
}

.totop {
  display: block;
}

@media screen and (min-width: 1024px) {
  .totop {
    display: none;
  }
}

.project-section {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
  padding-top: 200px;
}

.main-page, .about-page {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
  padding-top: 100px;
  background-color:  transparent;
}

@media screen and (min-width: 768px) {
  .main-page {
    margin-top: 0;
  }
}

.about-content img {
  padding: 0.5rem;
}

#chameleon {
  display: none;
}

#chameleon img {
  max-width: 100%;
}

@media screen and (min-width: 768px) and (min-height: 800px) {
  #chameleon {
    display: block;
    position: fixed;
    width: 360px;
    top: 60%;
    left: -30%;
    transform: translate(30%, -60%);  
  }
}

@media screen and (min-width: 1024px) {
  #chameleon {
    width: 480px;
    top: 70%;
    left: -20%;
    transform: translate(20%, -70%);
  }
}

@media screen and (min-width: 1440px) {
  #chameleon {
    width: 400px;
    top: 70%;
    left: -17%;
    transform: translate(17%, -70%);
  }
}

@media screen and (min-width: 1680px) {
  #chameleon {
    width: 360px;
    top: 70%;
    left: -1%;
    transform: translate(1%, -70%);
  }
}

@media screen and (min-width: 1920px) {
  #chameleon {
    width: 480px;
    position: fixed;
    top: 60%;
    left: -15%;
    transform: translate(15%, -60%);
  }
}

@media screen and (min-width: 1024px) {
  .project-section, .main-page, .about-page {
    display: flex;
    flex-wrap: wrap;
    flex-flow: row; 
    padding-top: 200px;   
  }
}

.about-content p, .project-content p, .project-gallery p {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .about-content p, .project-content p, .project-gallery p {
    width: 100%;
    padding: 1rem 0;
  }
}

@media screen and (min-width: 1440px) {
  .about-content {
    width: 50% !important;
  }
}

.project-content, .project-gallery {
  position: relative;
  width: 100%;
  margin: 0; 
  padding: 1rem;
}

@media screen and (min-width: 768px) {
  .project-content {
    padding: 0 50px;
  }
}

@media screen and (min-width: 768px) {
  .project-gallery {
    padding-left: 50px;
  }
}



.project-content h2, .project-content p, .about-content h2, .about-content p, .project-gallery h2, .project-gallery p {
  text-align: left;
}

.project-content a, .project-gallery a, .about-content a, .project-detail a, .totop a {
  color: #71df6c;
}

.project-content li a, .project-gallery li a {
  color: black;
}

.project-content a:hover, .project-gallery a:hover, .project-detail a:hover, .totop a:hover {
  color: #6cd8df;
}


@media screen and (min-width: 1024px) {
  .project-content {
    width: 40%;
  }
}

@media screen and (min-width: 1300px) {
  .project-content {
    width: 60%;
  }
}

@media screen and (min-width: 1680px) {
  .project-content {
    width: 35%;
  }  
}

@media screen and (min-width: 768px) {
  .project-gallery {
    width: 40%;
  }
}


@media screen and (min-width: 1024px) {
  .project-gallery {
    width: 10%;
  }  
}

.spacer {
  position: relative;
  width: 40%;
  margin: 0;
  padding: 0;
  display: block;
}

@media screen and (min-width: 768px) {
  .spacer {
    display: none;
  }
}

@media screen and (min-width: 1024px) and (min-height: 800px) {
  .spacer {
    display: block;
    width: 10%;
  }
}

@media screen and (min-width: 1366px) {
  .spacer {
    width: 5%;
  }
}

.section-title {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 2.75rem;
  font-weight: 300;
  line-height: 1.1;  
  color: black;
  margin-top: 0;
}

.project-type {
  text-transform: uppercase;
  font-size: 18px;
  color: #6a6760;
  text-align: left;
}

.fixed-info {
  position: fixed;
}

#portrait {
  width: 320px;
}

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

.projects-gallery {
  position: relative;
  display: flex;
}

.flex {
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
}

.illustrations {
  margin: auto;
  border: 1px solid green;
}

@media screen and (min-width: 1024px) {
  .origami, #portrait {
    width: 480px;
  }
}

@media screen and (min-width: 1366px) {
  .origami {
    width: 640px;
  }
}

@media screen and (min-width: 1024px) {
  .about-page {
    overflow: hidden;
  }
}

.projects-wrapper {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1rem;
}

@media screen and (min-width: 1024px) {
  .projects-wrapper {
    width: 100%;
    padding: 0;
    margin: 0;
  }
}

@media screen and (min-width: 1366px) {
  .projects-wrapper {
    width: 80%;
    margin: 0 auto;
  }
}

.gallery-wrapper, .about-wrapper {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1rem;
}

@media screen and (min-width: 1024px){
  .gallery-wrapper {
    width: 60%;
    padding: 0;
    margin: 0;
  }
}

@media screen and (min-width: 1024px){
  .gallery-wrapper {
    width: 80%;
  }
}

.gallery-items {
  position: relative;
  width: 300px;
  height: 300px;
  display: block;
  cursor: pointer;
  margin: 0.5rem;
  box-shadow: 1px 1px 6px 1px #dcdcdc; 
}

.gallery-items img {
  max-width: 100%;
}

.gallery-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: .5s ease;
  background-color: #9556a1;
}

.gallery-items:hover .gallery-overlay {
  opacity: 1;
}

.gallery-items-text {
  color: white;
  font-size: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

@media screen and (min-width: 1680px) {
  .gallery-items {
    width: 320px;
    height: 320px;
  }   
}

#paper-1 {
  background-image: url(img/paper-1.png);
  background-repeat: no-repeat;
}

#paper-2 {
  background-image: url(img/paper-2.png);
  background-repeat: no-repeat;
}

#heading {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 30px;
  font-weight: 200;  
  color: #52504b;
  letter-spacing: 4px;
}


@media screen and (min-width: 300px) {
  .preview {
    width: 320px;
    height: auto;
  }

  #aboutSM li {
  font-size: 1.25rem;
  padding-top: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .preview {
    width: 400px; 
    position: absolute;
    right: 10%;      
  }

  #heading {
    font-size: 40px;
  }
}

@media screen and (min-width: 1200px) {
  #aboutSM li {
  font-size: 1.5rem;
  padding-top: 1.5rem;
  }
}

@media screen and (min-width: 1366px) {
  .preview {
    position: absolute;    
    width: 512px;
  } 

  #heading {
    font-size: 60px;
  }
}

@media screen and (min-width: 1620px) {
  .preview {
    position: absolute;  
    width: 600px;
  } 
}

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

/* NEW NAVIGATION */

/* Add a black background color to the top navigation */
.topnav {
  width: 100%;
  position: fixed;
  top: 0;
  padding: 1em;
  z-index: 1000;
  transition: top 0.3s;
}

/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  text-decoration: none;
  text-transform: uppercase;
  color: #212121;
  font-size: 0.85rem;
  font-weight: 900;
  letter-spacing: 0.5px;
  display: inline;
  align-items: center;
  padding-right: 2rem;
  transition: all .2s;
  font-family: "Source Sans Pro", sans-serif;
}

/* Change the color of links on hover */
.topnav a:hover {
  color: #6cd8df;
}

/* Add a color to the active/current link */
.topnav a.active {
  color: black;
}

/* Centered section inside the top navigation */
.topnav-centered a {
  float: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Right-aligned section inside the top navigation */
.topnav-right {
  float: right;
}

@media screen and (min-width 300px) {
  .topnav-right, .topnav-right a {
  display: none;
}
}



.topnav-right a {
  display: inline-block;
  padding: 0 0.5rem;  
  font-size: 1.1em;  
}

/* Responsive navigation menu - display links on top of each other instead of next to each other (for mobile devices) */
@media screen and (max-width: 500px) {
  .topnav a, .topnav-right {
    float: none;
    display: block;
  }

  .topnav a {
    padding: 0.5rem;
  }

  .topnav-centered a {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
  }
}

img {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  -webkit-user-drag: none;
  user-drag: none;
}
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);