html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}

.clearfix:after {visibility: hidden; display: block; font-size: 0; content: ''; clear: both; height: 0; }

html { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}

*, *:before, *:after {box-sizing: inherit}

.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; white-space: nowrap; clip-path: inset(100%); clip: rect(0 0 0 0); overflow: hidden;}

/* remove all styling */
* {
    margin: 0;
    padding: 0;
}

body {
  overflow: auto;
  color: rgb(253, 243, 229);
  background: rgb(26, 24, 32);
  font-size: 2rem;
}

.wrapper {
  max-width: 1600px;
  width: 90%;
  margin: 0 auto;
  padding: 20px 0;
}

ul, 
ol, 
li {
    list-style: none;
}

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

a:focus {
    outline: none;
    border: none;
}

input, 
button {
    border: none;
    box-shadow: none;
    background: none;
    cursor: pointer;
}

button:focus {
  outline: 0;
}

html {
    font-size: 62.5%;
    margin: 0;
    padding: 0;
    font-weight: 300;
    font-family: 'Josefin Sans', monospace;
}

img {
    width: 100%;
    display: block;
    object-fit: cover;
}

h2 {
  text-align: right;
  font-size: 7rem;
  font-family: 'Amatic SC', serif;
  letter-spacing: 3px;
  margin: 20px 0 35px 0;
  border-top: 5px dotted rgba(253, 243, 229, 0.5);
}

canvas {
  position: absolute;
  top: 0;
  z-index: -300;
  background-color: rgb(26, 24, 32);
}

#particles-js {
    height: 100vh;
    overflow: auto;
    cursor: url(../assets/cursor.png), auto;
}

/* ------------------ */

nav {
  display: flex;
  align-items: center;
}

.homeButton {
  padding: 0 10px 0 0;
  font-weight: 800;
  position: fixed;
  z-index: 1000;
  border-right: 3px solid transparent;
}

.homeButton:hover, 
.homeButton:focus {
  color: rgb(190, 142, 212);
  border-right: 3px solid;
}

nav ul {
  width: 250px;
  margin-left: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

nav li {
  display: flex;
  align-items: center;
}

nav li a {
  border: 2px solid rgb(190, 142, 212);
  color: rgb(190, 142, 212);
  border-radius: 5px;
  padding: 5px 10px;
    font-weight: 500;
}

nav li a:hover, 
nav li a:focus {
  background: rgb(190, 142, 212);
  color: rgb(253, 243, 229);

}

nav button {
  width: 50px;
}

nav button:hover, 
nav button:focus {
    transform: rotate(-5deg) rotateY(180deg);
}

.invert,
.invert .profilePic, 
.invert .projectBin img {
    filter: invert(1);
}

.invert {
  background: rgb(229, 231, 223);
}

.projects {
  position: relative;
}

.navBtn {
  position: absolute;
  border: 2px solid transparent;
  padding: 3px;
  border-radius: 3px;
  top: 50%;
}

.navBtn:focus, 
.navBtn:hover {
  border: 2px solid rgba(253, 243, 229, 0.3);
}

.left {
  transform: rotate(90deg);
  left: 0;
}

.right {
  transform: rotate(270deg);
  right: 0;
}

.projectSlider {
  display: flex;
  overflow: hidden;
  position: relative;
  width: 75%;
  margin: 0 auto;
  text-align: center;
}

.projectBin {
  min-width: calc(100% / 3);
  display: flex;
  flex-direction: column;
  position: relative;
  left: 0;
  transition: all 200ms ease-in-out;
  padding: 0 10px;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
}


.projectBin:hover, 
.projectBin:focus-within {
  border-left: 3px solid rgba(190, 142, 212, 0.7);
  border-right: 3px solid rgba(190, 142, 212, 0.7);
}

.projectBin:hover h3, 
.projectBin:focus-within h3 {
  color: rgba(190, 142, 212, 0.7);
}

.projectTitle {
  height: 75px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

h3 {
  width: 100%;
}

.projectTitle i {
  opacity: 0.6;
}

.projectTitle a {
  padding: 5px;
  text-decoration: underline;
}

.projectTitle a:hover, 
.projectTitle a:focus  {
  color: rgb(227, 168, 255);
}

.imgBin {
  transition: 0.5s linear;
  position: relative;
  bottom: 0;
  transition: all 500ms linear;
  transform: rotateX(0);
  z-index: 100;
}

.imgBin img {
  border-radius: 7px;
}

.imgBin:focus {
  filter: invert();
}

.infoBin {
  padding: 0 7px;
  width: calc(100% - 20px);
  position: absolute;
  transition: all 500ms linear;
  color: rgb(43, 38, 56);
  background: rgba(255, 242, 224, 0.7);
  bottom: -100%;
  height: calc(100% - 75px);
  transform: rotateX(90deg);
  border-radius: 7px;
  font-family: 'Josefin Sans', monospace;
  font-weight: 400;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.4;
}

.infoBin a {
  color: rgb(130, 95, 145);
}

.infoBin a:hover, 
.infoBin a:focus {
  text-decoration: underline;
  color: rgb(114, 66, 136);
}

.infoBin ul {
  display: flex;
  justify-content: center;
}

.infoBin li {
  margin: 3% 1%;
  width: 40px;
  padding: 7px;
  border-radius: 50%;
  background: rgba(26, 24, 32, 0.9);
}

p {
  width: 100%;
}

/* --------- */

.skills {
  position: relative;
}

.skills ul {
  width: calc(100% + 20px);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.skills li {
  min-width: 50px;
  text-align: right;
  padding: 15px 20px;
  font-size: 3rem;
  z-index: 100;
}

.skills li img {
  width: 30px;
  position: relative;
  left: calc(100% - 30px);
}

.skills li img, 
.skills li i {
  transition: transform 200ms ease-in-out;
}

.skills p {
  width: auto;
  position: absolute;
  opacity: 0;
  top: 41px;
  right: 170px;
}

.skills p::before {
  content: "{ ";
}

.skills p::after {
  content: " }";
}

.active {
  opacity: 1;
}
.skills li:hover img, 
.skills li:hover i{
  transform: scale(1.5);
  filter: hue-rotate(270deg) saturate(1000%);
}

.skills li:hover p {
  opacity: 1;
}

.skills img {
  width: 30px;
}

/* ---------- */

.normalFoot {
  display: flex;
  position: fixed;
  justify-content: flex-end;
  bottom: 13px;
  font-size: 13rem;
  opacity: 0.07;
  font-weight: 900;
  font-family: 'Amatic SC', serif;
}

.mobileFoot {
  font-family: 'Amatic SC', serif;
  font-weight: 500;
  text-align: center;
  display:none;
}

.mobileFoot a {
  display: block;
  border: 5px dotted rgba(253, 243, 229, 0.5);
  padding: 20px;
  margin: 15px 0 30px 0;
  font-family: 'Josefin Sans', monospace;
  font-weight: 900;
}

.mobileFoot a:hover, 
.mobileFoot a:focus {
  background: rgb(253, 243, 229);
  border-radius: 3px;
  color: rgb(26, 24, 32);
}

@media(max-width: 1400px) {
  .projectBin, 
  .infoBin {
    min-width: calc(100% / 2);
  }
}

@media(max-width: 850px) {
  .projectBin {
    min-width: 100%;
  } 
}

@media(max-width: 605px) {
  .skills ul {
    width: 100%;
    justify-content: center;
  }
  h2 {
    text-align: center;
  }

  .skills p {
    top: 80px;
    right: 0;
    font-size: 2.3rem;
  }
}

@media(max-width: 500px) {
  nav li a {
    display: none;
  }

  .navBtn {
    width: 35px;
    top: 30px;
  }

  .projectSlider{
    margin: 0;
    width: 100%;
  }

  .skills ul {
    width: 100%;
    justify-content: center;
  }

  .normalFoot {
    display: none;
  }

  .mobileFoot {
    display: block;
  }
}


@media(max-width: 400px) {
  .projectTitle a {
    font-size: 1.7rem;
  }

  .infoBin {
    padding: 3px;
    font-size: 1.7rem;
    line-height: 1.3;
  }

  .infoBin li {
    width: 30px;
    margin: 0 1%;
  }
}