@import url("../fonts/stylesheet.css");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
:root {
  --primary-color: #020202;
  --secondary-color: #f1f1f1;
  --corner-margin: 1rem;
  --corner-size: 2px;
  --wrapper-frame-color: rgba(25, 25, 25);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: none;
}

ul {
  list-style: none;
}
ul li {
  list-style-type: none;
}

.viewport {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}

body {
  background: var(--primary-color);
  color: var(--secondary-color);
  font-family: "Montserrat";
  width: 100vw;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  overflow: hidden;
}

.cursor div {
  position: fixed;
  pointer-events: none;
  border-radius: 50%;
  top: 0;
  left: 0;
  z-index: 10;
}
@media (max-width: 800px) {
  .cursor div {
    display: none;
  }
}
.cursor .cursor-small {
  width: 30px;
  height: 30px;
  top: -15px;
  left: -15px;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cursor .cursor-small svg {
  position: absolute;
  width: 15px;
}
.cursor .cursor-small svg.arrow {
  opacity: 0;
  rotate: 135deg;
}
.cursor .cursor-small svg.cross {
  transform: rotate(45deg);
  opacity: 1;
}
.cursor .cursor-big {
  width: 30px;
  height: 30px;
  top: -15px;
  left: -15px;
  z-index: 999;
  border: 1px solid #f7f8fa;
  background: rgba(2, 2, 2, 0.6);
}

@keyframes scroll {
  0% {
    opacity: 0;
    top: 3px;
  }
  25% {
    opacity: 1;
    top: 3px;
  }
  50% {
    top: 15px;
    opacity: 1;
  }
  100% {
    top: 15px;
    opacity: 0;
  }
}
@keyframes scrollInvert {
  0% {
    opacity: 0;
    top: 15px;
  }
  25% {
    opacity: 1;
    top: 15px;
  }
  50% {
    top: 3px;
    opacity: 1;
  }
  100% {
    top: 3px;
    opacity: 0;
  }
}
.social {
  position: fixed;
  bottom: 0;
  right: 3rem;
  bottom: 1rem;
}
@media (max-width: 800px) {
  .social {
    right: auto;
    bottom: calc(4rem + var(--wrapper-margin));
    padding: 0 calc(var(--corner-margin) + 1rem);
    width: 100%;
  }
}
@media (max-width: 800px) {
  .social ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
}
.social ul li {
  text-align: end;
  font-weight: 600;
  font-size: 14px;
  margin: 10px 0;
}
@media (max-width: 800px) {
  .social ul li {
    display: inline-block;
    margin: 10px;
  }
}
.social ul li a {
  color: var(--secondary-color);
  text-decoration: none;
}
.social ul li:hover {
  opacity: 0.7;
}

.loading {
  font-family: "Evafiya";
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
}
.loading .title {
  display: block;
  color: rgba(255, 255, 255, 0.8);
  font-size: 52px;
  width: 230px;
}
.loading .website {
  font-size: 32px;
  color: rgba(255, 255, 255, 0.5);
  margin-left: 10px;
}

.page {
  visibility: hidden;
  opacity: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  overflow: hidden;
}
.page .container {
  font-family: "Evafiya";
  background: rgba(2, 2, 2, 0.8);
  padding: 2rem;
  height: 600px;
  width: calc(100% - 4rem);
  position: relative;
  border: 1px solid rgb(10, 10, 10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page .container header {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.page .container header .info .name {
  font-size: 48px;
  font-weight: 500;
}
.page .container header .info .occupation {
  font-size: 18px;
  font-weight: lighter;
}
.page .container header ul {
  padding: 0;
}
.page .container header ul li {
  color: rgba(255, 255, 255, 0.7);
  display: inline-block;
  margin-left: 1rem;
  font-size: 20px;
  position: relative;
  transition: color 0.2s ease-in-out;
}
.page .container header ul li:hover {
  color: rgb(255, 255, 255);
}
.page .container header ul li.active::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  top: 0;
  bottom: 0;
  left: -12px;
  margin: auto;
}
.page .container .projects {
  margin-top: 2rem;
  height: 430px;
  overflow: hidden;
  width: 100%;
}
.page .container .projects ul {
  height: 100%;
  flex-wrap: nowrap;
  display: flex;
  align-items: center;
  transform: translateX(0px);
}
.page .container .projects ul li {
  margin: 0 0.5rem;
}
.page .container .projects ul li a {
  color: white;
}
.page .container .projects ul li:first-child {
  margin: 0 0.5rem 0 0;
  padding-left: 15%;
}
.page .container .projects ul li:last-child {
  margin: 0 0 0 0.5rem;
  padding-right: 15%;
}
.page .container .projects ul li.label {
  display: flex;
  flex-direction: column-reverse;
  text-align: end;
  justify-content: center;
  line-height: 28px;
}
.page .container .projects ul li.label .title {
  font-size: 42px;
}
.page .container .projects ul li.label .year {
  font-size: 38px;
}
.page .container .projects ul li.project {
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
}
.page .container .projects ul li.project .project-placeholder {
  transition: opacity 0.2s ease-in-out;
  width: 600px;
  min-height: 300px;
  height: -moz-fit-content;
  height: fit-content;
}
.page .container .projects ul li.project .project-placeholder img {
  width: 100%;
  height: auto;
}
.page .container .projects ul li.project .project-placeholder.blue {
  background: rgb(95, 95, 233);
}
.page .container .projects ul li.project .project-placeholder.green {
  background: rgb(124, 230, 124);
}
.page .container .projects ul li.project .project-placeholder.purple {
  background: rgb(161, 90, 228);
}
.page .container .projects ul li.project .placeholder {
  transition: opacity 0.2s ease-in-out;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  text-align: end;
}
.page .container .projects ul li.project:hover .project-placeholder {
  opacity: 0.2;
}
.page .container .projects ul li.project:hover .placeholder {
  visibility: visible;
  opacity: 1;
  width: 100%;
}
.page .container .projects ul li.project:hover .placeholder .title {
  font-size: 42px;
}
.page .container .projects ul li.project:hover .placeholder .chips span {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 6px;
  border: 1px solid white;
}

.corners div {
  width: 15px;
  height: 15px;
  position: absolute;
  z-index: 3;
}
.corners div:first-child {
  left: var(--corner-margin);
  bottom: var(--corner-margin);
  border-bottom: var(--corner-size) solid var(--wrapper-frame-color);
  border-left: var(--corner-size) solid var(--wrapper-frame-color);
}
.corners div:nth-child(2) {
  right: var(--corner-margin);
  bottom: var(--corner-margin);
  border-bottom: var(--corner-size) solid var(--wrapper-frame-color);
  border-right: var(--corner-size) solid var(--wrapper-frame-color);
}
.corners div:nth-child(3) {
  right: var(--corner-margin);
  top: var(--corner-margin);
  border-right: var(--corner-size) solid var(--wrapper-frame-color);
  border-top: var(--corner-size) solid var(--wrapper-frame-color);
}
.corners div:nth-child(4) {
  left: var(--corner-margin);
  top: var(--corner-margin);
  border-top: var(--corner-size) solid var(--wrapper-frame-color);
  border-left: var(--corner-size) solid var(--wrapper-frame-color);
}/*# sourceMappingURL=styles.css.map */