@keyframes slideLeft {
  0% {
    width: 0; }
  100% {
    width: 100%; } }
* {
  font-family: 'Montserrat', sans-serif;
  transition-duration: .6s;
  color: #343434; }

html,
body {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  overflow-x: hidden; }

h1,
h2,
h3 {
  font-weight: 400; }

p,
li {
  font-size: 16px;
  font-weight: 300; }

small {
  font-size: 12px;
  font-weight: 200; }

h1 {
  font-size: 20px; }

h2 {
  font-size: 18px; }

h3 {
  font-size: 16px; }

.loadingScreen {
  position: fixed;
  z-index: 9998;
  width: 100vw;
  height: 100vh;
  transition-duration: .6s;
  opacity: 0;
  background-color: #343434; }
  .loadingScreen.open {
    display: block;
    opacity: 1; }
  .loadingScreen .text {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    text-align: center;
    transform: translate(-50%, -50%); }
    .loadingScreen .text span {
      font-family: 'Montserrat', sans-serif;
      font-size: 30px;
      animation: loading 2s infinite;
      color: #edf1f5; }
      .loadingScreen .text span:nth-of-type(2) {
        animation-delay: .2s; }
      .loadingScreen .text span:nth-of-type(3) {
        animation-delay: .3s; }
      .loadingScreen .text span:nth-of-type(4) {
        animation-delay: .4s; }
      .loadingScreen .text span:nth-of-type(5) {
        animation-delay: .5s; }
      .loadingScreen .text span:nth-of-type(6) {
        animation-delay: .6s; }
      .loadingScreen .text span:nth-of-type(7) {
        animation-delay: .7s; }

@keyframes loading {
  0% {
    font-size: 30px; }
  25% {
    font-size: 38px; }
  50% {
    font-size: 22px; }
  100% {
    font-size: 30px; } }
header {
  position: fixed;
  z-index: 9999;
  top: 10px;
  left: 30px; }
  header .logo {
    height: 80px; }
    header .logo:hover {
      opacity: .5; }

.menuIcon {
  position: fixed;
  z-index: 9999;
  top: 20px;
  right: 30px;
  width: 40px;
  height: 80px; }
  .menuIcon div {
    width: 100%;
    height: 3px;
    margin: 10px 0;
    background-color: #edf1f5; }
  .menuIcon:hover {
    cursor: pointer; }
    .menuIcon:hover div:first-of-type {
      transform: translateX(5px); }
    .menuIcon:hover div:last-of-type {
      transform: translateX(5px); }
  .menuIcon.open div {
    margin: 5px 0;
    background-color: #edf1f5; }
    .menuIcon.open div:first-of-type {
      width: 20px;
      transform: translateX(22px) rotate(45deg); }
    .menuIcon.open div:last-of-type {
      width: 20px;
      transform: translateX(22px) rotate(-45deg); }
  .menuIcon.open:hover {
    transform: translateX(-5px); }
    .menuIcon.open:hover div {
      background-color: #6ca6c1; }

.nav {
  position: fixed;
  z-index: 998;
  top: 0;
  right: 0;
  width: 200px;
  height: 100vh;
  transform: translateX(100%);
  border-left: 1px solid #edf1f5;
  background-color: #343434; }
  .nav.open {
    display: block;
    transform: translateX(0%); }
    .nav.open .links {
      display: block;
      opacity: 1; }
  .nav .links {
    position: absolute;
    top: 10%;
    left: 20%;
    opacity: 0; }
    .nav .links a {
      font-size: 26px;
      position: relative;
      display: block;
      margin: 20px 0;
      text-decoration: none;
      color: #edf1f5; }
      .nav .links a:hover:after {
        position: absolute;
        top: 52%;
        left: 0;
        width: 100%;
        height: 4px;
        content: ' ';
        animation: slideLeft .3s linear;
        background: #6ca6c1; }

#particles {
  position: fixed;
  z-index: -1;
  width: 100vw;
  height: 100vh;
  background-color: #343434; }

main {
  position: absolute;
  top: 50px;
  left: 50%;
  width: calc(100vw - 260px);
  max-width: 775px;
  transform: translateX(-50%);
  overflow: hidden; }

.card {
  width: 100%;
  margin: 0 0 50px;
  padding: 20px 15px;
  border: 1px solid #edf1f5;
  background-color: #edf1f5;
  box-shadow: 0 0 10px 7px rgba(255, 255, 255, 0.09);
  box-sizing: border-box; }

#bio .imageContainer {
  position: relative;
  display: inline-block;
  width: 160px;
  height: 160px; }
  #bio .imageContainer .avatar {
    width: 95%;
    height: 95%;
    border-radius: 50%; }
#bio .bioInfo {
  position: relative;
  display: inline-block;
  width: calc(100% - 220px);
  height: 170px;
  margin-left: 20px;
  vertical-align: top; }
  #bio .bioInfo p {
    font-style: italic;
    margin: 5px 0 10px; }
  #bio .bioInfo ul.skills {
    position: absolute;
    bottom: 0;
    left: 0; }
    #bio .bioInfo ul.skills li {
      margin-top: 10px; }
      #bio .bioInfo ul.skills li b {
        font-weight: 400; }
#bio .links {
  display: flex;
  margin-top: 30px;
  justify-content: space-around; }
  #bio .links a {
    font-weight: 300;
    text-decoration: none; }
    #bio .links a:hover {
      text-decoration: underline; }

#about h1 {
  text-align: center; }
#about .aboutSection {
  position: relative;
  margin: 15px 0 30px; }
  #about .aboutSection:last-of-type {
    margin-bottom: 0; }
  #about .aboutSection span {
    display: inline-block;
    width: 50px;
    height: 100%;
    margin-top: 2px;
    vertical-align: top; }
    #about .aboutSection span i {
      width: 35px;
      text-align: center; }
  #about .aboutSection > div {
    display: inline-block;
    width: calc(100% - 70px); }
    #about .aboutSection > div h2 {
      margin-bottom: 20px; }
    #about .aboutSection > div p {
      line-height: 20px;
      margin-bottom: 10px; }
  #about .aboutSection .job {
    margin-bottom: 30px; }
    #about .aboutSection .job small {
      display: block;
      margin: 5px 0 13px; }
    #about .aboutSection .job li {
      margin-bottom: 5px;
      margin-left: 20px;
      list-style-type: circle; }
  #about .aboutSection .school {
    margin: 10px 0; }

#portfolio {
  padding-bottom: 0; }
  #portfolio h1 {
    text-align: center; }
  #portfolio #carousel {
    width: 80%;
    margin: 20px auto 0;
    padding: 2% 0 4%;
    perspective: 975px; }
  #portfolio #spinner {
    height: 500px;
    transition: 1s;
    transform-origin: 50% 50% -432px;
    transform-style: preserve-3d; }
    #portfolio #spinner .project {
      position: absolute;
      width: 100%;
      height: 475px;
      transform-origin: 50% 50% -432px;
      background-color: #edf1f5; }
      #portfolio #spinner .project:nth-child(1) {
        transform: rotateY(0deg); }
      #portfolio #spinner .project:nth-child(2) {
        transform: rotateY(-72deg); }
      #portfolio #spinner .project:nth-child(3) {
        transform: rotateY(-144deg); }
      #portfolio #spinner .project:nth-child(4) {
        transform: rotateY(-216deg); }
      #portfolio #spinner .project:nth-child(5) {
        transform: rotateY(-288deg); }
      #portfolio #spinner .project img {
        display: block;
        width: 100%;
        height: 275px;
        margin: 0 auto; }
      #portfolio #spinner .project .desciption {
        margin: 15px; }
        #portfolio #spinner .project .desciption small {
          display: block;
          margin: 5px 0 12px 0; }
        #portfolio #spinner .project .desciption p {
          line-height: 20px;
          margin-bottom: 10px; }
        #portfolio #spinner .project .desciption button {
          font-size: 12px;
          padding: 3px 6px;
          border: 1px solid #343434;
          border-radius: 0;
          background: none; }
          #portfolio #spinner .project .desciption button:hover {
            cursor: pointer;
            color: #edf1f5;
            background-color: #343434; }
  #portfolio span {
    font-size: 34px;
    position: relative;
    display: inline-block;
    margin: 5% 0;
    margin-top: -43%;
    color: #343434;
    padding: 14px 7px;
    border-bottom: none;
    transition: .5s; }
    #portfolio span:hover {
      cursor: pointer;
      opacity: .5; }

#recommendations {
  position: relative;
  height: 300px; }
  #recommendations h1 {
    text-align: center; }
  #recommendations .recommendation {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    transform: translate(-50%, -45%);
    opacity: 0;
    z-index: 0; }
    #recommendations .recommendation:nth-of-type(1) {
      opacity: 1;
      z-index: 9999; }
    #recommendations .recommendation q {
      line-height: 22px;
      display: block;
      margin-bottom: 15px; }
    #recommendations .recommendation p {
      float: right;
      margin-right: 10px;
      text-align: right; }
  #recommendations span {
    font-size: 34px;
    position: relative;
    display: inline-block;
    margin: 11% 0;
    color: #343434;
    padding: 14px 7px;
    border-bottom: none;
    transition: .5s; }
    #recommendations span:hover {
      cursor: pointer;
      opacity: .5; }

footer {
  display: inline-block;
  margin: 0 auto;
  padding: 10px 25% 30px;
  color: #edf1f5; }
  footer .footer-year {
    color: #fff; }

@media screen and (max-width: 1000px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: calc(100vw - 80px);
    height: 55px;
    padding: 15px 40px;
    background-color: #343434;
    box-shadow: 2px 0 2px #edf1f5; }
    header .logo {
      height: 60px; }

  .nav {
    top: 50px; }

  main {
    width: 100vw;
    max-width: 100vw;
    margin-top: 100px; }
    main .card {
      width: 95%;
      margin: 0 auto 40px; }

  #portfolio #spinner {
    margin: 0 auto;
    transform-origin: 50% 50% -290px; }
    #portfolio #spinner .project {
      width: 95%;
      height: 475px;
      transform-origin: 50% 50% -290px; } }
@media screen and (max-width: 815px) {
  #bio .imageContainer {
    display: block;
    width: 140px;
    height: 140px;
    margin: 0 auto 10px; }
  #bio .bioInfo {
    display: block;
    width: 100%;
    margin: 0 auto;
    text-align: center; }
  #bio ul.skills {
    width: 100%; }
  #bio .links {
    padding-top: 10px;
    border-top: 1px solid #d5d4d4;
    flex-wrap: wrap; }
    #bio .links a {
      margin: 0 10px 6px; }

  #portfolio #spinner {
    width: 400px; }
    #portfolio #spinner .project {
      width: 400px; }
      #portfolio #spinner .project img {
        height: 180px; }
      #portfolio #spinner .project p {
        font-size: 12px; }
  #portfolio span {
    margin-top: -55%; }

  #recommendations .recommendation p {
    font-size: 14px; }

  #recommendations .recommendation q {
    font-size: 14px; }

  #recommendations span {
    font-size: 22px;
    margin-top: 23%; }

  footer {
    display: block;
    width: 260px;
    margin: 0 auto 30px; } }
@media screen and (max-width: 520px) {
  #bio .bioInfo h2,
  #bio .bioInfo li {
    font-size: 12px; }
  #bio .links a {
    font-size: 12px; }

  #portfolio #spinner {
    width: 250px;
    padding-bottom: 140px;
    transform-origin: 50% 30% -175px; }
    #portfolio #spinner .project .desciption button {
      background: #fff; }

  #portfolio #spinner .project {
    width: 250px;
    transform-origin: 50% 30% -175px; }

  #portfolio span {
    margin-top: -100%;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    padding: 14px 7px;
    font-size: 22px; }

  #recommendations {
    height: 425px;
    padding: 20px 2px; }

  #recommendations .recommendation p {
    font-size: 12px; }

  #recommendations .recommendation q {
    font-size: 12px; }

  #recommendations span {
    margin-top: 45%; }

  #recommendations h1 {
    font-size: 16px; } }

/*# sourceMappingURL=style.css.map */
