* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html{
  scroll-behavior: smooth;
}
::-webkit-scrollbar {
  width: 10px;
}
/* Track */
::-webkit-scrollbar-track {
  background: var(--main-color);
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--nav-color);
  border-radius: 5px;
}

:root {
  --nav-color: #222831;
  --p-color: #ececec;
  --a-color: #717568;
  --active-hover-color: #fff;
  --main-color: #151515;
  --text-color: #ececec;
}
body {
  background: var(--main-color);
  overflow-x: hidden;
}
.dot {
  border-radius: 50%;
  position: absolute;
  opacity: 0.1;
  animation: pulse-white 2s infinite;
  pointer-events: none;
  z-index: 11111111;
}

@keyframes pulse-white {
  0% {
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(236, 236, 236, 0.7);
    -moz-box-shadow:  0 0 0 0 rgba(236, 236, 236, 0.7);
    box-shadow: 0 0 0 0 rgba(236, 236, 236, 0.7);
  }

  70% {
    transform: scale(1);
    -webkit-box-shadow: 0 0 0 0 rgba(236, 236, 236, 0.7);
    -moz-box-shadow:  0 0 0 0 rgba(236, 236, 236, 0.7);
    box-shadow: 0 0 0 10px rgba(236, 236, 236, 0);
  }

  100% {
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(236, 236, 236, 0.7);
    -moz-box-shadow:  0 0 0 0 rgba(236, 236, 236, 0.7);
    box-shadow: 0 0 0 0 rgba(236, 236, 236, 0);
  }
}
/* Main */
main {
  display: flex;
  flex-direction: row;
  font-family: monospace;
  width: 100%;
}
/* Navigation */
.burger-menu{
  display: none;
  position: fixed;
  z-index: 100;
  width: 100%;
  background: var(--nav-color);
  height: 50px;
  overflow: hidden;
  transition: 0.3s all ease;
}
.burger-menu a{
  color: var(--a-color);
  transition: 0.3s all ease;
}
.burger-menu a:hover{
  color: var(--active-hover-color);
}
.burger-in{
  display: flex;
  justify-content: flex-end;
  padding: 10px;
  font-size: 25px;
}
.secondary-nav{
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.secondary-nav-link{
  display: flex;
  margin-top: 10px;
  justify-content:  flex-start;
  width: 120px;
}
.secondary-nav-link h2{
  padding: 0px 22px;
}
.secondary-nav a{
  text-decoration: none;
}
.burger{
  cursor: pointer;
  color: var(--a-color);
}
/* Main Nav */
nav {
  position: fixed;
  width: 60px;
  height: 100vh;
  background: var(--nav-color);
  display: flex;
  z-index: 1111;
  flex-direction: column;
  align-items: flex-start;
  transition: 0.3s all ease;
  overflow: hidden;
}
nav:hover {
  width: 176px;
}
.nav-link {
  font-size: 20px;
  margin: 16px 0px 0px 16px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100px;
  transition: 0.3s all ease;
}
nav:hover .nav-link {
  width: 160px;
}
.nav-link a {
  text-decoration: none;
  color: var(--a-color);
  transition: 0.3s all ease;
}
.nav-link:hover .nav-item {
  color: var(--active-hover-color) !important;
}
.nav-link h2 {
  font-size: 22px;
  margin-right: 8px;
  margin-left: 150px;
}
nav:hover .nav-link h2 {
  margin-left: 0px;
}
.cv{
  padding-left: 2px;
}
/* Active class */
.active {
  color: var(--active-hover-color) !important;
}
.label {
  display: flex;
  justify-content: flex-start;
  width: 75%;
}

/* Container */
.container {
  width: 100%;
  background: var(--main-color);
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.container-in {
  width: 80%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* General CSS for every section */
.intro {
  width: 70%;
  height: auto;
}
.intro-post h3 {
  font-size: 40px;
  color: var(--text-color);
}
.intro-post h4 {
  font-size: 30px;
  color: var(--text-color);
}
.title {
  margin-top: 20px;
  margin-bottom: 10px;
  text-align: center;
}
.intro-inner-post {
  padding: 20px;
  font-size: 20px;
  color: var(--text-color);
}
.intro-inner-post-education p {
  margin-top: 15px;
}
.intro-inner-post-education p:first-child {
  margin-top: 0px;
}
.intro-inner-post-activities p {
  margin-top: 15px;
}
.intro-inner-post-activities p:first-child {
  margin-top: 0px;
}
.opacityAbout{
  transition: 1.5s;
  opacity: 0;
}
.opacityWork{
  transition: 1s;
  opacity: 0;
}
.transp{
  transition: 1s;
  opacity: 0;
}
/* Home section */
#home{
  margin-bottom: 70px;
}
.home-post{
  text-align: center;
}
.home-post h2{
  font-size: 50px;
  color: var(--text-color);
}
#home h3{
  font-size: 30px;
  color: var(--text-color);
}
.name {
  overflow: hidden;
  margin: 25% 0%;
  transform: translateY(-50%);
}
.type {
  overflow: hidden;
  white-space: nowrap;
  animation: typing 2s steps(80, end);
  font-size: 30px;
  position: relative;
}
.type h1{
  font-size: 70px;
  color: var(--text-color);
  animation: glitch 1000ms infinite;
}
.type span{
  color: var(--text-color);
  font-size: 70px;
  z-index: 100;
  position: absolute;
}
.span1{
  animation: glitch 950ms infinite;
  clip-path: polygon(0 0, 100% 0, 100% 30%, 0 30%);
  transform: translate(-0.125%, -0.15%);
  opacity: 0.8;
}
.span2{
  animation: glitch 775ms infinite;
  clip-path: polygon(0 60%, 100% 60%, 100% 100%, 0 100%);
  transform: translate(0.125%, 0.15%);
  opacity: 0.8;
}
@keyframes glitch {
  0% {
    text-shadow: 1px 1px 0px rgba(255,0,0,0.7), 1px 0px 0px rgba(0,0,255,0.4), 0.7px 0.7px 1px rgba(0,255,0,0.7);
  }
  20% {
    text-shadow: 1px 2px 1px rgba(255,0,0,0.7), -3px -2px -1px rgba(0,0,255,0.4), 1px 2px 1px rgba(0,255,0,0.7);
  }

  50% {
    text-shadow: 2px 1px rgba(255,0,0,0.7), -2px 2px rgba(0,0,255,0.4), 1px -1px 1px rgba(0,255,0,0.7);
  }
  60%{
    text-shadow: 1px 3px rgba(255,0,0,0.7), -2px 0px rgba(0,0,255,0.4), 0.7px 0.7px rgba(0,255,0,0.7);
  }

  100% {
    text-shadow: 2px 1px rgba(255,0,0,0.7), -2px 2px rgba(0,0,255,0.4), 1px -1px 1px rgba(0,255,0,0.7);
  }
}
.welcome{
  margin: 25% 0%;
  transform: translateY(-50%);
}
@keyframes typing {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
#generated-txt{
  font-size: 60px;
  color: var(--text-color);
  animation: rainbowColor 3.5s linear infinite;
}

@keyframes rainbowColor{
  100%,0%{
    color: rgb(255,0,0);
  }
  8%{
    color: rgb(255,127,0);
  }
  16%{
    color: rgb(255,255,0);
  }
  25%{
    color: rgb(127,255,0);
  }
  33%{
    color: rgb(0,255,0);
  }
  41%{
    color: rgb(0,255,127);
  }
  50%{
    color: rgb(0,255,255);
  }
  58%{
    color: rgb(0,127,255);
  }
  66%{
    color: rgb(0,0,255);
  }
  75%{
    color: rgb(127,0,255);
  }
  83%{
    color: rgb(255,0,255);
  }
  91%{
    color: rgb(255,0,127);
  }
}
/* ABOUT SECTION */
#about{
  width: 70%;
  text-align: justify;
  margin-top: 25%;
  margin-bottom: 25%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
}
#about h3{
  text-align: center;
}
#about p {
  margin-top: 15px;
  font-size: 20px;
  color: var(--text-color);
}
#about p:first-child {
  margin-top: 0px;
}
/* WORK Section */
#work{
  text-align: center;
  margin-top: 90%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
}
#workin{
  width: 90%;
  display: flex;
  flex-direction: column;
  align-items: center;

}
.work-posts{
  width: 80%;
  height: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.work-postin{
  margin-top: 70px;
  width: 100%;
  filter: grayscale(40%);
  height: auto;
  position: relative;
  overflow: hidden;
  transition: 0.3s;
  overflow: hidden;
}
.work-postin:hover{
  filter: grayscale(0%);
}
.work-img{
  transition: 0.5s all ease;
}
.work-technologies{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  padding-top: 20px;
  width: 100%;
}
.work-label{
  position: absolute;
  bottom: 0;
  font-size: 20px;
  transform: translateX(-100%) rotate(90deg);
  color: var(--p-color);
  transition: 0.7s all ease;
  width: 100%;
  height: 80%;
  z-index: 10;
}
.work-description{
  top: 0;
  color: var(--p-color);
  position: absolute;
  right: 0;
  font-size: 20px;
  transform: translateY(-100%);
  transition: 0.4s all ease;
  width: 100%;
  height: 20%;
  background: var(--nav-color);
}
.work-postin:hover .work-label{
  transform: translateX(0);
  background-color: rgba(34, 40, 49, 0.9);
}
.work-postin:hover .work-description{
  transform: translateY(0);
  background-color: rgba(34, 40, 49, 0.9);
}
.gif{
  margin-top: 20px;
  width: 300px;
  height: 250px;
  border: 0px;
}
.work-label{
  padding-top: 20px;
}
/* CV Section */
#cv{
  margin-top: -50%;
}
.download-p{
  margin-top: 10px;
}
.intro-inner-post-upload a{
  color: var(--text-color);
  transition: 0.3s;
}
.intro-inner-post-upload a:hover{
  color: var(--p-color);
}
/* CONTACT */
#contact{
  margin-top: 25%;
  padding-top: 50px;
  color: var(--text-color);
}
#contactin{
  width: 80%;
  text-align: center;
}
#contact h2{
  padding-top: 10px;
  font-size: 25px;
}
#contact a{
  text-decoration: none;
  color: white;
}
.fa-linkedin{
  color: #0e76a8 ;
}